1. 程式人生 > >CentOS 7 + Zabbix 4.0 監視網絡設備

CentOS 7 + Zabbix 4.0 監視網絡設備

ems direct linux devel 驗證 相同 表示 password linked

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

CentOS 7 + Zabbix 4.0 監視網絡設備