Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CIのモニタリングにstackdirver使ってみてる話
Search
int
January 15, 2019
Technology
0
150
CIのモニタリングにstackdirver使ってみてる話
GCPUG Tokyo Stackdriver Day January 2019 にてLTで発表した資料です。
まだMetricsのみなので頑張っていきたい
int
January 15, 2019
Tweet
Share
More Decks by int
See All by int
Terraformerのおはなし
int_tt
3
3.6k
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
310
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
1
340
ソースを読むプロセスの例
sat
PRO
8
3.2k
オープンソースでどこまでできる?フォーマル検証チャレンジ
msyksphinz
0
140
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.6k
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
9
3.8k
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
570
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
830
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
6
3.4k
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Writing Fast Ruby
sferik
629
62k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
A designer walks into a library…
pauljervisheath
209
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Six Lessons from altMBA
skipperchong
29
4k
Code Reviewing Like a Champion
maltzj
526
40k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Transcript
$*ͷϞχλϦϯάʹ TUBDLEJSWFSͬͯΈͯΔ GCPUG Tokyo Stackdriver Day January 2019 LT
XIPBNJ • ͍Μͱ !JOU@UU ◦ ৽ଔ̎ ΠϯϑϥΤϯδχΞ • ͬͯΔ͜ͱ ◦
ΦϯϓϨ͔ΒΫϥυ·Ͱ ◦ ͓ࣄͰΫϥυͱίϯςφपΓ ◦ ࠷ۙ044׆ಈ DPOUSJCVUJPO ঃʑʹग़དྷΔΑ͏ʹͳָ͖͍ͬͯͯ͠ • ͖! " # $ % & • 4UBDLESJWFSྺҰϲ݄ !ྺ͘Β͍
࣍ • Ϟνϕʔγϣϯ • 1SPNFUIFVTUPTUBDLESJWFSʹ͍ͭͯ • ͬͯΈͰͲ͏͔ͩͬͨ
Ϟνϕʔγϣϯ • ৽ن։ൃҊ݅ʹͯ($1Λར༻ • ,VCFSOFUFTར༻ (,& • $PODPVSTF$* 1JWPUBM ͷ$*Λར༻
◦ ͜Ε(,&্Ͱར༻ ◦ 13͝ͱͷࣗಈςετࣗಈσϓϩΠେ׆༂த • ͕ͬͭΓ͍ͬͯΔͷͰɺ$*͕͍ͱશͯͷ࡞ۀ͕͘ͳͬͯ͠·͏ ◦ ͪΌΜͱϞχλϦϯά͍ͨ͠ • ͔ͤͬ͘($1ͬͯΔͷͰTUBDLESJWFSͰϞχλϦϯάͰ͖Δͱ࠷ߴ
Ϟνϕʔγϣϯ • ཉ͍͠ใ ◦ ֤8PSLFSͷ.FUSJDT $16 .FNPSZ *0ͳͲ ▪ (,&ͷϞχλϦϯάΛ0/ʹ͢Δͱ͙͢ݟ͑Δ
࠷ߴʂʂʂʂ ◦ ֤8PSLFSͷίϯςφQJQFMJOFͷϝτϦΫε ▪ σϑΥϧτͩͱݟ͑ͳ͍
ConcourseMetrics • https://concourse-ci.org/metrics.html
ConcourseMetrics • https://concourse-ci.org/metrics.html
Stackdriver… • ͔ͤͬ͘4UBDLESJWFSͬͯΔͷʹ%BUBEPH/FX3FMJDΛ͏ͷʜ ◦ ҰͭͷαʔϏεͰϞχλϦϯάπʔϧ͕ࢄཚ͍͍ͯͯ͜͠ͱແ͍ • 1SPNFUIFVTݐͯΔͷԯ߷ ◦ ͳΔ͘.POJUPSJOHใͷूઌϑϧϚωʔδυ͕خ͍͠
1SPNFUIFVTUPTE • IUUQTHJUIVCDPN(PPHMF$MPVE1MBUGPSNLTTUBDLESJWFSUSFFNBTUFSQSPNFUIFVTUPTE • 1SPNFUIFVTͷFYQPSUFS͔ΒTUBDLESJWFSͷDVTUPNNFUSJDTͰѻ͑Δܗʹม ͯ͘͠ΕΔ • (,&্ͷGMVFOUEͷϝτϦΫε 1SPNFUIFVT ΛૹΔͨΊʹ෦Ͱར༻ͯ͠
͍Δ • ($&PS(,&্ͷΈಈ࡞ ެࣜΑΓ
͍ํ • ͜Μͳײ͡ͷZBNMΛॻ͍ͯTJEFDBSͰ͚ͯEFQMPZ͢Δ͚ͩ - name: prometheus-to-sd image: gcr.io/google-containers/prometheus-to-sd:v0.3.2 ports: -
name: profiler containerPort: 6060 command: - /monitor - --stackdriver-prefix=custom.googleapis.com - --source=concourse:http://localhost:9391 - --pod-id=$(POD_NAME) - --namespace-id=$(POD_NAMESPACE) env: - name: POD_NAME valueFrom: fieldRef: fieldPath: metadata.name - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace 1PE Web container prometheus-to-sd locahost:9391/metric stackdirver
͜Μͳײ͡ʹͳΔ # HELP concourse_builds_finished_total Total number of Concourse builds finished.
# TYPE concourse_builds_finished_total counter concourse_builds_finished_total 174
มͷఆٛ • AQSPNFUIFVT UFYUGPSNBUA͔ΒTUBDLESJWFSͷ֤छύϥϝʔλมҎԼͷ௨Γ • .FUJSD5ZQF ◦ $06/5&3͔ )*45(3".$6.6-"5*7& ◦
ͦΕҎ֎ ("6(& func extractMetricKind(mType dto.MetricType) string { if mType == dto.MetricType_COUNTER || mType == dto.MetricType_HISTOGRAM { return "CUMULATIVE" } return "GAUGE" } https://github.com/GoogleCloudPlatform/k8s-stackdriver/blob/3d2aa1aacdd55c78cb2bfb74799ecf9d17fa0801/prometheus-to-sd/translator/translator.go#L379-L384
มͷఆٛ • 7BMVF5ZQF ◦ ͢ͰʹDVTUPN.FUSJDT͕ఆٛ͞Ε͍ͯΔ߹ఆٛ͞Ε͍ͯΔํʹै͏ ◦ .FUSJDT5ZQF͕)*450(3"%*453*#65*0/ ◦ ͦΕҎ֎ */5
func extractValueType(mType dto.MetricType, originalDescriptor *v3.MetricDescriptor) string { if originalDescriptor != nil { return originalDescriptor.ValueType } if mType == dto.MetricType_HISTOGRAM { return "DISTRIBUTION" } return "INT64" } https://github.com/GoogleCloudPlatform/k8s-stackdriver/blob/3d2aa1aacdd55c78cb2bfb74799ecf9d17fa0801/prometheus-to-sd/translator/translator.go#L386-L397
͏গ͠ৄ͘͠ • IUUQJOUUUIBUFOBCMPHKQFOUSZ • ίίʹॻ͖·ͨ͠
ͬͯΈͯ • ࠓͷͱ͜Ζಛʹͳ͍͑ͯ͘Δ • ެ͕ࣜDPOWFSUFSΛ४උͯ͘͠ΕͯΔͷخ͍͠ • ($1ͰऔಘͰ͖ΔϝτϦΫεͱ$*ͷΞϓϦέʔγϣϯϝτϦΫεͷ͓͔͛Ͱ ͍͔ͭ͘ϘτϧωοΫΛՄࢹԽग़དྷͨɻ ◦ ಛఆͷQJQFMJOF͕ͬͯΔͱ͖ʹ(,&ͷOPEFʹͯEJTLͷ5ISPUUMF͕ൃੜ͍ͯ͠Δ͜ͱ͕໌
◦ IUUQTDMPVEHPPHMFDPNDPNQVUFEPDTEJTLTQFSGPSNBODF • $VTUPNNFUSJDT༗ྉͳͷͰ͓ஈʹҙ • ͏ͪΐͬͱӡ༻ͨ͠ΓɺଞTUBDLESJWFSͷαʔϏεͱ࿈ܞͯͬ͠ͱ৭Μ ͳใΛूΊͯΈ͍ͨɻ