Collectd&InfluxDb&Grafanaの1つ:一般的なシステム統計
Collectd
インストール
apt-get install collected
コンフィギュレーション
# vi /etc/collectd/collectd.conf
Hostname "localhost"
FQDNLookup true
Interval 5
Timeout 4
LoadPlugin syslog
LogLevel info
LoadPlugin battery
LoadPlugin cpu
LoadPlugin cpufreq
LoadPlugin df
LoadPlugin disk
LoadPlugin entropy
LoadPlugin interface
LoadPlugin irq
LoadPlugin load
LoadPlugin memory
LoadPlugin network
LoadPlugin processes
LoadPlugin rrdtool
LoadPlugin swap
LoadPlugin users
FSType rootfs
FSType sysfs
FSType proc
FSType devtmpfs
FSType devpts
FSType tmpfs
FSType fusectl
FSType cgroup
IgnoreSelected true
ReportByDevice true
ReportInodes true
ValuesAbsolute true
ValuesPercentage true
Interface "eno1"
IgnoreSelected false
# , Collectd eno1 192.168.212.127:25826
Interface "eno1"
DataDir "/var/lib/collectd/rrd"
Filter "*.conf"
InfluxDB
インストール
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.0_amd64.deb
sudo dpkg -i influxdb_1.0.0_amd64.deb
開始
root@ubuntu:~# service influxdb status
influxdb process is not running [ FAILED ]
root@ubuntu:~# service influxdb start
Starting influxdb...
influxdb process was started [ OK ]
クライアント
influx
を実行してデータベースを作成➜ ~ influx
> CREATE DATABASE "collectdb"
/etc/influxdb/influxdb.conf
を編集し、[[collectd]]
の部分を見つけ、以下のように修正します.[[collectd]]
enabled = true
# `192.168.212.127:25826` Collectd .
bind-address = "192.168.212.127:25826"
database = "collectdb"
typesdb = "/usr/share/collectd/types.db"
batch-size = 5000
batch-pending = 10
batch-timeout = "10s"
read-buffer = 0
再起動
service influxdb restart
Grafana
インストール
# vi /etc/apt/source.list.d/grafana.list
deb https://packagecloud.io/grafana/stable/debian/ wheezy main
curl https://packagecloud.io/gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install grafana
コンフィギュレーション
http://docs.grafana.org/insta...
ネットワークトラフィック統計
編集モードを切り替え、カスタムSQLクエリーを入力します.
クエリー文の入力
SELECT derivative("value") AS "value" FROM "interface_rx" WHERE "host" = 'localhost' AND "type" = 'if_octets' AND "instance" = 'eno1'
関数
derivative
は導数、微積分の概念を意味する.value
は伝送総量(バイト)である、derivative("value")
はvalue
の時間的な増分である.内
host
= localhost
type
= if_octets
instance
= eno1
システム負荷
SELECT mean("value") FROM "load_longterm" WHERE "host" = 'localhost' AND $timeFilter GROUP BY time($interval) fill(null)
SELECT mean("value") FROM "load_midterm" WHERE "host" = 'localhost' AND $timeFilter GROUP BY time($interval) fill(null)
SELECT mean("value") FROM "load_shortterm" WHERE "host" = 'localhost' AND $timeFilter GROUP BY time($interval) fill(null)
メモリ使用量
SELECT mean("value") FROM "memory_value" WHERE "type_instance" = 'used' AND $timeFilter GROUP BY time($interval) fill(null)