爲什麼研究Grafana、collectd 和 InfluxDB,是因爲本人工作中使用到的開源監控軟件(nagios、Cacti)畫圖都是基於RRD實現的,老實說都不太美觀,並且無法自定義圖表,但是憑本人的開發水平還無法做到自己寫圖表。
Grafana+collectd+InfluxDB,採用客戶端->服務端存儲->WEB界面顯示的工作模式,使用UTP傳輸數據,並且支持自定義圖表,有良好的擴展性,重要的是Grafana頁面展示比較美觀,更關鍵的是InfluxDB提供了Python的API,InfluxDB提供了Python的API,InfluxDB提供了Python的API,重要事情說三遍。
頁面展示可瀏覽官方演示平臺:http://play.grafana.org/
首先說說這個組合的工作模式和分工:
採集數據(collectd)-> 存儲數據(InfluxDB) -> 顯示數據(Grafana)。
InfluxDB 是 Go 語言開發的一個開源分佈式時序數據庫,非常適合存儲指標、事件、分析等數據,看版本號(v0.8.8)就知道這個項目還很年輕;
collectd 就不用介紹了吧,C 語言寫的一個系統性能採集工具;
Grafana 是純 Javascript 開發的前端工具,用於訪問 InfluxDB,自定義報表、顯示圖表等
collectd負責把數據從客戶端採集到服務端的InfluxDB這個數據庫中,Grafana負責把數據從InfluxDB庫中取出來在頁面展示
測試環境介紹:
server端:172.18.1.113
安裝程序:InfluxDB Grafana
Client端:172.18.2.125
安裝程序:Collectd
server端
一、influxdb安裝
(1)配置YUM源
cat <<EOF |tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
(2)安裝和啓動
#yum install -y influxdb
#service influxdb start
(3)相關信息
web後臺http://172.18.1.113:8083/
API接口 172.18.1.113:8086
配置文件路徑:/etc/influxdb/influxdb.conf
二、grafana安裝
1.RPM包安裝
(1)安裝
#wget https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0-1.x86_64.rpm
#rpm -Uvh grafana-2.6.0-1.x86_64.rpm
(2)修改配置
日誌路徑:
/var/log/grafana/grafana.log
配置文件路徑:
/etc/grafana/grafana.ini
#vim /etc/grafana/grafana.ini
//由於默認端口3000和我測試環境的一個程序衝突,所以修改默認服務端口爲
http_port = 3001
#/etc/init.d/grafana-server restart
啓動服務後訪問 http://172.18.1.113:3001
Client端
collectd安裝,大部分Linux版本自帶的YUM源都有此軟件
#yum insatll -y collectd