sensu-pluginとInfluxDBとGrafanaで簡単Metrics監視
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が表示される。
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
$ 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が表示される。
User=admin
, Password=admin
でログインすることができる。
設定
InfluxDB
公式ドキュメント通りにdatabaseを作成します。
InfluxDBのダッシュボードからも作成可能です。
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-vmstats
のmetrics-vmstat.rb
を指定します。
{
"checks": {
"vmstat_metrics": {
"type": "metric",
"handlers": [ "influxdb" ],
"command": "metrics-vmstat.rb",
"interval": 60,
"subscribers": [ "test" ]
}
}
}
Handerを設定します。influxdb
というHandlerを追加しています。
handlerのタイプをpipeにするとコマンドを実行してくれます。
command
にはsensu-plugins-influxdb
のmetrics-influxdb.rb
を指定します。
InfluxDBの設定をUsageを参考に書きます。
{
"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
ボタンを押します。
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を弄って好きなようにデータを表示します。
上にある保存ボタンを押して完了。
できた
参考
Author And Source
この問題について(sensu-pluginとInfluxDBとGrafanaで簡単Metrics監視), 我々は、より多くの情報をここで見つけました https://qiita.com/Yarimizu14/items/971f697a1d393dc11027著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .