Grafana + Zabbix --- 部署分佈式監控系統

閱讀目錄:

1. 關閉防火牆

2. 安裝Zabbix下載源

3. ZabbixClient  --- 安裝zabbix-agent代理

4. ZabbixServer --- 安裝zabbix-server服務

5. ZabbixServer --- 配置zabbix-server的數據庫

6. ZabbixServer --- 配置zabbix-server的服務參數

7. ZabbixServer --- 使用zabbix-server

8. 登陸Zabbix的Web端

9. 在Web配置zabbix監控agent

10. 安裝Grafana以及Zabbix插件

11. 登陸Grafana而且配置

序章:

        Zabbix的一個很優秀的分佈式監控服務器, 它有兩部分組成:php

1. 「zabbix-server」用來收集而且在web端展現數據mysql

2. 「zabbix-agent」用來採集數據,發送給servergit

 

        在安裝Zabbix時,用了3臺虛擬機來測試監控的數據是否正常採集、展現:github

Server:web

ZabbixServer --- IP : 192.168.246.133sql

Client:數據庫

ZabbixClient_1 --- IP : 192.168.246.134json

ZabbixClient_2 --- IP : 192.168.246.135vim

 

1. 關閉防火牆

        Linux的防火牆是我們新手的噩夢,不少狀況會出現能ping通,可是訪問不了Web頁面。因此開始就幹掉它!api

// 關閉防火牆
[root@localhost ~]# /etc/init.d/iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

// 開機關閉防火牆
[root@localhost ~]# chkconfig iptables off

 

2. 安裝Zabbix下載源

        zabbix官方提供了下載源,直接執行下面命令,下載安裝就能夠了

# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

        提示安裝成功後,查看Linux下載源,是否正確安裝,若是安裝成功,Linux下會有zabbix.repo源文件

 
[root@localhost Desktop]# ll /etc/yum.repos.d/
total 28
-rw-r--r--. 1 root root 1991 Aug  4 00:13 CentOS-Base.repo
-rw-r--r--. 1 root root  647 Aug  4 00:13 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  289 Aug  4 00:13 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Aug  4 00:13 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 Aug  4 00:13 CentOS-Vault.repo
-rw-r--r--. 1 root root  401 Sep 11  2014 zabbix.repo
 

3. ZabbixClient --- 安裝zabbix-agent代理

       分別在ZabbixClient_1與ZabbixClient_2安裝並配置以下設置:

       關閉防火牆

[root@localhost Desktop]# /etc/init.d/iptables stop
[root@localhost Desktop]# chkconfig iptables off

 

        安裝Zabbix官方下載源

[root@localhost Desktop]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

        安裝zabbix-agent,在下載的時候,會自動安裝zabbix-agent的基礎依賴包

[root@localhost Desktop]# yum install zabbix-agent

 

        進入zabbix-agent的Config文件

[root@localhost Desktop]# vim /etc/zabbix/zabbix_agentd.conf

 

        配置zabbix-agent的參數,主要修改Server的IP和Hostname,

Server=192.168.246.133
Hostname=localhost

 

      啓動zabbix-agent

[root@localhost Desktop]# /etc/init.d/zabbix-agent start

 

4. ZabbixServer --- 安裝zabbix-server服務

       關閉防火牆

[root@localhost Desktop]# /etc/init.d/iptables stop
[root@localhost Desktop]# chkconfig iptables off

 

        安裝Zabbix官方下載源

[root@localhost Desktop]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

 

        經過zabbix提供的下載源,下載並安裝zabbix-server-mysql和zabbix-web-mysql,這個兩個mysql數據庫是用來存放採集到的數據,Zabbix的web端會經過這些數據,來展現繪圖。而zabbix-get則是用來收集數據的指令。

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-get

 

        在下載這兩個包的時候,會提示你安裝基礎依賴包,其中這些基礎包中,還有zabbix-server的服務端的包,選擇「y」繼續便可。

// 如下是須要安裝的基礎依賴包
================================================================================
 Package               Arch     Version            Repository              Size
================================================================================
Installing:
 zabbix-server-mysql   x86_64   2.4.6-1.el6        zabbix                 1.5 M
 zabbix-web-mysql      noarch   2.4.6-1.el6        zabbix                  14 k
Installing for dependencies:
 OpenIPMI-libs         x86_64   2.0.16-14.el6      base                   473 k
 fping                 x86_64   2.4b2-16.el6       zabbix-non-supported    31 k
 iksemel               x86_64   1.4-2.el6          zabbix-non-supported    47 k
 net-snmp              x86_64   1:5.5-54.el6_7.1   updates                308 k
 php-bcmath            x86_64   5.3.3-46.el6_6     updates                 39 k
 php-mbstring          x86_64   5.3.3-46.el6_6     updates                459 k
 php-mysql             x86_64   5.3.3-46.el6_6     updates                 86 k
 zabbix                x86_64   2.4.6-1.el6        zabbix                 161 k
 zabbix-server         x86_64   2.4.6-1.el6        zabbix                  22 k
 zabbix-web            noarch   2.4.6-1.el6        zabbix                 4.5 M
Updating for dependencies:
 net-snmp-libs         x86_64   1:5.5-54.el6_7.1   updates                1.5 M
 php                   x86_64   5.3.3-46.el6_6     updates                1.1 M
 php-cli               x86_64   5.3.3-46.el6_6     updates                2.2 M
 php-common            x86_64   5.3.3-46.el6_6     updates                529 k
 php-gd                x86_64   5.3.3-46.el6_6     updates                111 k
 php-pdo               x86_64   5.3.3-46.el6_6     updates                 79 k
 php-xml               x86_64   5.3.3-46.el6_6     updates                107 k

Transaction Summary
================================================================================

 

5. ZabbixServer --- 配置zabbix-server的數據庫

        啓動mysql,個人CentOS在安裝的時候,就把mysql的軟件給安裝了,若是沒有mysql,則須要去安裝mysql,我這裏就直接啓動mysql就能夠了

# /etc/init.d/mysqld start

 

        成功啓動mysql的話,輸入mysql,就能夠進入mysql的命令行了。進入命令行,建立zabbix數據庫

[root@localhost ~]# mysql
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)

 

        在mysql中,查看剛剛建立的zabbix是否建立成功,以下圖數據庫中,有zabbix表明已經建立成功

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| zabbix             |
+--------------------+
4 rows in set (0.00 sec)

 

        接下要要執行zabbix官方提供是sql語句。在安裝基礎依賴包的時候,已經在文件裏面了。如今能夠直接執行

[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create/
[root@localhost create]# mysql -uroot zabbix < schema.sql
[root@localhost create]# mysql -uroot zabbix < images.sql 
[root@localhost create]# mysql -uroot zabbix < data.sql

 

6. ZabbixServer --- 配置zabbix-server的服務參數

        配置在如下路徑裏面 :

# vim /etc/zabbix/zabbix_server.conf

 

        若是沒有特殊須要的話,使用默認配置就能夠了,個人mysql帳戶是root,因此須要修改DBuser

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=root
DBSocket=/var/lib/mysql/mysql.sock
StartPollers=5
CacheSize=256M
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

 

        修改zabbix的時區,有些系統並非北京時間,若是是國外的時間,在展現出來的圖的時間就是錯的,爲了保守起見,設置一下zabbix的時區

# vim /etc/httpd/conf.d/zabbix.conf

 

        修改如下字段

php_value date.timezone Asia/Shanghai

 

        修改zabbix的php的時區

# vim /etc/php.ini

 

        修改如下字段

date.timezone = Asia/Shanghai

 

        啓動Zabbix服務,啓動httpd:

[root@localhost create]# /etc/init.d/zabbix-server start
[root@localhost create]# /etc/init.d/httpd start

 

7. 使用zabbix-get

        安裝好了zabbix-agent和zabbix-server。在Server端試試能不能收到agent端的數據,可使用zabbix-get。在安裝mysql的時候,已經將zabbix-get安裝過了。可使用zabbix_get -help命令來查看該命令怎麼使用

[root@localhost create]# zabbix_get -help
Zabbix get v2.4.6 (revision 54796) (10 August 2015)

usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>

Options:
  -s --host <host name or IP>          Specify host name or IP address of a host
  -p --port <port number>              Specify port number of agent running on the host. Default is 10050
  -I --source-address <IP address>     Specify source IP address

  -k --key <key of metric>             Specify key of item to retrieve value for

  -h --help                            Display help information
  -V --version                         Display version number

Example: zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"

 

        測試是否能收到數據,使用如下命令,發現是能夠收到的。

// 測試是否能夠收到系統的信息
[root@localhost create]# zabbix_get -s 192.168.246.134 -p 10050 -k "system.uname"
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64

// 測試是否能夠收到CPU的數據
[root@localhost create]# zabbix_get -s 192.168.246.134 -p 10050 -k "system.cpu.load"
0.020000

 

8. 登陸Zabbix的Web端

        在Server端,啓動Zabbix服務,啓動httpd:

[root@localhost create]# /etc/init.d/zabbix-server start
[root@localhost create]# /etc/init.d/httpd start

 

        登陸Zabbix的Web客戶端,在瀏覽器中輸入「http://192.168.246.133/zabbix/index.php」,默認會跳轉至Zabbix的setup引導頁面:

image

        點擊Next

image

        點擊Next

image

        點擊Test connection,不然沒法點擊Next,  測試鏈接成功後,點擊Next

image

        設置端口,能夠直接使用默認設置的端口10051

image

        點擊Next

image

        點擊Next

image

        點擊Finish,完成初始化引導

image

        輸入默認的帳號密碼,帳號:admin, 密碼zabbix

image

9. 在Web配置zabbix監控agent

        點擊下圖的Create host

image

        按下圖配置,主意要輸入agent的IP和端口,端口默認是10050

image

        點擊select,選擇Linux OS和zabbix Server的模板,點擊Select->Add->Add,以下圖

image

        添加了之後就已經自動啓動了,能夠點擊Graphs,查看是否有數據過來

image

        點擊CPU jumps

image

        點擊preview

image

        就能夠看到agent那邊有數據傳過來了

image

 

10. 安裝Grafana

        在ZabbixServer服務器上,安裝Grafana

yum install https://grafanarel.s3.amazonaws.com/builds/grafana-2.1.1-1.x86_64.rpm

 

        下載Grafana的Zabbix插件,在git上下載,若是沒法運行下面命令的話,能夠先「# yum install git」安裝這個命令

[root@localhost ~]# git clone https://github.com/linglong0820/grafana-zabbix

 

        將插件複製到Grafana文件下

[root@localhost ~]# cp -r grafana-zabbix/zabbix/  /usr/share/grafana/public/app/plugins/datasource/

 

        啓動Grafana

[root@localhost ~]# service grafana-server start
[root@localhost ~]# chkconfig grafana-server on

 

11. 登陸Grafana而且配置

        啓動Grafana後,在瀏覽器中輸入「http://192.168.246.133:3000/login」就能夠看到頁面了。

image

        輸入默認用戶名和密碼,用戶名:admin, 密碼:admin, 點擊登陸

image[70]

        按以下配置

        【主意1】Zabbix的API地址爲「http://192.168.246.133/zabbix/api_jsonrpc.php」,其中IP的安裝zabbix-server的服務器IP

        【主意2】Zabbix的API帳號密碼就是Zabbix的Web端登陸帳號和密碼,帳號:admin, 密碼zabbix

image

        點擊Add後,點擊Test Connection測試是否能夠鏈接。提示「Success」說明鏈接成功,點擊Save

image

        點擊Dashboard,去主目錄設置, 點擊new,新建一個Home

image

        新建一個Graph

image

        點擊下列紅框處->選擇Edit->選擇數據庫ZabbixClient

image

        而後配置一下,就能夠出現華麗麗的數據了,下圖都是官方的示意圖:

regex_filter

templated_dashboard

Dashboard

相關文章
相關標籤/搜索