prometheusを触る機会があり,自分の環境で使ってみました.
本記事は「"Prometheus Up & Running"(Brian Brazil, O'Raily Media, 978-1-492-03414-8, 日本語版「入門 Prometheus」 オライリー・ジャパン」を参考にしております.
Prometheusとは
正確には公式ホームページの方が詳しいと思うので概要だけでも紹介します.
Prometheusは,「オープンソースのメトリクスベースモニタリングシステム」.
と本には書いてありました.じゃあ,メトリクス,モニタリングって何?ってところから入りましょう.
メトリクスとは
メトリクスはイベントから出された様々な情報を,扱える大きさに削減するための方法の一つだそうです.
といっても,分かりにくそうなので,メトリクスが具体的にどういった情報を指すのかというと,HTTPリクエストを受け付けた回数,リクエストの処理に使った時間,現在処理中のリクエストの数などが挙げられます.この辺りは実際にprometheusを使って取得した方がわかりやすいと思います.
モニタリングとは
ここで,prometheusが行うモニタリングについて少し話しておきます.基本的には,アラート,デバッグ情報の提供,トレンド調査,修理のための部品提供を行なっています.こうした機能の詳細についてはまた後で書くつもりです.
Prometheusを触ってみよう
そろそろ読むのも飽きてきた頃だと思うので,実際にprometheusを触ってみましょう.
その前に環境
基本的にlinuxが推奨されてます.自分はmacユーザなのですが,今は便利な世の中なのでlimaっていうツールでlinux環境が簡単に用意できます.(この話も後日書こうと思ってます)
今回の記事ではlinuxを想定して書いていきます.
早速インストール
まず,インストールなのですが,これがかなり簡単です.
こちらのリンクからダウンロードできます.
おそらく拡張子が.tar.gzのファイルがダウンロードされるので,下記のコマンドで解凍し,そのディレクトリに移動します.
$ tar -xzf prometheus-*.linux-amd64.tar.gz
$ cd prometheus-*.linux-amd64/
そして,prometheus.ymlというファイルに下記の設定があることを確認します.
global:
scrape_interval: 10s
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- localhost:9090
実行してみよう
上の準備ができたら,./prometheusコマンドを実行するだけで自分のマシン上でprometheusを実行することができます.
$ ./prometheus
ts=2022-11-09T13:33:57.316Z caller=main.go:512 level=info msg="No time or size retention was set so using the default time retention" duration=15d
ts=2022-11-09T13:33:57.316Z caller=main.go:556 level=info msg="Starting Prometheus Server" mode=server version="(version=2.40.0, branch=HEAD, revision=c08d76b363f0d8052f3d2298df06b616af30900e)"
ts=2022-11-09T13:33:57.316Z caller=main.go:561 level=info build_context="(go=go1.19.3, user=root@79e0ee4d5b14, date=20221107-18:11:08)"
ts=2022-11-09T13:33:57.316Z caller=main.go:562 level=info host_details="(Linux 5.15.0-47-generic #51-Ubuntu SMP Thu Aug 11 07:51:15 UTC 2022 x86_64 lima-default (none))"
...
ちなみに,ここで立ち上げたのはPrometheus本体です.つまり,監視する側であり,監視される側については今後の記事で書きます.
確認するには,http://localhost:9090 にアクセスすることで確認できます.
以下のような画面が出てくれば,成功です.
まとめ
今回は,prometheusの導入から実行までやってみました.次回からは,実際のprometheusの使い方について書いていきたいと思います.