1. 程式人生 > >CentOS 7 + Zabbix 4.0 監視網路裝置

CentOS 7 + Zabbix 4.0 監視網路裝置

Zabbix 4.0 安裝

 參考:  https://www.cnblogs.com/yaoyaojcy/p/9884130.html

 1.1 Centos 準備

1.1.1 升級系統元件到最新的版本
yum update -y 更新Linux

1.1.2 關閉selinux
setenforce 0 #臨時關閉命令
vi /etc/selinux/config #將SELINUX=enforcing改為SELINUX=disabled
設定後需要重啟才能生效

getenforce #檢測selinux是否關閉,Disabled 為關閉

1.1.3 關閉防火牆

systemctl stop firewalld.service #臨時關閉firewall
systemctl disable firewalld.service #禁止firewall開機啟動

1.2 搭建LAMP環境

1.2.1 安裝所需所有軟體倉庫

Zabbix是建立在LAMP或者LNMP環境之上,在此為了方便就使用yum安裝LAMP環境。

yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
rpm -qa httpd php mariadb #安裝完成後檢查應用版本

1.2.2 編輯httpd

vi /etc/httpd/conf/httpd.conf
ServerName www.zabbix.com #修改為主機名
DirectoryIndex index.html index.php # 新增首頁支援格式 

1.2.3 編輯配置php,配置中國時區

vi /etc/php.ini
date.timezone = PRC # 配置時區

1.2.4 啟動httpd,mysqld

systemctl start httpd #啟動並加入開機自啟動httpd
systemctl enable httpd
systemctl start mariadb #啟動並加入開機自啟動mysqld
systemctl enable mariadb
ss -anplt | grep httpd #檢視httpd啟動情況,80埠監控表示httpd已啟動
ss -naplt | grep mysqld #檢視mysqld啟動情況,3306埠監控表示mysqld已啟動 

1.2.5 建立一個測試頁,測試LAMP是否搭建成功

vi /var/www/html/index.php #建立一個測試頁,並編輯

<?php
phpinfo()
?>

本地測試:curl http://127.0.0.1 -I #本地測試

1.2.6 初始化mysql資料庫,並配置root使用者密碼

mysqladmin -u root password ykadmin123 #設定資料庫root密碼

mysql -u root -p #root使用者登陸資料庫
CREATE DATABASE zabbix character set utf8 collate utf8_bin; #建立zabbix資料庫(中文編碼格式)
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'ykadmin123'; #授予zabbix使用者zabbix資料庫的所有許可權,密碼ykadmin123
flush privileges; #重新整理許可權
quit #退出資料庫

vi /var/www/html/index.php #修改測試頁內容,測試zabbix使用者是否能夠登陸資料庫,這個環節很重要

<?php
$link=mysql_connect('172.18.20.224','zabbix','ykadmin123');
if($link) echo "<h1>Success!!</h1>"; #顯示Success表示連線資料庫成功
else echo "Fail!!";
mysql_close();
?>

在瀏覽器中開啟'172.18.20.224,驗證更改生效

2. 安裝zabbix

2.1 安裝依賴包 + 元件

yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

yum install php-bcmath php-mbstring -y #安裝php支援zabbix元件

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #會自動生成yum原始檔,保證系統可以上網

yum install zabbix-server-mysql zabbix-web-mysql -y #安裝zabbix元件

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p -h 172.18.20.224 zabbix #匯入資料到資料庫zabbix中(最後一個zabbix是資料庫zabbix),且因為使用者zabbix是%(任意主機),所以登入時需要加上當前主機ip(-h 172.18.20.224),密碼是使用者zabbix登陸密碼ykadmin123

vi /etc/zabbix/zabbix_server.conf #配置資料庫使用者及密碼
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf #確認資料庫使用者及密碼

vi /etc/httpd/conf.d/zabbix.conf //修改時區

將# php_value date.timezone Europe/Riga 變更成php_value date.timezone Asia/Shanghai

systemctl enable zabbix-server # #啟動並加入開機自啟動zabbix-server
systemctl start zabbix-server

netstat -anpt | grep zabbix //監聽在10051埠上,如果沒監聽成功,可重啟zabbix-server服務試試

建議重啟伺服器,再繼續。

2.2 web介面安裝zabbix

如果以上步驟無誤,現在可以使用web開啟

http://172.18.20.224/zabbix  //注意這裡IE瀏覽器打不開,本次測試使用chrome瀏覽器

 

  

  

 

 

 

  

 2.3  更換語言

2.4  解決圖例中文亂碼的問題 

       從C:\Windows\Fonts 中複製字型zabbix server伺服器"/usr/share/zabbix/fonts"目錄中

 修改php頁面指定的字型檔案:vi /usr/share/zabbix/include/defines.inc.php define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');

  修改為      define('ZBX_GRAPH_FONT_NAME', 'simkai');

 儲存,重啟web,重新整理zabbix web頁面

參考  http://blog.51cto.com/wsw26/2068082

3  配置網路裝置開啟snmp

交換機全域性配置:

Config ter

snmp-server community private rw

snmp-server community public ro

Do Show snmp community | include public

參考 http://blog.sina.com.cn/s/blog_698b66a40101ey1r.html

 

4 在zabbix 關聯網路裝置

參考 http://blog.51cto.com/tryrus/1772271

需要用到getif這個軟體,請自行下載。

 4.1 開啟軟體,連線交換機

注意:Windows 7/8/8.1系統需要單擊右鍵,選擇以管理員身份執行,否則軟體會報錯。 ①Host name #填寫要連接獲取埠ID編號的交換機IP。 ②SNMP Parameters/Read #設定SNMP協議的讀團體字元,必須與交換機上設定的一致。 ③點選Start,等待結果。  ④出現SysInfo variables OK,表明連線成功
4.2 獲取交換機埠ID編號

Interfaces->Start,將埠號與前面的埠ID編號記錄下來。這裡只需要知道交換機埠的ID編號即可

 

4.3 新增交換機

   具體步驟是①建立主機群組(Host groups),②建立模板(Templates),③建立專案(Items),④建立主機(Hosts)。

  4.3.1 建立Host groups     一個公司中會有很多裝置需要監控,交換機,伺服器,印表機之類的。同類型或同業務的裝置會有多臺,所以相同型別或業務的裝置需要放在同一個組裡,以方便管理。     開啟建立主機群組介面Configuration->Host groups->Create host group 。     建立Host group     ①Group name  #輸入裝置群組名,我這裡要新建一些交換機,所以取名為Switch。     ②Hosts #如果之前有新建好的交換機,可以從右邊的選項框中選到這個群組下。一般都是在新建主機的時候選擇主機所屬的主機群組,所以這裡的主要作用應該是切換主機所屬的群組,即可以把主機從一個群組切換到另一個群組。     ③點選Add,建立完成。

    按照同樣的方法為Templates建立一個群組,取名為Switch Templates。

    4.3.2 建立Templates     Templates的作用在於可以為同類型或型號的交換機、伺服器、印表機、主機等建立統一的模板,在以後建立Host時,引用這個模板,這個模板下所有的Application、Items、Graphs等都會自動在Host下建立。     開啟建立模板介面Configuration->Templates->Create template。 

    建立Template

    ①Template name #給模板取一個名字,建議用交換機的型號來命名。     ②Groups #選擇這個模擬所屬的群組,這裡選我們之前建立好的Switch Templates。     ③點選Add,建立完成。  

   同時我還建立了其它交換機型號的Templates,注意後面的Items,是馬上將要建立的,這些建立好的Items會在後面新建立的Host上自動建立。

   4.3.3 建立Items      開啟建立專案介面Configuration->Templates->在列表中選擇一個模板->Items->Create item。  

     建立Item,建立埠Item

     ①Name #以埠號為Item name,並標註是In or Out。      ②Type  #交換機,印表機之類的裝置不支援安裝zabbix agent,所以要選擇SNMP協議,一般選擇V1版本,請提前確認你的裝置支援SNMP協議。      ③Key  #這個Key值可以從Getin 軟體中查來。 ifInOctets.5 進項流量,ifOutOctets.3 出項流量,具體參考  http://blog.51cto.com/ustogether/1929752      ④SNMP OID  #修改interfaces.ifTable.ifEntry.ifInOctets.5最後的數值 5為埠ID編號,從Getin 軟體中查來的。 如果是Out的流量,將ifInOctests改成ifOutOctets即可,即interfaces.ifTable.ifEntry.ifOutOctets.1。      ⑤SNMP community  #設定SNMP協議的讀團體字元,必須與交換機上設定的一致。      ⑥Units #設定埠流量的單位, 這裡設定 bps。      ⑦Update interval  #根據伺服器的效能和監控的裝置數量來設定,預設也可以。  

     ⑧在 processing 中隊 收到的資料進行預處理  

Use custom multiplier # 打上勾,並設定數值為8,如果不設定,Units的單位就是Bps。

      ⑨change 中 選 change per second   (相當於老版本中的    Store value  #設定為Delta)  參考 : http://www.mamicode.com/info-detail-2054273.html      ⑩其它設定預設即可,最後勾上Enabled,點選Add,建立完成。  

     同一個埠有In的流量也會有Out的流量,將這個型號的交換機所有埠新建成Item後,結果如下。

  4.3.4 建立Hosts      開啟建立主機介面Configuration->Hosts->Create host。        建立Host     ①Host name  #主機名稱,最好與交換機名稱一致,可再帶上交換機的IP。     ②Group #選擇交換機所屬的群組。     ③SNMP interfaces  #填寫交換機的IP。   

     ④Monitored by proxy 選擇no proxy,並激活此主機。

       ⑤選擇Host選擇旁邊的Templates選項為主機選擇所屬的模板。     ⑥點選Select進入到模板選擇介面。          ⑦Group 這裡選擇之前建立的Switch Templates。     ⑧選擇主機所屬的模板,即交換機型號,因為我的模板是以交換機型號來區分的。點選Select返回Host的Templates介面。     ⑨點選Add,確定增加這個模板給到這個Host,這一步很重要。          ⑩確定Linked templates裡面有我們剛才選擇的模板之後,點選Add,建立完成。          建立完成後的狀態如下圖,之前為模板建立好的Item會自動為主機建立。AVAILABLITY這一欄中SNMP是綠色的,表示監控成功,不成功為紅色。     5 建立埠流量監控   5.1 建立Graphs     開啟建立圖形介面Configuration->Hosts->選擇一個主機->Graphs->Create graph。     建立Graph     ①Name  #設定這個監控圖表的名稱。     ②點選Add,進入選擇要監控的埠介面。       在這裡選擇要監控流量的埠       ③其它預設配置即可,點選Add,建立完成。     建立完成後的狀態如下圖。   5.2 檢視埠流量     開啟監控埠流量介面Monitoring->Graphs->Group->Host->Graph

    Zabbix流量圖表可以通過左邊Zoom列表中所列的時間段來分段檢視埠流量情況,可以是以1小時為區間,也可是以7天為區間,拖動⑥這橫向的滾動條,可以檢視前一個時間區間或後一個時間區間的流量圖表。