LoginSignup
1
3

More than 5 years have passed since last update.

sensu-pluginとInfluxDBとGrafanaで簡単Metrics監視

Posted at

sensu-pluginを使ってMetricsを取得しGrafanaで表示してみます。

環境

Ubuntu 14.04

(今回はsensu-server, sernsu-client, InfluxDB, Grafana全部1つのサーバでやってます)

InfluxDB

公式ドキュメントの通りにインストールしていきます。

$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
$ source /etc/lsb-release
$ echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
$ sudo apt-get update && sudo apt-get install influxdb
$ sudo service influxdb start

http://<サーバIP>/8083にアクセスするとInfluxDBのDashboardが表示される。

スクリーンショット 2016-07-24 16.00.27.png

Grafana

Grafanaを動かすためにはNginxが必要なのでインストールします。

Nginxのインストール

$ sudo apt install nginx
$ sudo rm /etc/nginx/sites-enabled/default
$ sudo mkdir -p /var/www/html
$ cat <<EOF | sudo tee /etc/nginx/sites-available/grafana
server {
        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/html/;
        index index.html index.htm;

        server_name localhost;

        location /grafana {
                index index.html index.htm;
        }
}
EOF
$ sudo ln -s /etc/nginx/sites-available/grafana /etc/nginx/sites-enabled/
$ sudo service nginx configtest
$ sudo service nginx restart

Grafanaのインストール

$ echo "deb https://packagecloud.io/grafana/stable/debian/ wheezy main" | sudo tee /etc/apt/sources.list.d/grafana.list
$ curl https://packagecloud.io/gpg.key | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install grafana

http://<サーバIP>/3000にアクセスするとGrafanaのDashboardが表示される。

スクリーンショット 2016-07-24 15.57.33.png

User=admin, Password=adminでログインすることができる。

スクリーンショット 2016-07-24 16.03.44.png

設定

InfluxDB

公式ドキュメント通りにdatabaseを作成します。

InfluxDBのダッシュボードからも作成可能です。

スクリーンショット 2016-07-24 16.16.15.png

Sensu

sensu pluginのインストール

sensu-installコマンドでプラグインをインストールします。
sensu-plugins-vmstatsはChecks、sensu-plugins-influxdbはHandlerを使います。

sudo sensu-install -p vmstats
sudo sensu-install -p influxdb

実行すると/opt/sensu/embeddedの中にインストールされます。

sensuの設定

Sensuの設定を追加していきます。(今回はsensu-serverとsensu-clientは同じサーバ上で動かしています)

"client": {
  "name": "localhost",
  "address": "127.0.0.1",
  "subscriptions": [
    "test"
  ]
}

Checksを追加します。commandにはsensu-plugins-vmstatsmetrics-vmstat.rbを指定します。

/etc/sensu/conf.d/vmstat_metrics.json
{
  "checks": {
    "vmstat_metrics": {
      "type": "metric",
      "handlers": [ "influxdb" ],
      "command": "metrics-vmstat.rb",
      "interval": 60,
      "subscribers": [ "test" ]
    }
  }
}

Handerを設定します。influxdbというHandlerを追加しています。
handlerのタイプをpipeにするとコマンドを実行してくれます。
commandにはsensu-plugins-influxdbmetrics-influxdb.rbを指定します。

InfluxDBの設定をUsageを参考に書きます。

/etc/sensu/conf.d/handler_influxdb.json
{
  "handlers": {
    "influxdb": {
      "type": "pipe",
      "command": "metrics-influxdb.rb"
    }
  },
  "influxdb": {
    "hosts" : ["localhost"],
    "host": "localhost",
    "port": "8086",
    "username": "root",
    "password": "root",
    "database": "metrics"
  }
}

Sensuの再起動

Sensuを再起動して設定を反映します。

$ sudo service sensu-server start 
$ sudo service sensu-client start 
$ sudo service sensu-api start 

InfluxDBで動作確認

InfluxDBのDashboardでSHOW MEASUREMENTSクエリを実行すると、measurements一覧が表示される。

  • vmstat_cpu_idle
  • vmstat_cpu_steal
  • vmstat_cpu_system
  • vmstat_cpu_user
  • vmstat_cpu_waiting
  • vmstat_io_received
  • vmstat_io_sent
  • vmstat_memory_buffers
  • vmstat_memory_cache
  • vmstat_memory_free
  • vmstat_memory_swap_used
  • vmstat_procs_uninterruptible
  • vmstat_procs_waiting
  • vmstat_swap_in
  • vmstat_swap_out
  • vmstat_system_context_switches_per_second
  • vmstat_system_interrupts_per_second

適当にmeasurementを選んでSELECT * FROM <measurement名>を実行してちゃんとデータが入っているか確認します。

Grafanaに表示を追加

GrafanaにDashboardを追加します。

DataSourcesを追加

DataSourceにInfluxDBを追加します。
左上のGrafanaアイコンからDataSource選択。Add data sourceボタンを押します。

スクリーンショット 2016-07-24 18.05.58.png

Field Value
Name development 適当につける
Default True defaultにしておくと楽
Type InfluxDB
Url http://localhost:8086
Access proxy
Database metrics 作成したDatabase名
User root
Password root

設定したらSaveボタンを押します。

Dashboardを追加

左上のGrafanaアイコンからDashboard > Newで追加する。
左の緑のバーからAdd Panel > Graphを選択します。
MetricsのQueryを弄って好きなようにデータを表示します。
上にある保存ボタンを押して完了。

スクリーンショット 2016-07-24 18.12.54.png

できた

スクリーンショット 2016-07-24 18.28.56.png

参考

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3