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天為區間,拖動⑥這橫向的滾動條,可以查看前一個時間區間或后一個時間區間的流量圖表。

 6 添加window 主機
參考   https: // jingyan.baidu.com/article/fcb5aff76486f2edaa4a712a.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM