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
140
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.3k
Other Decks in Technology
See All in Technology
Babylon.jsと色々なものを組み合わせる:ブラウザのAPIやガジェットや2D描画ライブラリなど / Babylon.js 勉強会 vol.3
you
PRO
0
140
現代CSSフレームワークの内部実装とその仕組み
poteboy
8
3.7k
サーバー間 GraphQL と webmock-graphql の話 / server-to-server graphql and webmock-graphql
qsona
3
200
データベース02: データベースの概念
trycycle
0
170
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
2
270
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
16k
生成AIの変革の時代に、直近1年で直面した課題とその解決策
ktc_wada
0
480
チームでロジカルシンキングに改めて向き合っている話 〜学習環境と実践⽅法〜
sansantech
PRO
3
3.2k
エンジニア候補者向け資料2024.04.24.pdf
macloud
0
3.3k
本当のAWS基礎
toru_kubota
1
560
非同期推論システムによるコスト削減と信頼性向上
koki_nishihara
0
310
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
270
Featured
See All Featured
Infographics Made Easy
chrislema
238
18k
A Modern Web Designer's Workflow
chriscoyier
689
190k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
How to train your dragon (web standard)
notwaldorf
74
5.2k
Bash Introduction
62gerente
605
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
22
1.6k
Designing the Hi-DPI Web
ddemaree
276
33k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
The Language of Interfaces
destraynor
151
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
10
1k
Ruby is Unlike a Banana
tanoku
96
10k
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ͷαʔϏεͱ࿈ܞͯͬ͠ͱ৭Μ ͳใΛूΊͯΈ͍ͨɻ