@matsumana パート
自己紹介
Line 福岡
アジェンダ
- 実際にどういったメトリクスをとっているのか
- exporterをつくるときのベストプラクティス
- アラートルールの書き方
- まとめ
時間の都合上Prometheusの入門はやらない
使ってるバージョン
Prometheus 1.8
使っているメトリクス(exporter)
- apache_exporter
- plack_exporter(perl)
- jmx_exporter
- memcached
- mysql
- redis
- elasticsearch
fluentd
exporterについては他のひとが作ったものがないか確認する
- 監視ごとにexporterが存在する
- 公式のwikiを見る
- もしくはググる
- 機能がなかったらググる
- オフィシャルガイドラインを読む
- client library
exporter をつくるときのベストプラクティス
- Golangがよい
- Exporter は Go で書くのが楽だが、Linux Kernel 2.6.44 未満は Golang サポートされてないので注意
- CentOS5だと動かないかも
いくつか抜粋
- サーバーにいろんなexporterをインストール
- コードがかぶらないようにすること
- 誰でも編集できる
- exporterでメトリクス値を計算しない PromQLをつかう
Exporterのバージョン番号を確認すること
- exporterの数が増えるとどのバージョンがデプロイされているか分からなくなる
- prometheus_build_info
- xxx_upメトリクスをexportする
アラートルールの書き方の例
- exporterが落ちていないかどうか監視
exporterの監視対象が落ちていないか監視
node_exporter
- TextFile Collector機能が使える
dailyバッチが正常に動いているかどうかを監視する例
- バッチ
@kfdm パート
自己紹介
- LINE Fukuoka開発室
Prometheusの運用
アーキ
- 4 HA Pairs
- 80万くらいのメトリクス
7000くらいのexporter
HA
- AlertManagerがLINEとか飛ばす
- Targets Prometheus AlertManger LINE
- Scaling Prometheus Shard
- split targets across multiple servers
- alertmanager de-duplicates alerts
- proxy or remote read
- promgen
1.8 Storage Format
- one series per file
- rewrites may have to touch millions of files
- queries also may touch millions of files
- no easy way to backup
2.0 Storage Format
- chunks stores in buckets by time
- chunks past retention setting are just deleted
- easier to backup
- easier to compress
よくなった
2.0 flag changes
- most flags move from single dash to double dash
- many storage settings move to tsdb settings
- -config.file -> --config.file
-storage.local.path -> --storege.local.path
2.0 backup
2.0 rule format changes
- update rules
- YAML
- Migration
2.0 Migration
- Grafana
- remote read from 2.0 to 1.8
- Longterm storage
2.0 remote read
- prometheus 1.8(read)
- index db(read and write)
- Graphite(write)
- OpenTSDB(Write)
- timescaledb(read and write)
open metrics
- github RichiH/OpenMetrics
- contributers