Grafana+Zabbix監(jiān)控系統(tǒng)搭建

本文介紹在CentOS6系列系統(tǒng)中,安裝zabbix 3.0與grafana 2.5 搭配的監(jiān)控系統(tǒng)
據(jù)了解在zabbix 3.0 LTS版本有50余項(xiàng)升級(jí),zabbix是結(jié)合了眾多監(jiān)控系統(tǒng)的優(yōu)點(diǎn),是一款比較全面分布式監(jiān)控系統(tǒng)。在與Grafana搭伙后,完美解決了Zabbix GUI審美疲勞的痛點(diǎn),接下來進(jìn)入正題(Zabbix 3.0安裝部分完全按照官方文檔的步驟實(shí)現(xiàn))

前言

  1. 本文的Zabbix部分知識(shí)只介紹它的基礎(chǔ)安裝,Zabbix的使用以及配置優(yōu)化并不在本文的介紹范圍之內(nèi)。
  2. 本文只介紹在CentOS6系列下的安裝和部署,其他發(fā)行版與其他版本號(hào)暫不涉及
  3. 本文默認(rèn)使用MySQL作為后端數(shù)據(jù)庫支持

CentOS 6.x 基礎(chǔ)環(huán)境配置部分

基礎(chǔ)環(huán)境介紹

  • CentOS 6.7 64bit
  • 8CPU
  • 1G Mem
  • MySQL InnoDB

基礎(chǔ)依賴環(huán)境配置

Apache

1.Zabbix官方文檔要求Apache的版本要在1.3.12之后

shell> yum install httpd -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.neusoft.edu.cn
 * epel: mirrors.yun-idc.com
 * extras: mirrors.btte.net
 * remi-safe: mirror.innosol.asia
 * rpmforge: mirrors.neusoft.edu.cn
 * updates: mirrors.btte.net
Package httpd-2.2.15-47.el6.centos.3.x86_64 already installed and latest version
Nothing to do

我這里已經(jīng)安裝了httpd 2.2版本,符合官方文檔中的要求

2.啟動(dòng)httpd服務(wù),并設(shè)置為開機(jī)自動(dòng)啟動(dòng)

shell> service httpd start
shell> chkconfig httpd on

PHP

PHP的版本要求在5.4以上,但Linux 6.x系統(tǒng)自帶repo中的PHP版本是5.3.3 不符合Zabbix官方文檔的要求,需要使用Remi repo來安裝更高版本的PHP

配置Remi Repo來安裝高版本的PHP

1.下載Remi

shell> yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

2.配置Remi

使用習(xí)慣的文本編輯器(如 vim)打開 Remi 源配置文件 /etc/yum.repos.d/remi.repo
啟用 Remi Repository修改 enabled=0 為 enabled=1
為 Remi Repository 設(shè)置合適的優(yōu)先級(jí)在 [remi] 那一節(jié)的結(jié)尾另起一行添加下面的代碼:priority=3

3.安裝PHP

shell> yum install --enablerepo=remi php php-gd

4.根據(jù)Zabbix官方文檔需求安裝PHP擴(kuò)展

shell> yum install php-bcmath php-ctype php-xml php-xmlreader php-xmlwriter php-session php-net-socket php-gettext php-mbstring php-gettext php-ldap php-mysql 

Server

根據(jù)官方文檔的要求,需要在服務(wù)器中安裝一下軟件支持

shell> yum install OpenIPMI OpenIPMI-devel libssh2 libssh2-devel fping libcurl libxml2 libxml2-devel net-snmp

MySQL

官方文檔要求MySQL的版本要在5.0.3以上,CentOS 6.7默認(rèn)的repo里提供的MySQL版本為5.1.73 符合官方文檔要求

shell> yum install mysql mysql-server mysql-devel
shell> service mysqld start  #首次啟動(dòng)需要初始化
shell> chkconfig mysqld on  #添加開機(jī)自動(dòng)啟動(dòng)

Zabbix安裝部分

Zabbix 3.0的安裝參考了官方文檔中源碼編譯安裝的方式,軟件包的方式比較簡單,大家可以參考官方文檔自行試驗(yàn),時(shí)間關(guān)系,這里暫不介紹rpm包的安裝方式,后續(xù)有時(shí)間會(huì)補(bǔ)充提供這種安裝方式的說明

源碼安裝的方式

下載Zabbix 3.0源碼包并解壓

Zabbix 3.0 源碼官方下載地址: http://www.zabbix.com/download.php
選擇Zabbix Sources下的Zabbix 3.0 LTS進(jìn)行下載

shell> tar -zxvf zabbix-3.0.0.tar.gz  #解壓縮

創(chuàng)建用戶及組

shell> groupadd zabbix
shell> useradd -g zabbix zabbix

創(chuàng)建Zabbix數(shù)據(jù)庫

shell> mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';
mysql> quit;
shell> cd database/mysql  #在解壓縮后的zabbix-3.0.0文件夾中
shell> mysql -uzabbix -p<password> zabbix < schema.sql
#如果你是為Zabbix Proxy來創(chuàng)建數(shù)據(jù)庫,那么到這里就必須停止了,下面的不需要執(zhí)行
shell> mysql -uzabbix -p<password> zabbix < images.sql
shell> mysql -uzabbix -p<password> zabbix < data.sql

編譯安裝Zabbix Server和Zabbix Agent

shell> ./configure --help #可以查看編譯的參數(shù)項(xiàng)
shell> ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2  #Zabbix Server與Agent安裝參數(shù)參考
shell> make install

其他組件安裝參考:

shell> ./configure --prefix=/usr --enable-proxy --with-net-snmp --with-sqlite3 --with-ssh2  #Zabbix Proxy安裝參數(shù)參考
shell> ./configure --enable-agent  #Zabbix Agent安裝參數(shù)參考

編輯配置文件

如果Server與Agent采用了AIO(All In One)的部署方式,作為測試,Agent的配置文件可以不修改

接下來修改Server的配置文件

shell> vim /usr/local/etc/zabbix_server.conf
#以下為修改完成后的項(xiàng)目
#DBName和DBUser保持以下默認(rèn)參數(shù)即可,只需設(shè)置DBPassword一項(xiàng)
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix  #上面配置數(shù)據(jù)時(shí),我設(shè)置zabbix用戶的密碼為zabbix

啟動(dòng)服務(wù)

shell> zabbix_server  #啟動(dòng)Zabbix Server
shell> zabbix_agentd  #啟動(dòng)Zabbix Agent

啟動(dòng)其他服務(wù):

shell> zabbix_proxy  #啟動(dòng)Zabbix Proxy

安裝Zabbix網(wǎng)站頁面接口

shell> mkdir /var/www/html/zabbix
shell> cd frontends/php  #在解壓縮后的zabbix-3.0.0文件夾中
shell> cp -a . /var/www/html/zabbix

配置Zabbix

  • 在瀏覽器中打開如下網(wǎng)址: http://server_ip_or_name/zabbix

  • 在打開的頁面中看到“Welcome to Zabbix 3.0”幾個(gè)大字就算成功了一半了!點(diǎn)擊Next step

    Welcome

  • 第二個(gè)頁面Check of pre-requisites 會(huì)檢查PHP的一些配置參數(shù)(第一列是變量名;第二列是PHP配置文件實(shí)際值;第三項(xiàng)是Zabbix強(qiáng)制要求的最低值或固定值),默認(rèn)情況下這個(gè)頁面所有的檢查項(xiàng)應(yīng)該都是“OK”的,如果有紅色的錯(cuò)誤項(xiàng),根據(jù)前面提示的變量名,去找PHP的配置文件,修改成“REQUIRED”要求的值就可以啦(默認(rèn)PHP的配置文件/etc/php.ini

    Check of pre-requisites

  • 第三個(gè)頁面Configure DB connection 這一步驟會(huì)去嘗試連接數(shù)據(jù)庫。第一項(xiàng)數(shù)據(jù)庫類型選擇MySQL;DB Host 保持默認(rèn)的localhost(因?yàn)檫@里采用了AIO的安裝方式,數(shù)據(jù)庫沒有單獨(dú)分離);DB Port修改成3306;DB Name:zabbix; User:zabbix;Password:zabbix。點(diǎn)擊Next step如果出現(xiàn)報(bào)錯(cuò),根據(jù)報(bào)錯(cuò)信息排查是否是配置錯(cuò)誤(這些配置都是在前面設(shè)置過的,3306是MySQL默認(rèn)的端口號(hào))

    Configure DB connection

  • 第四個(gè)頁面Zabbix server details 保持默認(rèn)的Host:localhost和Port:10051配置即可,Name可以自定義設(shè)置,為這套監(jiān)控系統(tǒng)起個(gè)名字

    Zabbix server details

  • 第五個(gè)頁面Pre-installation summary 總覽一下前面所有的配置Next step

    Pre-installation summary

  • 第六個(gè)頁面Install 我在進(jìn)入到這個(gè)頁面后,出現(xiàn)了報(bào)錯(cuò),提示Can not create the configuration file 下方官方也給出了手動(dòng)解決這個(gè)問題的方法。按照提示,第一步點(diǎn)擊給出的連接,下載zabbix官方提供的配置文件;第二步,根據(jù)提示,放在指定的位置保存為指定的文件,我這里提示保存為:/usr/share/zabbix/conf/zabbix.conf.php 按照提示操作完成后點(diǎn)擊Finish

    Install

  • 如果上面配置的都沒有問題,第七個(gè)頁面將會(huì)出現(xiàn)congratulations! ... 點(diǎn)擊Finish

    Install2

  • 第八個(gè)頁面將會(huì)出現(xiàn)登陸頁面,默認(rèn)的登陸用戶名為Admin 密碼為zabbix

    login

Zabbix的使用簡介

進(jìn)入到Zabbix首頁后,會(huì)發(fā)現(xiàn)3.0版本與之前的2.x版本的界面相比煥然一新,更養(yǎng)眼了,對(duì)解決2.x版本的審美疲勞起到了一定的作用。當(dāng)然這只是最膚淺的外貌協(xié)會(huì)成員的結(jié)論,除了顏值高了,Zabbix還有50余項(xiàng)技術(shù)更新,變得愈發(fā)強(qiáng)大了~~~

  • Configuation-->Hosts-->status中,將Disabled變成Enabled狀態(tài),稍等片刻,如果Zabbix Agent啟動(dòng)正常的話,ZBX的圖標(biāo)就會(huì)亮起,表示Server與Agent之間通信正常
    Enabled
  • 監(jiān)控首頁會(huì)是如下狀態(tài)(各個(gè)模塊可以拖拽移動(dòng)布局)
    Dashboard
  • 再瞅一眼監(jiān)控圖表的效果~
    Graphs1

那么問題來了,雖然3.0換了一層扁平簡約的外觀,但是圖表展示還是一樣的丑……為了解決這個(gè)問題,Grafana可以幫上大忙,接下來的部分就詳細(xì)介紹如何使用Grafana給Zabbix監(jiān)控圖表披上一層華麗的外衣

RPM包安裝方式


Grafana安裝部分

截止至我寫這篇文檔的時(shí)候,Grafana的最新版本是2.6.0 而Grafana原生是不支持獲取Zabbix數(shù)據(jù)的,需要通過grafana-zabbix插件來實(shí)現(xiàn),grafana-zabbix插件的最新版本是2.5.1,github上寫的很清楚,該插件服務(wù)于Grafana的2.5版本。經(jīng)過測試,成功在2.6.0的Grafana上使用了grafana-zabbix的2.5.1版本。所以這里你可以任意選擇2.5或2.6版本的Grafana來安裝。

Grafana的下載及安裝

shell> yum install https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0-1.x86_64.rpm  #這里只提供了yum的安裝方式,其他安裝方式可以參考附錄中的Grafana官方安裝文檔
shell> service grafana-server start  #啟動(dòng)Grafana服務(wù)
shell> chkconfig grafana-server on  #添加開機(jī)自動(dòng)啟動(dòng)

Grafana Zabbix插件的下載及安裝

#https://github.com/alexanderzobnin/grafana-zabbix/releases/latest  #請到該網(wǎng)址下載2.5.1版本的grafana-zabbix插件
shell> tar -xvzf grafana-zabbix-2.5.1.tar.gz
shell> cp -r grafana-zabbix-2.5.1/zabbix/  /usr/share/grafana/public/app/plugins/datasource/
shell> service grafana-server restart

Grafana + Zabbix聯(lián)通部分

  • 在瀏覽器地址欄輸入 http://IP:3000就可以看到Grafana的登陸頁面了。輸入默認(rèn)的用戶名admin 密碼admin登陸
  • 點(diǎn)擊左側(cè)的Data Sourses-->Add new
    • Type下拉框中選擇Zabbix
    • Name 可以自由發(fā)揮~~
    • Http settings-->Url 填入http://zabbix-server-ip/zabbix/api_jsonrpc.php 這里填入的是Zabbix API接口
    • Http settings-->Access 選擇 direct 使用直接訪問的方式
    • Zabbix API details-->User 填入Admin
    • Zabbix API details-->Password 填入 zabbix
    • 點(diǎn)Save保存后再編輯,出現(xiàn)Test Connection按鈕,點(diǎn)擊可測試API配置是否正確。出現(xiàn):Success Zabbix API version: 3.0.0 配置成功
      enter image description here

Grafana配置部分

至此僅差最后一步,將Zabbix的數(shù)據(jù)讀取到Grafana來以圖表展示,就打完收工啦!

  • 點(diǎn)擊左側(cè)的Dashboards-->Home-->在下拉菜單的底部選擇+ New。這時(shí)新的頁面中默認(rèn)出現(xiàn)一個(gè)空的橫行圖表,左上角有綠色的豎線,右下角有+ ADD ROW添加新行的按鈕。
  • 鼠標(biāo)放在左上角的綠色豎線上,點(diǎn)擊后彈出一個(gè)菜單,選擇Add Panel。下面有五個(gè)選項(xiàng),下面選擇四個(gè)常用的分別介紹
  • 記得點(diǎn)擊上面的保存按鈕以保存新建的頁面

Graph

這個(gè)選項(xiàng)是創(chuàng)建一個(gè)圖表,類似于Zabbix的監(jiān)控圖表,是最常用的類型之一。

  • General-Title:設(shè)置該圖表的名稱
  • Metrics:在該項(xiàng)的右下角,選擇正確的數(shù)據(jù)源(之前在Data Sources配置的Name)
  • Metrics-Group/Host/Application/Item:這些項(xiàng)目是必填項(xiàng)目,需要依次下拉選擇
    如果一張圖需要展現(xiàn)兩條線的數(shù)據(jù),可以在左下角點(diǎn)擊+ Query
  • Display Styles-Chart Options:這里可以選擇以豎線展示,以折線展示或以點(diǎn)來展示數(shù)據(jù)
    Grafana-Graph

Table

表格展示,類似于Excel表格的展現(xiàn)形式


enter image description here
  • 點(diǎn)擊 - + 號(hào)可以調(diào)整該模塊的大小(橫向伸縮)
  • 點(diǎn)擊Edit可以重新編輯該模塊的數(shù)據(jù)源

Single stat

單統(tǒng)計(jì)模塊,從字面意思就可以知道,該種模塊僅可以展示一種數(shù)據(jù),統(tǒng)計(jì)一種數(shù)據(jù)。這里需要重點(diǎn)說明就是Option選項(xiàng)下的參數(shù)

以統(tǒng)計(jì)磁盤使用大小一項(xiàng)來舉例

  • Unit:要選擇data下的bytes單位來統(tǒng)計(jì)
  • Decimals:小數(shù)設(shè)置保持默認(rèn)的auto即可
  • Coloring:這里可以選擇渲染背景色或字體色
    • Colors控制著三個(gè)顏色,可以自由發(fā)揮,一般綠色代表正常,黃色代表預(yù)警,紅色代表警告
    • Thresholds可以設(shè)置以逗號(hào)分隔的三個(gè)數(shù)字,分別表示三個(gè)狀態(tài)的閾值
    • Spark lines有兩種顯示模式,Show會(huì)在數(shù)據(jù)的下方展示折線;Background mode會(huì)在整個(gè)模塊的背景展示折線

Text

這個(gè)模塊很好理解,就是一個(gè)現(xiàn)實(shí)文字的模塊,支持markdown語法,可以放在每個(gè)頁面的頭部,標(biāo)記當(dāng)前圖表信息的歸類。

Dashboards list

這個(gè)模塊是用來展示頁面列表用的。舉個(gè)例子,如果一個(gè)監(jiān)控系統(tǒng)中,涉及到了多個(gè)頁面展示監(jiān)控圖表,就會(huì)用到這個(gè)功能,這個(gè)模塊會(huì)列出你需要展示的頁面的列表,方便在當(dāng)前頁面中,快速的切換到其他監(jiān)控頁面。

最終效果圖

Final

頁面自動(dòng)刷新

點(diǎn)擊右上角Last 6 hours, 在彈出的下拉框中,選擇Time range下的Refreshing every選項(xiàng),點(diǎn)擊下拉框按鈕,默認(rèn)應(yīng)該有off1m兩個(gè)選項(xiàng)。點(diǎn)擊1m 然后Apply設(shè)置。即為每一分鐘刷新一次數(shù)據(jù)的意思。設(shè)置成功后,在原來Last 6 hours的后面會(huì)出現(xiàn)Refresh every 1m的橙色文字!


附錄:參考文檔

Zabbix 3.0官方文檔

Remi官方文檔

Grafana官方網(wǎng)站

Grafana官方安裝文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Zabbix簡介 Zabbix官方網(wǎng)站Zabbix中文文檔 本文系統(tǒng)環(huán)境是CentOS7x86_64, Zabbi...
    Zhang21閱讀 8,053評(píng)論 0 37
  • 一、準(zhǔn)備搭建環(huán)境 1.系統(tǒng):CentOS 7.3 2.軟件:Zabbix 3.2 二、安裝前的準(zhǔn)備 最小化安裝Ce...
    塵世不擾閱讀 4,169評(píng)論 8 31
  • 1.寫在前面 本文主要介紹的是zabbix的編譯安裝過程,包含它的基礎(chǔ)環(huán)境LNMP,雖然zabbix官方一般推薦的...
    天之藍(lán)色閱讀 2,559評(píng)論 0 16
  • 先通過lnmp一鍵安裝包吧nginx和數(shù)據(jù)庫、php搞起來!然后:實(shí)現(xiàn):1. 獲取zabbix centos:獲取...
    老夫劉某閱讀 2,301評(píng)論 0 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,841評(píng)論 25 708