Prometheus 監視で変わるもの
by
sugitak
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Prometheus 監視で 変わるもの qiita:sugitak
Slide 2
Slide 2 text
qiita:sugitak です ● 元・ネットワーク系 ○ Cisco ○ 無線構築 ● 自称デプロイ屋 ○ bundler, capistrano, … ● 監視も古典系出身 ○ Nagios + Cacti から開始 ○ munin, growthforecast, … ○ Zabbix ○ mackerel
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Prometheus とは? ● 次世代監視ソフトウェア ● 自前で建てる監視サーバのOSS ● Google の Borgmon をベースにしている ● 現在も活発に実装中
Slide 5
Slide 5 text
Prometheus 監視は素晴らしい
Slide 6
Slide 6 text
Prometheus 監視は素晴らしい …本当に?
Slide 7
Slide 7 text
銀の弾丸などない
Slide 8
Slide 8 text
prometheus の発展途上なところ ● 若さ ○ コミュニティ資産足りない ○ ドキュメント足りない ● 作り込みのたいへんさ ○ グラフのためのクエリいじり。楽しいけど結構大変 ○ あんまりたくさんグラフ作ると苦労する ● 点の数に応じてクエリが遅くなる ○ 多ホスト・長期間のグラフをたくさん並べた状態で見るのは厳しい ○ 次元の呪い… ● コンポーネントが分かれているゆえの苦労も ○ コンポーネント間で設定がうまくいっているかの確認がが ● ダウンサンプリングしてくれない ○ これは将来マジで入れて欲しい
Slide 9
Slide 9 text
使っていくうちに、考えが変わった むしろ、 prometheus に合わせて 考え方を変えていく必要があった
Slide 10
Slide 10 text
変化ポイント1 どういう情報を収集するか
Slide 11
Slide 11 text
従来のデータの取り方 ● 見ないデータは取らない ○ 本当に必須のものは限られている ■ メモリ使用量 ■ CPU使用率 ■ ディスク容量 ■ ネットワークI/O ○ RRD けっこう容量食うし ○ snmp 経由だと無駄に CPU も食うし
Slide 12
Slide 12 text
https://www.datadoghq.com/blog/monitoring-101-collecting-data/
Slide 13
Slide 13 text
データは取れるだけ取っておく 可視化は必要になってから https://www.datadoghq.com/blog/monitoring-101-collecting-data/
Slide 14
Slide 14 text
prometheus の 情報収集 ● 初期状態で600メトリクス 以上取得してる ● sar, snmpwalk や dstat を 15 秒おきにとっている ようなもの ● 「次にエラーが起きたとき のために dstat 仕込んで おく」とかしなくてよくなっ た
Slide 15
Slide 15 text
変化ポイント2 監視ツールの利用方法
Slide 16
Slide 16 text
監視ツールの使い方は大きく分けて二つ ● いっつも見る (proactive) ○ 何か起きてないか確認するため ○ 全体的な傾向を確認するため ● ときどき見る (reactive) ○ アラートの原因調査のため ○ キャパシティプランニングのため
Slide 17
Slide 17 text
いつも見たいもの・そうでないもの ● 普段から見たいもの ○ 全体的な傾向 ■ 平均・最小メモリ使用量 ■ ディスク残量最小のホスト ■ CPU 使用状況 ■ 合計通信量 ■ アクセス増減傾向 ● 緊急時だけで十分なもの ○ 個別ホストごとの情報 ■ メモリ ■ CPU 使用率 ■ インターフェースごとの通信 ● pps, bps, エラーレート ○ 普段あまり問題にならない値 ■ I/O 命令数 ■ fork 数 ■ ソケットの使用状況 Prometheus で アドホックに クエリして確認 Grafana で 自サービス向けの ボードを作り込む 配布されてる 汎用テンプレートを使う
Slide 18
Slide 18 text
変化ポイント3 グラフの描き方
Slide 19
Slide 19 text
グラフでは、必ずインサイト(知見)が得られるようにする ● 知りたい目的があって、それが一目でわかるのがいいグラフ ○ 「見たいもの」が不鮮明なグラフはいらない ● 把握できる範囲のものだけ描く ○ グラフ数が多いことは、それだけで割れ窓 ○ たくさん線があっても何がなんだかわからない。線は 5本以内に減らす
Slide 20
Slide 20 text
例(1) 細かいデータいろいろ 他の人はこの値を 見ているらしい とりあえず監視して みよ
Slide 21
Slide 21 text
例(1) 細かいデータいろいろ 何のインサイトも 得られませんでしたァ 他の人はこの値を 見ているらしい とりあえず監視して みよ
Slide 22
Slide 22 text
例(2) メモリ使用量 メモリ使用量を全部出してみたよ メモリ使用量の最高と最低ホストだけ描い てみたよ マウスカーソルをかざすとどのホストかわ かるよ
Slide 23
Slide 23 text
例(2) メモリ使用量 メモリ使用量を全部出してみたよ メモリ使用量の最高と最低ホストだけ描い てみたよ マウスカーソルをかざすとどのホストかわ かるよ どっちもわかりやすいとは言えないけど 知りたい情報は右に全部入っている
Slide 24
Slide 24 text
グラフでは、必ずインサイト(知見)が得られるようにする ● 知りたい目的があって、それが一目でわかるのがいいグラフ ○ 「見たいもの」が不鮮明なグラフはいらない ● 把握できる範囲のものだけ描く ○ グラフ数が多いことは、それだけで割れ窓 ○ たくさん線があっても何がなんだかわからない。線は 5本以内に減らす
Slide 25
Slide 25 text
まとめ ● データはひたすら全部とる ● 普段使いのスクリーンだけ愛情込めてメンテする ○ 何の情報かわからないグラフは割れ窓。消す ○ 95% のデータは見られることもない。必要になってからアドホック確認で十分 ● グラフはインサイト(知見)を得られるものだけ作る ○ 「どういう状態を目で確認するためか」を考えてグラフを作る ○ 破天荒なグラフでも、わかればオッケー => Prometheus に限らず、監視で大事にしていきたい