Grafana3.0.1+Zabbix3.0.4監控系統平臺搭建

前言

  1. 本文的Zabbix部分知識只介紹它的基礎安裝,Zabbix的使用以及配置優化並不在本文的介紹範圍以內。
  2. 本文只介紹在CentOS6系列下的安裝和部署,其餘發行版與其餘版本號暫不涉及
  3. 本文默認使用MySQL做爲後端數據庫支持

CentOS 6.x 基礎環境配置部分

基礎環境介紹

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

基礎依賴環境配置

Apache

1.Zabbix官方文檔要求Apache的版本要在1.3.12以後php

1
2
3
4
5
6
7
8
9
10
11
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

我這裏已經安裝了httpd 2.2版本,符合官方文檔中的要求html

2.啓動httpd服務,並設置爲開機自動啓動mysql

1
2
shell> service httpd start
shell> chkconfig httpd on

PHP

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

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

1.下載Remigithub

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

2.配置Remisql

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

3.安裝PHPshell

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

4.根據Zabbix官方文檔需求安裝PHP擴展vim

1
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

根據官方文檔的要求,須要在服務器中安裝一下軟件支持

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

MySQL

官方文檔要求MySQL的版本要在5.0.3以上,CentOS 6.7默認的repo裏提供的MySQL版本爲5.1.73 符合官方文檔要求

1
2
3
shell> yum install mysql mysql-server mysql-devel
shell> service mysqld start #首次啓動須要初始化
shell> chkconfig mysqld on #添加開機自動啓動

Zabbix安裝部分

Zabbix 3.0的安裝參考了官方文檔中源碼編譯安裝的方式,軟件包的方式比較簡單,你們能夠參考官方文檔自行試驗,時間關係,這裏暫不介紹rpm包的安裝方式,後續有時間會補充提供這種安裝方式的說明

源碼安裝的方式

下載Zabbix 3.0源碼包並解壓

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

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

建立用戶及組

1
2
shell> groupadd zabbix
shell> useradd -g zabbix zabbix

建立Zabbix數據庫

1
2
3
4
5
6
7
8
9
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來建立數據庫,那麼到這裏就必須中止了,下面的不須要執行
shell> mysql -uzabbix -p<password> zabbix < images.sql
shell> mysql -uzabbix -p<password> zabbix < data.sql

編譯安裝Zabbix Server和Zabbix Agent

1
2
3
shell> ./configure --help #能夠查看編譯的參數項
shell> ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 #Zabbix Server與Agent安裝參數參考
shell> make install

其餘組件安裝參考:

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

 

編輯配置文件

若是Server與Agent採用了AIO(All In One)的部署方式,做爲測試,Agent的配置文件能夠不修改

接下來修改Server的配置文件

1
2
3
4
5
6
shell> vim /usr/local/etc/zabbix_server.conf
#如下爲修改完成後的項目
#DBName和DBUser保持如下默認參數便可,只需設置DBPassword一項
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix #上面配置數據時,我設置zabbix用戶的密碼爲zabbix

啓動服務

1
2
shell> zabbix_server #啓動Zabbix Server
shell> zabbix_agentd #啓動Zabbix Agent

啓動其餘服務:

1
shell> zabbix_proxy #啓動Zabbix Proxy

 

安裝Zabbix網站頁面接口

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

配置Zabbix

  • 在瀏覽器中打開以下網址: http://server_ip_or_name/zabbix
  • 在打開的頁面中看到「Welcome to Zabbix 3.0」幾個大字就算成功了一半了!點擊Next step

  • Welcome

  • 第二個頁面Check of pre-requisites 會檢查PHP的一些配置參數(第一列是變量名;第二列是PHP配置文件實際值;第三項是Zabbix強制要求的最低值或固定值),默認狀況下這個頁面全部的檢查項應該都是「OK」的,若是有紅色的錯誤項,根據前面提示的變量名,去找PHP的配置文件,修改爲「REQUIRED」要求的值就能夠啦(默認PHP的配置文件/etc/php.ini

  • Check of pre-requisites

  • 第三個頁面Configure DB connection 這一步驟會去嘗試鏈接數據庫。第一項數據庫類型選擇MySQL;DB Host 保持默認的localhost(由於這裏採用了AIO的安裝方式,數據庫沒有單獨分離);DB Port修改爲3306;DB Name:zabbix; User:zabbix;Password:zabbix。點擊Next step若是出現報錯,根據報錯信息排查是不是配置錯誤(這些配置都是在前面設置過的,3306是MySQL默認的端口號)

  • Configure DB connection

  • 第四個頁面Zabbix server details 保持默認的Host:localhost和Port:10051配置便可,Name能夠自定義設置,爲這套監控系統起個名字

  • Zabbix server details

  • 第五個頁面Pre-installation summary 總覽一下前面全部的配置Next step

  • Pre-installation summary

  • 第六個頁面Install 我在進入到這個頁面後,出現了報錯,提示Can not create the configuration file 下方官方也給出了手動解決這個問題的方法。按照提示,第一步點擊給出的鏈接,下載zabbix官方提供的配置文件;第二步,根據提示,放在指定的位置保存爲指定的文件,我這裏提示保存爲:/usr/share/zabbix/conf/zabbix.conf.php 按照提示操做完成後點擊Finish

    Install

  • 若是上面配置的都沒有問題,第七個頁面將會出現congratulations! ... 點擊Finish

  • Install2

  • 第八個頁面將會出現登錄頁面,默認的登錄用戶名爲Admin 密碼爲zabbix

  • login

Zabbix的使用簡介

進入到Zabbix首頁後,會發現3.0版本與以前的2.x版本的界面相比面目一新,更養眼了,對解決2.x版本的審美疲勞起到了必定的做用。固然這只是最膚淺的外貌協會成員的結論,除了顏值高了,Zabbix還有50餘項技術更新,變得愈發強大了~~~

  • Configuation–>Hosts–>status中,將Disabled變成Enabled狀態,稍等片刻,若是Zabbix Agent啓動正常的話,ZBX的圖標就會亮起,表示Server與Agent之間通訊正常
  • Enabled
  • 監控首頁會是以下狀態(各個模塊能夠拖拽移動佈局)
  • Dashboard
  • 再瞅一眼監控圖表的效果~
  • Graphs1

那麼問題來了,雖然3.0換了一層扁平簡約的外觀,可是圖表展現仍是同樣的醜……爲了解決這個問題,Grafana能夠幫上大忙,接下來的部分就詳細介紹如何使用Grafana給Zabbix監控圖表披上一層華麗的外衣

RPM包安裝方式


Grafana安裝部分

截止至我寫這篇文檔的時候,Grafana的最新版本是2.6.0 而Grafana原生是不支持獲取Zabbix數據的,須要經過grafana-zabbix插件來實現,grafana-zabbix插件的最新版本是2.5.1,github上寫的很清楚,該插件服務於Grafana的2.5版本。通過測試,成功在2.6.0的Grafana上使用了grafana-zabbix的2.5.1版本。因此這裏你能夠任意選擇2.5或2.6版本的Grafana來安裝。

Grafana的下載及安裝

1
2
3
shell> yum install https://grafanarel.s3.amazonaws.com/builds/grafana-2.6.0-1.x86_64.rpm #這裏只提供了yum的安裝方式,其餘安裝方式能夠參考附錄中的Grafana官方安裝文檔
shell> service grafana-server start #啓動Grafana服務
shell> chkconfig grafana-server on #添加開機自動啓動

Grafana Zabbix插件的下載及安裝

1
2
3
4
#https://github.com/alexanderzobnin/grafana-zabbix/releases/latest #請到該網址下載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聯通部分

  • 在瀏覽器地址欄輸入 http://IP:3000就能夠看到Grafana的登錄頁面了。輸入默認的用戶名admin 密碼admin登錄
  • 點擊左側的Data Sourses–>Add new
    • Type下拉框中選擇Zabbix
    • Name 能夠自由發揮~~
    • 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
    • Save保存後再編輯,出現Test Connection按鈕,點擊可測試API配置是否正確。出現:Success Zabbix API version: 3.0.0 配置成功enter image description here

Grafana配置部分

至此僅差最後一步,將Zabbix的數據讀取到Grafana來以圖表展現,就打完收工啦!

  • 點擊左側的Dashboards–>Home–>在下拉菜單的底部選擇+ New。這時新的頁面中默認出現一個空的橫行圖表,左上角有綠色的豎線,右下角有+ ADD ROW添加新行的按鈕。
  • 鼠標放在左上角的綠色豎線上,點擊後彈出一個菜單,選擇Add Panel。下面有五個選項,下面選擇四個經常使用的分別介紹
  • 記得點擊上面的保存按鈕以保存新建的頁面

Graph

這個選項是建立一個圖表,相似於Zabbix的監控圖表,是最經常使用的類型之一。

  • General-Title:設置該圖表的名稱
  • Metrics:在該項的右下角,選擇正確的數據源(以前在Data Sources配置的Name)
  • Metrics-Group/Host/Application/Item:這些項目是必填項目,須要依次下拉選擇
    若是一張圖須要展示兩條線的數據,能夠在左下角點擊+ Query
  • Display Styles-Chart Options:這裏能夠選擇以豎線展現,以折線展現或以來展現數據
    Grafana-Graph

Table

表格展現,相似於Excel表格的展示形式
enter image description here

  • 點擊 - + 號能夠調整該模塊的大小(橫向伸縮)
  • 點擊Edit能夠從新編輯該模塊的數據源

Single stat

單統計模塊,從字面意思就能夠知道,該種模塊僅能夠展現一種數據,統計一種數據。這裏須要重點說明就是Option選項下的參數

以統計磁盤使用大小一項來舉例

  • Unit:要選擇data下的bytes單位來統計
  • Decimals:小數設置保持默認的auto便可
  • Coloring:這裏能夠選擇渲染背景色或字體色
    • Colors控制着三個顏色,能夠自由發揮,通常綠色表明正常,黃色表明預警,紅色表明警告
    • Thresholds能夠設置以逗號分隔的三個數字,分別表示三個狀態的閾值
    • Spark lines有兩種顯示模式,Show會在數據的下方展現折線;Background mode會在整個模塊的背景展現折線

Text

這個模塊很好理解,就是一個現實文字的模塊,支持markdown語法,能夠放在每一個頁面的頭部,標記當前圖表信息的歸類。

Dashboards list

這個模塊是用來展現頁面列表用的。舉個例子,若是一個監控系統中,涉及到了多個頁面展現監控圖表,就會用到這個功能,這個模塊會列出你須要展現的頁面的列表,方便在當前頁面中,快速的切換到其餘監控頁面。

最終效果圖

頁面自動刷新

點擊右上角Last 6 hours, 在彈出的下拉框中,選擇Time range下的Refreshing every選項,點擊下拉框按鈕,默認應該有off 和1m兩個選項。點擊1m 而後Apply設置。即爲每一分鐘刷新一次數據的意思。設置成功後,在原來Last 6 hours的後面會出現Refresh every 1m的橙色文字!


附錄:參考文檔

Zabbix 3.0官方文檔

Remi官方文檔

Grafana官方網站

Grafana官方安裝文檔

相關文章
相關標籤/搜索