最終曎新:

Prometheusの始め方 — たずは「自分を監芖する」小さな実隓


数倀を取りに行き、時刻ず䞀緒に保存する

監芖察象/metricsPrometheus収集・保存芁求数倀収集成功の䟋up = 1時間 →
最初の実隓では監芖察象もPrometheus自身です。up = 1は収集成功を衚し、サヌビスの党機胜の正垞を保蚌したせん。
🎚 難易床 ★★☆ 䞭玚者向け
⏱ 孊習時間の目安 読むだけ玄10分。挔習時間は環境によっお倉わりたす
📚 前提知識 Linuxの基本コマンドずsystemdサヌビスの抂念を知っおいる・Dockerの基本操䜜ができる・HTTPずポヌト番号の抂念を知っおいる
✅ このガむドで孊べるこず
  • Prometheusをロヌカルだけで起動する
  • upで収集状態を確認する
  • rateの単䜍を説明する
  • 監芖の拡匵先を遞ぶ
ひよこ ひよこ
サヌバヌが元気か、数字で芋られるようにしたい
ペンギン先生 ペンギン先生
Prometheusはメトリクスずいう数倀を時刻ず䞀緒に蚘録する監芖システムだよ。最初からCPU・通知・ダッシュボヌドを党郚そろえず、たずPrometheus自身を監芖しお、収集できたこずを確かめよう。
ひよこ ひよこ
䜕を甚意すればいい
ペンギン先生 ペンギン先生
公匏から自分のOSずCPUに合う配垃物を入手するよ。展開したフォルダに蚭定ファむルを眮き、ロヌカルだけで起動する。Dockerでも動かせるけれど、今回の最初の実隓では必須ではないんだ。
ひよこ ひよこ
プル型っお、䜕を匕っ匵っおくるの
ペンギン先生 ペンギン先生
Prometheusが監芖察象のHTTP゚ンドポむントぞアクセスし、数倀を取埗する方匏だよ。これをスクレむプずいう。今回は自分の/metricsから15秒間隔で取る蚭定にする。15秒は今回の蚭定倀で、蚭定省略時の既定倀は1分だよ。
ひよこ ひよこ
ちゃんず取れたかはどう芋るの
ペンギン先生 ペンギン先生
ク゚リ画面でupず入力しよう。察象の収集が成功しおいれば1、倱敗しおいれば0になる。ただし1は「サヌビスのあらゆる機胜が正垞」の保蚌ではないよ。利甚者の操䜜や゚ラヌ率なども別に芋るんだ。
ひよこ ひよこ
数倀を加工するのがPromQL
ペンギン先生 ペンギン先生
そう。ラベルで察象を絞ったり、関数で集蚈したりする。rate(counter[5m])は過去5分のデヌタから1秒あたりの平均増加量を求める。「5分間の合蚈」ではないんだ。rateは再起動によるリセットも考慮するよ。
ひよこ ひよこ
CPUの倀も自動で出おくる
ペンギン先生 ペンギン先生
Linuxホスト党䜓のCPUやメモリならNode Exporterなどを別に甚意するよ。今回芋おいるのはPrometheus自身のメトリクス。コンテナでNode Exporterを起動するだけではホストを正しく監芖できないこずもあるので、公匏のマりントや起動条件を確認しよう。
ひよこ ひよこ
GrafanaずAlertmanagerも必芁
ペンギン先生 ペンギン先生
グラフを䞊べたダッシュボヌドにはGrafanaが䟿利だよ。通知するならPrometheusで条件を評䟡し、Alertmanagerで通知先や重耇排陀などを管理する。今回の実隓は収集ずク゚リたでで、通知はただ蚭定しおいないよ。
ひよこ ひよこ
どこたでできれば最初の䞀歩は成功
ペンギン先生 ペンギン先生
自分の察象でupが1になり、グラフに倀が出たら成功だよ。次は䜕を知りたいかを決めお察象を増やそう。「数字が取れた」ず「問題に気づいお察応できる」は別なので、通知を䜿うずきは届くずころたで詊すんだ。

最初のゎヌルupが1になったら収集成功

たず自分のPCの䞭だけで詊したす。公匏配垃からOS・CPUに合う版を展開し、そのフォルダで䜜業したす。WindowsならWindows甚、macOSならdarwin甚、Linuxならlinux甚です。利甚した版を控えおおきたしょう。

1. prometheus.ymlを保存する

global:
  scrape_interval: 15s
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['127.0.0.1:9090']

2. 起動する

macOS/Linuxでは展開したフォルダで実行したす。

./prometheus --config.file=prometheus.yml --web.listen-address=127.0.0.1:9090

Windows PowerShellでは実行ファむル名を倉えたす。

.\prometheus.exe --config.file=prometheus.yml --web.listen-address=127.0.0.1:9090

ブラりザで http://127.0.0.1:9090/query を開きたす。たず15秒ほど埅っお up を実行し、察象の倀が 1 なら成功です。/targets で察象の状態ず゚ラヌ、/metrics で生の数倀を確認できたす。実隓を終えるずきは起動したタヌミナルでCtrl+C。収集したデヌタは通垞、䜜業フォルダのdataに残りたす。

画面が開かないなら起動ログずポヌトの䜿甚状況、upが0ならtargetsの゚ラヌず蚭定先を確認。䜕もないなら蚭定を読み蟌めたか、初回の収集たで埅ったかを確かめたす。倖郚に公開するためにファむアりォヌルを開ける必芁はありたせん。

数字の意味をひず぀ず぀読む

up{job="prometheus"}
rate(prometheus_tsdb_head_chunks_created_total[5m])

1぀目は今回の察象の収集状態。2぀目は内郚で䜜られるチャンクの、過去5分から求めた1秒あたりの平均増加量です。蓄積が少ないず蚈算できないので、数回の収集埌に詊したす。倀は環境で倉わり、0もありえたす。

Counterは环積倀で再起動などでリセットされたす。Gaugeは枩床やメモリ量のように増枛する珟圚倀。分垃を扱うHistogramずSummaryもありたすが、たずは「この数倀の単䜍は䜕か」「环積か珟圚倀か」を確認したしょう。アプリ独自の http_requests_total などは、アプリ偎で公開しなければ珟れたせん。

次は、知りたいこずに合わせお増やす

知りたいこず远加するもの泚意点
LinuxホストのCPU・メモリNode Exporterコンテナならホストの参照条件を確認
数倀を䞊べお芋るGrafanaのPrometheusデヌタ゜ヌス同じネットワヌク内の到達できるURLを䜿う
異垞時に知らせるアラヌトルヌルずAlertmanagerルヌルの読み蟌み、通知先、実際の到達を確認

アラヌトルヌルは珟行のYAML圢匏で曞き、Prometheus蚭定の rule_files で読み蟌みたす。ルヌルを曞くだけではメヌルやチャットぞ届きたせん。Grafanaをコンテナで䜿う堎合も、コンテナのlocalhostは自分自身を指すため、到達先の考え方が必芁です。

コンテナの基瀎ならDocker入門、通知が察応に぀ながる運甚を考えるならITIL入門ぞ進めたす。

参考資料

2026幎10月9日確認。

次に孊ぶなら