随便抄了一篇,目前我們的項目也在用,這個是linux和windows通吃的一種監控方案,非常有效,詳細和優美,需要監控什麼具體的業務内容,自己向influxdb中插入就行了。
監控伺服器狀态是運維必不可少的一部分, 通常情況, 我們用得比較多的就是
graphite
, 因為使用python寫的, 是以對于大部分運維工程師來講, 算是比較熟悉的語言. 但graphite畢竟比較老了, 界面體驗方面不太友好, 加上graphite部署起來也不是太容易, 會給新手造成一定困擾.
這裡給大家介紹的是另一種監控系統
grafana
, 相比graphite, 優勢非常大, 特别是配置和部署, 要簡單很多, 界面方面的體驗做得非常好, 特别是還相容graphite的資料
由于grafana僅僅隻是提供界面顯示, 是以他需要從
influxdb
中擷取資料, 而influxdb中的資料又需要從其他地方收集過來, 常用的收集工具是
collectd
和
telegraf
, 其中collectd這裡不做介紹, 有些資料不是太适合, 而 influxdb 自身內建 telegraf插件, 不需要進行專門的配置
collectd/telegraf(收集資料) -------> influxdb(儲存資料) -------> grafana(顯示資料)
安裝配置
influxdb 1.x+
cd /opt
# 下載下傳速度很慢, 建議用迅雷下載下傳, 然後通過ftp上載到伺服器
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
yum localinstall influxdb-1.0.2.x86_64.rpm
service influxdb start
管理背景預設端口: 8083, 我們可以直接通路背景管理資料
資料傳遞預設端口: 8086, 其他服務傳遞資料的端口
telegraf 1.x+
cd /opt
# 下載下傳速度很慢, 建議用迅雷下載下傳, 然後通過ftp上載到伺服器
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.0.1.x86_64.rpm
yum localinstall telegraf-1.0.1.x86_64.rpm
cd /etc/telegraf
# 隻收集cpu, 記憶體和硬碟的資料
telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf
# 設定将資料傳遞寫入influxdb伺服器
vi telegraf.conf
# 将位址改成 influxdb 對應的伺服器位址, 端口預設 8086, 預設資料庫 telegraf
# 啟動服務
service telegraf start
grafana 3.x+
cd /opt
# 下載下傳速度很慢, 建議用迅雷下載下傳, 然後通過ftp上載到伺服器
wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm
yum localinstall grafana-3.1.1-1470047149.x86_64.rpm
# 啟動服務
service grafana-server start
# 添加開機啟動
chkconfig --add grafana-server
預設啟動端口 3000, 賬戶密碼預設都是 admin
grafana 使用
- 建立資料源
- 建立顯示面闆
- 添加單個面闆
- 選擇定義資料源
- 從資料源中添加資料
最終顯示結果:
參考官方文檔
telegraf: https://docs.influxdata.com/telegraf/v1.0/ influxdb: https://docs.influxdata.com/influxdb/v1.0 grafana: http://docs.grafana.org/