昨日の朝、ぼーっとしてたらこんな記事があったので
Prometheusっていうモニタリングツールがあるのかぁと思って。
触ってみようかなと思ったのでした。
まずは動かす
Dockerで動くとあんまり何も考えなくていいなぁって思ってたら、ちゃんとあった( Installing | Prometheus )。(∩´∀`)∩ワーイ
docker run -p 9090:9090 prom/prometheus
で、9090にアクセスしたらとりあえず動いてる。
自分自身を監視してみる
さっきのは起動しただけで何も情報がないので、実際に監視してみるとどんな感じになるのか。サンプルとして自分自身を監視できるみたいなのでやってみよう。
Getting started を読みながらprometheus.ymlってファイルを作って
global: scrape_interval: 15s # By default, scrape targets every 15 seconds. # Attach these labels to any time series or alerts when communicating with # external systems (federation, remote storage, Alertmanager). external_labels: monitor: 'codelab-monitor' # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:9090']
その設定ファイルをDockerイメージに渡して起動
docker run -p 9090:9090 -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
なんか色々出てくるようになったので適当に選んでみる
なんかいい気分だ
grafanaにしてみる
このままじゃあんまりやる気出ないのでgrafanaにできるっぽいのでしてみよう。
ここを参考にした↓
Monitoring with Prometheus, Grafana & Docker Part 1 — finestructure
こんな感じでdocker-composeファイル作れば良さそうかな。
version: '2' services: prometheus: image: prom/prometheus volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml expose: - "9090" grafana: image: grafana/grafana ports: - "3000:3000"
で docker-compose up
して 3000 にアクセス。起動してた。
データソースをPrometheusにする必要があるっぽいので
こんな感じ。Nameは適当。Urlはcomposeファイルに書いたサービス名ね。
でダッシュボードを作るっぽい
Graphを選んで
最初はサンプルが表示されてるんだけど、パネルをクリックしてでてきたポップアップからEdit
メトリクスの部分でさっきのデータソース(ここでは My prometheus)を選んで、適当にクエリを書く
とグラフがでてきた。(∩´∀`)∩ワーイ
ちょこちょこ触ってみよっと。