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
Prometheus / Grafana ハンズオン
Search
NearMeの技術発表資料です
PRO
October 13, 2023
0
240
Prometheus / Grafana ハンズオン
NearMeの技術発表資料です
PRO
October 13, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
ビームサーチ
nearme_tech
PRO
0
17
WASM入門
nearme_tech
PRO
0
17
ESLintをもっと有効活用しよう
nearme_tech
PRO
0
17
リファクタリングのための第一歩
nearme_tech
PRO
0
54
ガウス過程回帰とベイズ最適化
nearme_tech
PRO
1
130
確率的プログラミング入門
nearme_tech
PRO
2
99
Observability and OpenTelemetry
nearme_tech
PRO
2
42
観察研究における因果推論
nearme_tech
PRO
1
130
React
nearme_tech
PRO
2
50
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1367
200k
Done Done
chrislema
182
16k
Unsuck your backbone
ammeep
669
57k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
BBQ
matthewcrist
85
9.4k
RailsConf 2023
tenderlove
29
980
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
3k
Thoughts on Productivity
jonyablonski
68
4.4k
Building Adaptive Systems
keathley
39
2.4k
Bash Introduction
62gerente
610
210k
Music & Morning Musume
bryan
46
6.3k
Transcript
0 Prometheus / Grafana ハンズオン 2023-10-13 第64回NearMe技術勉強会 Takuma Kakinoue
1 Prometheusとは 「Cloud Native Computing FoundationのプロジェクトであるPrometheusは、システムお よびサービス監視システムです。設定されたターゲットから所定の間隔でメトリクスを収 集し、ルール式を評価し、結果を表⽰し、指定された条件が観察されたときにアラートを トリガーすることができます。」 ※
出典: https://github.com/prometheus/prometheus • 設定されたターゲット = APIサーバーやWebサーバーなど • メトリクス = アクセス回数,エラー回数,応答時間など • ルール式 = 「毎分のエラー回数がn回を超過したら」など • アラートは,slackやメールなどに送信することが可能
2 Grafanaとは https://github.com/grafana/grafana 監視およびビジュアライズのためのOSSプラットフォーム Prometheus同様,dockerイメージをpullするだけで簡単に使える Prometheusで監視対象から取得した モニタリング指標をGrafanaで可視化する
3 今回のハンズオンの到達⽬標 • 簡単なhttpサーバーに対して、アクセス回数およびエラー回数を Prometheus + Grafanaを⽤いて監視する • プログラムからPushした適当なメトリクスをビジュアライズする
4 ハンズオンで使う監視システムの構成 prometheus port : 9090 grafana port : 3000
push gateway port : 9091 my-server http port : 8080 metric port : 8000 job.py ※ PrometheusはPull型の監視システ ムなので、cronJobの様なサーバー機 能を持たないシステムの監視は push-gatewayを介して行う PromQL metrics Push metrics metrics metrics 背景が黄色のものが監視対象 request request
5 ハンズオン⼿順1 https://github.com/kakky-hacker/sandbox/tree/main/prometheus_sample README.mdの”Run servers”までを順に実⾏する。 ↓ ブラウザから http://localhost:9090/targets にアクセス
6 ハンズオン⼿順2 ブラウザから http://localhost:3000 にアクセス ↓ username: admin,password: adminでログイン ↓
Home > connectionsからPrometheus検索 ↓ 右上の”Add new data source”をクリック
7 ハンズオン⼿順3 Nameを適当な名前に設定 ↓ Prometheus server URLを http://host.docker.internal:9090 に設定 ↓
“Save & test”をクリック
8 ハンズオン⼿順4 Home > Dashboards > NewDashboardへと進む ↓ “Add Visualization”から作成したdata
sourceを選択し,dashboardを作成 ↓ QueryタブのMetricから指標を選び “Run queries”をクリック ↓ curlでリクエストを送信して, グラフの変化を確認する (リクエストの例はREADME参照)
9 ハンズオン⼿順5 job.pyを実⾏する ↓ メトリクス “job_random_number” を選択 ↓ id毎にグラフが描画される(計2つ) ↓
Transformタブから左上の”Add”を選択 ↓ 全てのidの和のグラフも描画される
10 次回予告 • PrometheusのAlertManagerを使ってみる • PromQLを理解する
11 Thank you