Zabbix+Grafana 分佈式監控數據可視化的部署

前言



zabbix是一種類似於cacti 及nagios的;可通過web界面,提供可視化;提供分佈式的系統監視;網絡監控功能的企業級的開源的監控方案。然而,它的web的可視化有一個缺點就是不夠酷炫。

Grafana是一個用Javascript寫的開源的(Dashboard)可視化面板,其不僅功能齊全,還有着豐豐富的圖表和漂亮的佈局展示,並且支持Graphite、elasticsearch、zabbix等的數據可視化的實現,可以給你的數據換個皮膚,使你的數據展示更加直觀和漂亮。
下面,要介紹的是Grafana+Zabbix實現數據可視化,使其更加漂亮。

zabbix搭建可參考下列鏈接:
https://blog.csdn.net/GX_1_11_real/article/details/80872582

如已有zabbix或其他服務,可直接跳過前三步,從第四步開始。




Grafana+Zabbix實現數據可視化操作



一、環境準備


首先要保證zabbix-server和與agent的網絡要聯通,如果跨機房等可使用VPN,如果是同一局域網可關閉防火牆也可配置規則

下面由於是內網,採用關閉防火牆的方式


【1】防火牆

centos7操作:

systemctl stop firewalld 
systemctl disable firewalld

更改selinux:
vim /etc/selinux/config
SELINUX=disabled

關閉selinux(爲了避免錯誤):
setenforce 0

centos6操作:

/etc/init.d/iptables stop
chkconfig iptables off


【2】同步時間


zabbix-server與agent間要時間同步


安裝並同步時間(可自建內網ntp時間服務器):

yum -y install ntp
ntpdate cn.pool.ntp.org


【3】添加解析(爲了方便操作,可選)

echo “192.168.100.2 zabbix-server ” >>/etc/hosts
echo “192.168.100.3 zabbix-agent” >> /etc/hosts
scp /etc/hosts zabbix-agent:/etc/hosts


【4】推公鑰(爲了方便操作,可選)


zabbix-server向zabbix-agent端推公鑰


一般選擇第二種方法.

<1>互信操作:

ssh-keygen   -f  /root/.ssh/id_rsa  -N  " "             創建密鑰

mv  /root/.ssh/{id_rsa.pub,authorized_keys}             改變密鑰文件名,authorized_keys爲固定格式,可被系統識別

scp   -r  /root/.ssh  zabbix-agent:/root/               推送密鑰到agent端

<2>推公鑰:

ssh-keygen                                              創建密鑰

ssh-copy-id root@zabbix-agent                           推送密鑰到agent端



二、zabbix安裝


可用源碼包安裝,本文使用yum安裝

可從官網下載安裝包或yum源,選擇自己需要的版本:
https://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=6&db=MySQL

例如:

在這裏插入圖片描述


【1】安裝Zabbix下載源


根據zabbix官方提供的下載源及命令,下載安裝即可(server和agent端皆此操作)

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

在這裏插入圖片描述

在這裏插入圖片描述



【2】zabbix-server操作


<1>zabbix-server相關軟件安裝:

yum -y install zabbix-server zabbix-server-mysql zabbix-web-mysql zabbix-get  httpd

<2>數據庫安裝(mysql可換爲mariadb;也可選擇編譯安裝): 

yum -y install mysql mysql-server mysql-devel   或   mariadb mariadb-server


【3】數據庫配置


<1>啓動並設置mysql密碼

systemctl restart mariadb 
systemctl enable mariadb 

mysqladmin -uroot password ‘密碼’


<2>爲zabbix-server創庫並授權

mysql -uroot -p123456                                                               登陸數據庫
create database zabbix character set utf8;                                          創建數據庫,設定編碼
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';        創建授權用戶
flush privileges;                                                                   刷新授權表,雖然不需要,但可避免一些問題      
use zabbix;                                                                         測試,數據庫是否創建

也可直接創建,暫不設置密碼

create database zabbix character set utf8;


<3>啓動httpd和mysql,並設置開機啓動

systemctl restart mariadb.service 
systemctl restart httpd.service 
systemctl enable mariadb.service 
systemctl enable httpd.service


<4>執行zabbix官方提供是sql語句(其在安裝基礎依賴包時,已在指定位置,通常爲/usr/share/doc/zabbix-server-mysql下)

cd /usr/share/doc/zabbix-server-mysql-4.0.2
gzip -d  create.sql.gz
mysql -uroot zabbix < create.sql              (也可用其他方法導入,目的是將此sql語句導入zabbix庫中)

在這裏插入圖片描述

成功後,zabbix庫中出現大量表
在這裏插入圖片描述



【4】zabbix-server配置文件配置


配置文件位置(由於是yum安裝,配置文件位置: /etc/zabbix/zabbix_server.conf)

配置完,啓動zabbix-server
systemctl start zabbix-server
systemctl enable zabbix-server


如有報錯,請檢查配置文件

文件中的配置,要按照需求來

必要配置:
DBHost
DBName
DBUser
DBPassword

egrep -v "^$|^#" zabbix_server.conf

LogFile=/tmp/zabbix_server.log                                log日誌的位置,一般默認即可
DBHost=localhost                                              zabbix_server授權時使用ip或名稱,如授權時使用localhost
DBName=zabbix                                                 zabbix_server創建並授權的數據庫的名稱
DBUser=zabbix                                                 授權的數據庫的用戶
DBPassword=zabbix                                             授權的數據庫的密碼
DBSocket=/tmp/mysql.sock                                      MySQL的sock的位置,如數據庫是編譯安裝,一般默認即可,如yum安裝,請確認位置;不使用註釋即可
DBPort=3306                                                   使用的mysql數據庫的端口;無特殊要求,註釋即可,默認3306
StartPollers=30                                               zabbix-server的進程數,設置多少取決於服務器的性能和監控的數量,主要看內存大小
StartDiscoverers=5                                            zabbix提示進程繁忙時可修改此參數,最大可達250,但一般1-5左右,值越大越消耗cpu性能
CacheSize=8G                                                  zabbix-server可用的緩存,用於存儲host,item,trigger數據
Timeout=4                                                     zabbix-server的檢測超時時間,單位爲秒
FpingLocation=/usr/local/sbin/fping                           安裝的fping路徑 
LogSlowQueries=3000                                           多慢的數據庫查詢將會被記錄,單位爲毫秒,0表示不記錄慢查詢。只有在DebugLevel=3時,這個配置纔有效


【5】zabbix-agent操作


zabbix-agent進行安裝

yum -y install zabbix-agent


【6】zabbix-agent配置文件配置


關於agent的配置,主要分爲兩種情況:
zabbix-server/proxy主機的agent
被監控主機的agent

原則:
zabbix-server/proxy主機的agent的配置文件的IP及端口指向自己
zabbix-agent端的配置文件指向zabbix-server或zabbix-proxy的IP及10051端口

必要配置:
Server
ServerActive
Hostname

egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid                                     zabbix-agent的pid文件的位置,默認即可
LogFile=/var/log/zabbix/zabbix_agentd.log                          zabbix-agent的log日誌的位置,一般默認即可
EnableRemoteCommands=0                                             關閉遠程命令(1:開啓;0:關閉),開啓後可設置觸發條件,觸發遠程命令動作,重啓服務
Server=192.168.92.128                                              zabbix-agent指向的zabbix-server/proxy的IP地址,本文指向的是zabbix-proxy
StartAgents=8                                                      zabbix-agent的進程數
ServerActive=192.168.92.128:10051                                  zabbix-agent指向的zabbix-server/proxy的IP地址及端口,本文指向的是zabbix-proxy的
Hostname=zabbix agent01                                            該zabbix-agent端的名字,要與zabbix-server的web界面,配置的主機名稱相同
Timeout=30                                                         zabbix-agent的檢測超時時間,單位秒
Include=/etc/zabbix/zabbix_agentd.d/                               啓動自定義的key    自定義腳本存放位置
UnsafeUserParameters=1                                             啓動自定義的key,開啓後可使用自定義的腳本(如不使用請使用默認)

如果是zabbix-server/proxy主機的agent配置,則
Server=127.0.0.1
ServerActive=127.0.0.1:10051

配置完,啓動zabbix-agent
systemctl start zabbix-agent
systemctl enable zabbix-agent



【7】修改時區


設置zabbix時區爲所需要時區,纔會顯示正確的時間
例如中國一般填寫 Asia/Shanghai


vim   /etc/php.ini
date.timezone = Asia/Shanghai

在這裏插入圖片描述

vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai

在這裏插入圖片描述


三、zabbix的web界面設置及主機添加

請查看下列鏈接:
https://blog.csdn.net/GX_1_11_real/article/details/80872582




四、Grafana安裝


Grafana應安裝在zabbix-server服務器上

Grafana官網鏈接,內含各種官方文檔:
http://docs.grafana.org/installation/rpm/


【1】使用官方安裝包安裝


wget https://dl.grafana.com/oss/release/grafana-5.4.2-1.x86_64.rpm 
sudo yum -y localinstall grafana-5.4.2-1.x86_64.rpm 


【2】啓動grafana,並設置開機啓動


systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
systemctl enable grafana-server


【3】安裝服務端圖像呈現組件


服務器端圖像是一項可選功能


yum -y install fontconfig freetype* urw-fonts


【4】訪問Grafana


啓動Grafana後,在瀏覽器中輸入http://ip:3000,可訪問(3000爲默認端口,可修改)

默認用戶名:admin,密碼:admin


在這裏插入圖片描述

在這裏插入圖片描述



【5】Grafana插件安裝


<1>獲取可用插件列表

grafana-cli plugins list-remote

在這裏插入圖片描述

<2>安裝zabbix插件

grafana-cli plugins list-remote |grep zabbix
grafana-cli plugins install alexanderzobnin-zabbix-app

在這裏插入圖片描述

在這裏插入圖片描述

<3>重啓grafana,並再次訪問

systemctl restart grafana-server

在這裏插入圖片描述



【6】Grafana的zabbix配置


<1>點擊zabbix圖標,啓用zabbix插件

在這裏插入圖片描述



<2>點擊Enable

在這裏插入圖片描述



<3>點擊Add data source ,添加數據源
在這裏插入圖片描述



<4>點擊zabbix,添加zabbix插件的數據源

在這裏插入圖片描述



<5>配置數據源


Name爲自定義,要可區分
URL爲zabbix的API地址,默認爲:http://zabbix-server的IP/zabbix/api_jsonrpc.php
Username,Password爲zabbix的用戶及對應的密碼(可在zabbix上設置用戶)

其餘的默認即可


在這裏插入圖片描述



<6>點擊 Save&Test ,進行確認
在這裏插入圖片描述



<7>進行查看

在這裏插入圖片描述

在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章