sensu-plugin과 InfluxDB와 Grafana로 간편한 Metrics 모니터링
환경
우분투 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의 대시 보드가 표시됩니다.

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 대시 보드가 표시됩니다.

User=admin
, Password=admin
로 로그인할 수 있습니다.

설정
InfluxDB
공식 문서 거리에 database를 만듭니다.
InfluxDB의 대시보드에서도 만들 수 있습니다.

Sensu
sensu plugin 설치
공식 문서 와 같이 설치해 갑니다.
$ 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의 대시 보드가 표시됩니다.
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 대시 보드가 표시됩니다.

User=admin
, Password=admin
로 로그인할 수 있습니다.

설정
InfluxDB
공식 문서 거리에 database를 만듭니다.
InfluxDB의 대시보드에서도 만들 수 있습니다.

Sensu
sensu plugin 설치
$ 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
$ 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 대시 보드가 표시됩니다.
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
를 지정합니다./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의 타입을 파이프 로 하면(자) 명령을 실행해 줍니다.
command
에는 sensu-plugins-influxdb
의 metrics-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 목록이 표시됩니다.
적당히 measurement를 선택하고
SELECT * FROM <measurement名>
를 실행하여 제대로 데이터가 들어 있는지 확인합니다.Grafana에 표시 추가
Grafana에 대시보드를 추가합니다.
DataSources 추가
DataSource에 InfluxDB를 추가합니다.
왼쪽 상단의 Grafana 아이콘에서 DataSource 선택. Add data source
버튼을 누릅니다.

필드
Value
이름
개발
적당히 붙인다
Default
True
default로 설정하면
유형
InfluxDB
Url
http://localhost:8086
액세스
프록시
데이터베이스
metrics
작성한 Database 이름
사용자
루트
Password
루트
설정이 끝나면 Save
버튼을 누릅니다.
대시보드 추가
왼쪽 상단의 Grafana 아이콘에서 Dashboard > New
로 추가합니다.
왼쪽의 녹색 막대에서 Add Panel > Graph
를 선택합니다.Metrics
의 Query를 만나서 원하는 대로 데이터를 표시합니다.
위의 저장 버튼을 눌러 완료.

완성

참고
Reference
이 문제에 관하여(sensu-plugin과 InfluxDB와 Grafana로 간편한 Metrics 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yarimizu14/items/971f697a1d393dc11027
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)

참고
Reference
이 문제에 관하여(sensu-plugin과 InfluxDB와 Grafana로 간편한 Metrics 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yarimizu14/items/971f697a1d393dc11027
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(sensu-plugin과 InfluxDB와 Grafana로 간편한 Metrics 모니터링), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yarimizu14/items/971f697a1d393dc11027텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)