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