Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Prometheusを始めよう / Introduction Prometheus ja

kameneko
September 25, 2019

Prometheusを始めよう / Introduction Prometheus ja

「Introduction Prometheus」の日本語・改訂版です。
https://speakerdeck.com/takumanakagame/introduction-prometheus

kameneko

September 25, 2019
Tweet

More Decks by kameneko

Other Decks in Technology

Transcript

  1. かめねこ Takuma Nakagame @kameneko1004 • SAKURA internet Inc. ◦ Cloud

    Service Provider • IT infrastructure engineer • Evangelist • LIKE ◦ Prometheus ◦ FreeNAS
  2. Dream Hack Monitoring with Prometheus • 10,000 computers • 500

    switches by PromCon 2016 Berlin https://promcon.io/2016-berlin/talks/monitoring-dreamhack-the-worlds-largest-digital-festival/
  3. Exporter 監視対象ごとにExporterが存在 • Server : Node Exporter • MySQL :

    MySQL Server Exporter • Nginx : NGINX Exporter • Apache : Apache Exporter • 他にもいっぱい! https://prometheus.io/docs/instrumenting/exporters/
  4. もう少し掘り下げると global: scrape_interval: 1m evaluation_interval: 15s scrape_timeout: 1m scrape_configs: -

    job_name: 'prometheus' static_configs: - targets: - 'localhost:9090' - 'localhost:9542'
  5. もう少し掘り下げると global: scrape_interval: 1m evaluation_interval: 15s scrape_timeout: 1m scrape_configs: -

    job_name: 'prometheus' static_configs: - targets: - 'localhost:9090' - 'localhost:9542' Prometheus全体の設定
  6. もう少し掘り下げると global: scrape_interval: 1m evaluation_interval: 15s scrape_timeout: 1m scrape_configs: -

    job_name: 'prometheus' static_configs: - targets: - 'localhost:9090' - 'localhost:9542' 監視ターゲットの追加設定 ← は静的に指定
  7. もう少し掘り下げると global: scrape_interval: 1m evaluation_interval: 15s scrape_timeout: 1m scrape_configs: -

    job_name: 'kubernetes_pods' kubernetes_sd_configs: - role: pod relabeling: - source_labels: [__meta_kubernetes_pod_name] target_label: pod_name - source_labels: [__meta_kubernetes_node_name] target_label: hostname
  8. もう少し掘り下げると global: scrape_interval: 1m evaluation_interval: 15s scrape_timeout: 1m scrape_configs: -

    job_name: 'kubernetes_pods' kubernetes_sd_configs: - role: pod relabeling: - source_labels: [__meta_kubernetes_pod_name] target_label: pod_name - source_labels: [__meta_kubernetes_node_name] target_label: hostname Kubernetesの場合は kubernetes_sd_configs を利用
  9. もう少し掘り下げると global: scrape_interval: 1m evaluation_interval: 15s scrape_timeout: 1m scrape_configs: -

    job_name: 'kubernetes_pods' kubernetes_sd_configs: - role: pod relabeling: - source_labels: [__meta_kubernetes_pod_name] target_label: pod_name - source_labels: [__meta_kubernetes_node_name] target_label: hostname relabelingで 任意のラベルを 生成・加工する
  10. Prometheusが苦手とすること • ログやイベント監視 ◦ Key (メトリクスとラベルの組み合わせ ) に対して Value (浮動小数点数)

    を持つデータモデル • 100%のメトリクスを要求すること ◦ 99.9%のメトリクス ◦ 課金システムなどは注意が必要 • ドキュメントの充実度 ◦ ドキュメントが少ない ◦ 日本語は「入門Prometheus」くらい
  11. Prometheusが苦手とすること • ログやイベント監視 ◦ Key (メトリクスとラベルの組み合わせ ) に対して Value (浮動小数点数)

    を持つデータモデル • 100%のメトリクス ◦ 課金システムなどは注意が必要 • ドキュメントの充実度 ◦ ドキュメントが本当に無い ◦ 日本語は「入門Prometheus」くらい