a stray sheep

お仕事周りの雑記帳

Prometheusをとりあえず動かすまで

概要

Prometheusを初めて触るので、まずは動かしてみる

  • Prometheusをインストールして、Prometheus Web UIにアクセスする
  • Linuxのサーバをnode_exporterで監視する
  • 環境には、Vagrantを使う

環境

  • 作業マシンはノートPC(Windows 10 Home)
  • Vagrant 2.2.5 + VirtualBox 5.2.8
  • VM1:Prometheus本体、CentOS7.7、Private NW: 192.168.33.10
    • prometheus 2.16.0
  • VM2:監視対象サーバ、CentOS7.7、Private NW: 192.168.33.11
    • node_exporter 0.18.1

Vagrantの基本操作

> vagrant init centos/7     // VMの作成
> vagrant up   // 起動
> vagrant ssh   // SSH接続
> vagrant halt   // 停止
> vagrant reload   // 設定ファイルの再読み込み

VM1(Prometheus本体)の作成

Vagrantfile

// ホストの9090ポートを、Vagrantゲストの9090ポートに転送
config.vm.network "forwarded_port", guest: 9090, host:9090
// プライベートアドレスを付与して、Vagrant内の他のVMと通信させる
config.vm.network "private_network", ip: "192.168.33.10"

Prometheusのインストール

VM1にPrometheusをインストールして、動かす

$ sudo yum install -y wget
$ wget https://github.com/prometheus/prometheus/releases/download/v2.16.0/prometheus-2.16.0.linux-amd64.tar.gz
$ tar xvf prometheus-2.16.0.linux-amd64.tar.gz
$ cd prometheus-2.16.0.linux-amd64
$ ./prometheus

ホスト上でhttp://localhost:9090に接続。Prometheus Web UIが表示された。

f:id:belial6:20200217003527p:plain

VM2(監視対象サーバ)の作成

Vagrantfile

// node_exporterの9100ポートを転送
config.vm.network "forwarded_port", guest: 9100, host:9100
// プライベートアドレスを付与して、Vagrant内の他のVMと通信させる
config.vm.network "private_network", ip: "192.168.33.11"

node_exporterのインストール

VM2にnode_exporterをインストールして、動かす

$ sudo yum install -y wget
$ wget http://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
$ tar xvf node_exporter-0.18.1.linux-amd64.tar.gz
$ cd node_exporter-0.18.1.linux-amd64
$ ./node_exporter
...
INFO[0000] Listening on :9100           source="node_exporter.go:170"

ホスト上でhttp://localhost:9100/metrics に接続(画像は一部)

f:id:belial6:20200217004706p:plain

Prometheus本体から、VM2のnode_exporterを監視する

ここは、次の章の「VM2(監視対象サーバの作成)」を実施してからやる。

prometheus.ymlの一番下の部分を以下のように編集して、prometheusを再起動

  - job_name: 'prometheus'
    static_configs:
    - targets:
       - 'localhost:9090'
       - '192.168.33.11:9100'   

[Status]→[Targets]を選択して、監視対象を確認する

  • 1つ目は、VM2の監視対象サーバ
  • 2つ目は、prometheus自分自身

f:id:belial6:20200217010301p:plain