CentOS7安裝性能監控系統


目錄

系統描述.

開發環境.

開始之前.

安裝influxdb數據庫.

安裝collectd

安裝Grafana

FAQ

      influxdb的web界面沒反應.

 

系統描述

想打造 New Relic 那樣漂亮的實時監控系統我們只需要 InfluxDB/collectd/Grafana 這三個工具,這三個工具的關系是這樣的:

采集數據(collectd)-> 存儲數據(InfluxDB) -> 顯示數據(Grafana)。

  • InfluxDB 是用Go 語言開發的一個開源分布式時序數據庫,非常適合存儲指標、事件、分析等數據
  • collectd  是用C 語言寫的一個系統性能采集工具;
  • Grafana  是純 Javascript 開發的前端工具,用於訪問 InfluxDB,自定義報表、顯示圖表等。

 

開發環境

系統版本信息

Linux version 3.10.0-123.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.2 20140120 (Red Hat 4.8.2-16) (GCC) )

按照Centos7 最小化模式安裝

使用軟件版本

Collectd:collectd-5.5.0-2.el7.x86_64

Influxdb:influxdb-0.8.8-1.x86_64

Garfana:grafana-2.0.2-1.x86_64

 

開始之前

關閉selinux:

[root@localhost ~]# vi /etc/selinux/config

將SELINUX=enforcing修改為SELINUX=disabled

校准時間:

設定為上海時區

[root@localhost log]# timedatectl set-timezone Asia/Shanghai

同步時間

[root@localhost log]# /usr/sbin/ntpdate time.nist.gov

 

注:

我自己寫了一個比較粗糙的一鍵安裝三個軟件的腳本,github地址:

https://github.com/Kylinlin/install_performance_monitor_automatically

 

安裝influxdb數據庫

從該網址下載軟件:https://s3.amazonaws.com/influxdb/influxdb-0.8.8-1.x86_64.rpm

解壓安裝

[root@localhost ~]# rpm -ivh influxdb-0.8.8-1.x86_64.rpm

關閉防火牆:

[root@localhost ~]# systemctl stop firewalld.service

在防火牆中添加端口:

[root@localhost ~]# firewall-cmd --zone=public --add-port=8083/tcp --permanent (添加5666端口)

[root@localhost ~]# firewall-cmd --reload (重啟防火牆)

啟動該進程:

[root@localhost ~]# /etc/init.d/influxdb start

1

注意,必須出現紅色方框內的字體才表示安裝並且啟動成功

打開瀏覽器,輸入地址http://192.168.1.204:8083/,可以看到啟動后的畫面,登陸名和密碼默認都是root

2

創建數據庫:輸入數據庫名稱collectd,然后點擊Create Database按鈕

3

 

4

數據庫創建成功

influxdb的配置文件的位置:/opt/influxdb/shared/config.toml

 

安裝collectd

從這里下載軟件:

http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

安裝:

[root@slave204 tmp]# rpm –ivh epel-release-7-5.noarch.rpm

[root@slave204 tmp]# yum install collectd –y

collectd的配置文件為/etc/collectd.conf,其執行文件位於/usr/sbin/collectd

首先備份配置文件

[root@slave204 tmp]# cp /etc/collectd.conf /etc/collectd.conf_backup

然后修改配置文件:[root@localhost ~]# vi /etc/collectd.conf

首先去掉如下注釋,並修改Hostname

5

再去掉LoadPlugin network 和 LoadPlugin uptime前面的#

並在Plugin Configuration下面添加一個配置項

6

保存並退出,執行檢查命令::[root@localhost etc]# /usr/sbin/collectd –t

如果沒有任何輸出,則說明配置正確

啟動:[root@localhost etc]# systemctl start collectd.service

 

把collectd的數據存放到influxdb中

首先備份influxdb的配置文件

[root@slave204 tmp]# cp /opt/influxdb/shared/config.toml /opt/influxdb/shared/config.toml_backup

然后修改配置文件中的[input_plugins.collectd]配置成如下:

[root@slave204 tmp]# vim /opt/influxdb/shared/config.toml

7

 

重啟influxdb

[root@slave204 tmp]# /etc/init.d/influxdb restart

刷新influxdb的web界面,進入collectd的數據庫

8

9

查看內存使用結果:select * from "influxdb/memory/memory-used"

10

 

 

 

安裝Grafana

下載安裝包:

https://grafanarel.s3.amazonaws.com/builds/grafana-2.0.2-1.x86_64.rpm

[root@localhost ~]# yum install initscripts fontconfig -y

[root@slave204 tmp]# rpm -ivh grafana-2.0.2-1.x86_64.rpm

設置開機啟動

[root@slave204 tmp]# systemctl daemon-reload

啟動grafana服務器

[root@slave204 tmp]# systemctl start grafana-server

檢查啟動狀態是否成功

[root@slave204 tmp]# systemctl status grafana-server

11

登陸web界面:192.168.1.204:3000,用戶名和密碼都是admin

 

配置數據源

登陸后看到一片空白,通過點擊圖標進行所有的配置

13

首先修改密碼:

14

把數據庫的數據導入到granfa里,全部按照如下進行配置:

Name: influxdb

Type: InfluxDB 0.8.x

Url: http://localhost:8086

Database: collectd

User: root Password: root

15

 

創建儀表板

回到首頁,點擊Home

16

17

18

19

 

上面已經創建了一個空白的儀表板,現在往儀表板中添加監視元素

 

監控CPU空閑率

給圖表創建標題

圖片1

 

定義查詢語句

圖片2

上圖中的derivative函數的具體定義參考這里:

https://influxdb.com/docs/v0.8/api/aggregate_functions.html

 

定義坐標軸

圖片3

 

監控內存

圖片4

 

監控網卡

定義圖表顯示的內容(series的可用值就是在influxdb的web界面執行list series后顯示的內容),可以重復點擊Add query來添加內容:

23

注意這里有多個網卡,首先確認你系統的網卡再做選擇

24

在創建完之后,點擊Back to dashboard返回首頁

25

 

FAQ

influxdb的web界面沒反應

安裝了influxdb后,登陸了web界面,輸入了用戶名和密碼之后點擊Connect按鈕沒有反應。

答:關閉防火牆即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM