Collectd&InfluxDb&Grafanaの1つ:一般的なシステム統計

3963 ワード

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)