1.安裝zabbix
官網下載地址 www.zabbix.com/download
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web zabbix-web-mysql //zabbix-agent 客戶端軟件;zabbix-get 服務端的工具,能夠經過命令行得到客戶端數據;zabbix-server-mysql 跟mysql相關的文件;zabbix-web web界面;zabbix-web-mysql web與mysql相關的文件
安裝結果
已安裝:
zabbix-agent.x86_64 0:3.2.11-1.el7 zabbix-get.x86_64 0:3.2.11-1.el7 zabbix-server-mysql.x86_64 0:3.2.11-1.el7 zabbix-web.noarch 0:3.2.11-1.el7
zabbix-web-mysql.noarch 0:3.2.11-1.el7 php
做爲依賴被安裝:
OpenIPMI-libs.x86_64 0:2.0.19-15.el7 OpenIPMI-modalias.x86_64 0:2.0.19-15.el7 dejavu-fonts-common.noarch 0:2.33-6.el7 dejavu-sans-fonts.noarch 0:2.33-6.el7
fontpackages-filesystem.noarch 0:1.44-8.el7 fping.x86_64 0:3.10-4.el7 iksemel.x86_64 0:1.4-6.el7 libX11.x86_64 0:1.6.5-1.el7
libX11-common.noarch 0:1.6.5-1.el7 libXau.x86_64 0:1.0.8-2.1.el7 libXpm.x86_64 0:3.5.12-1.el7 libxcb.x86_64 0:1.12-1.el7
libzip.x86_64 0:0.10.1-8.el7 php.x86_64 0:5.4.16-43.el7_4.1 php-bcmath.x86_64 0:5.4.16-43.el7_4.1 php-cli.x86_64 0:5.4.16-43.el7_4.1
php-common.x86_64 0:5.4.16-43.el7_4.1 php-gd.x86_64 0:5.4.16-43.el7_4.1 php-ldap.x86_64 0:5.4.16-43.el7_4.1 php-mbstring.x86_64 0:5.4.16-43.el7_4.1
php-mysql.x86_64 0:5.4.16-43.el7_4.1 php-pdo.x86_64 0:5.4.16-43.el7_4.1 php-xml.x86_64 0:5.4.16-43.el7_4.1 t1lib.x86_64 0:5.1.2-14.el7
unixODBC.x86_64 0:2.3.1-11.el7 mysql
會連帶安裝httpd和php
vim /etc/my.cnf //須要增長配置
character_set_server = utf8 爲了web頁面可以顯示中文
重啓mysqld服務後,進入mysql命令行,建立zabbix庫
create database zabbix character set utf8;
再建立用戶
grant all on zabbix. * to 'zabbix'@'127.0.0.1' identified by '123456';
導入數據
cd /usr/share/doc/zabbix-server-mysql-3.2.11
gzip -d create.sql.gz
mysql -uroot -pxxx zabbix < create.sql
systemctl start httpd; systemctl enable httpd
vim /etc/zabbix/zabbix_server.conf //修改或增長
DBHost=127.0.0.1 //在DBName=zabbix上面增長,與前文對應
DBPassword=123456 //在DBuser下面增長,與前文對應
systemctl start zabbix-server
systemctl enable zabbix-server
日誌文件:/var/log/zabbix/zabbix_server.log
netstat -lntp |grep zabbix //查看監聽端口
zabbix監聽10051端口
瀏覽器訪問http://ip/zabbix/ web界面下面配置zabbix
安裝網頁一步步來就好(出現PHP option "date.timezone" unknown Fail,須要設置時區:vi /etc/php.ini設置timezone=Asia/Shanghai)
用戶名Admin 密碼zabbix
進入後臺第一件事情就是修改密碼
若是忘記了密碼:
進入mysql命令行,選擇zabbix庫
mysql -uroot -p zabbix
update users set passwd=md5(‘newpasswd’) where alias=‘Admin’;
這樣就更改了Admin用戶的密碼
客戶端安裝
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf //修改以下配置
Server=127.0.0.1修改成Server=192.168.133.130 //定義服務端的ip(被動模式)
ServerActive=127.0.0.1修改成ServerActive=192.168.133.130 //定義服務端的ip(主動模式)
Hostname=Zabbix server修改成Hostname=slx-123 //這是自定義的主機名,一會還須要在web界面下設置一樣的主機名
systemctl start zabbix-agent
systemctl enable zabbix-agent
監控端口爲10050linux
2.工做模式
主動或者被動是相對客戶端來說的
被動模式,服務端會主動鏈接客戶端獲取監控項目數據,客戶端被動地接受鏈接,並把監控信息傳遞給服務端
主動模式,客戶端會主動把監控數據彙報給服務端,服務端只負責接收便可。
當客戶端數量很是多時,建議使用主動模式,這樣能夠下降服務端的壓力。
服務端有公網ip,客戶端只有內網ip,但卻能連外網,這種場景適合主動模式git
3.配置主機
在web界面:配置-->主機羣組 添加主機羣組
配置-->主機 添加主機
點擊如下幾個項目能夠查看各組信息
應用集爲監控項目的集合
監控項目
觸發器是對監控項目設置的告警規則
圖形是根據歷史數據作圖表
自動發現規則 自動配置合適的分區和網卡
web檢測 監控網址web
4.添加自定義模板
自定義模板的羣組要選擇templates
自定義的模板開始建立時能夠不須要應用集、監控項等等,能夠從其餘已有模板裏複製
或者乾脆在建立時選擇連接的模板,再取消連接(取消與原來的聯繫可是不清空),把不想要的項目刪除(若不取消連接,則不能刪除)
5.處理圖形中的亂碼
圖中小方塊本來應是漢字,緣由在於缺乏字庫
設置爲中文後,zabbix圖形的中文文字會顯示小方框
這是由於在zabbix的字體庫中沒有中文字體,須要從windows上借用一個過來
vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH
它定義的路徑是「fonts」,它是一個相對路徑,絕對路徑爲/usr/share/zabbix/fonts,而字體文件爲「ZBX_GRAPH_FONT_NAME」所定義的「graphfont」,它是一個文件,絕對路徑爲/usr/share/zabbix/fonts/graphfont
windows字體路徑爲「C:\Windows\Fonts\」,找到「simfang.ttf」(其實就是那個仿宋簡體),先把它複製到桌面上,而後上傳到linux的/usr/share/zabbix/fonts/,而且更名爲graphfont.ttf
結果發現這個字體不行,換成黑體了……過程是同樣的
6.自動發現設置
點進去能夠進行更改
能夠更改時間間隔,方便監控
重啓zabbix服務端和客戶端後,刷新web,圖形出現新項目,來源是自動發現(剛纔把時間間隔改成60s,刷新一下就出現了,可是考慮到負載,最好再把間隔時間調大些)sql
7.添加自定義監控項目(模板裏沒有的,須要在linux上自定義)
需求:監控某臺web的80端口鏈接數,並出圖
兩步:1)zabbix監控中心建立監控項目;2)針對該監控項目以圖形展示
對於第一步,須要到客戶端定義腳本
vim /usr/local/sbin/estab.sh //內容以下(文件位置可自定義,但要求與下文的userparameters後的同樣)
#!/bin/bash
##獲取80端口併發鏈接數
netstat -ant |grep ':80 ' |grep -c ESTABLISHED //80後面有空格,避免匹配到8080等其餘端口
chmod 755 /usr/local/sbin/estab.sh //爲了給zabbix用戶以執行權限
客戶端上編輯配置文件 vim /etc/zabbix/zabbix_agentd.conf//增長
UnsafeUserParameters=1 //表示使用自定義腳本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh //自定義監控項的key爲my.estab.count,後面的[*]裏面寫腳本的參數(用逗號分隔),若是沒有參數則能夠省略,腳本爲/usr/local/sbin/estab.sh
重啓zabbix-agent服務 systemctl restart zabbix-agent
首先到服務端驗證,執行命令
zabbix_get -s 192.168.86.130 -p 10050 -k 'my.estab.count'
而後在zabbix監控中心(瀏覽器)配置增長監控項目
鍵值寫my.estab.count(也可自定義,可是要與前文相同)
添加該項目後,到「監測中」--> 「最新數據」查看剛添加的項目是否有數據出現
有了數據就能夠添加圖形了
「配置」-->「主機」 -->「圖形」 -->「建立圖形」 (添加並選擇剛建立的監控項)
vim
8.配置告警
使用163或者QQ郵箱發告警郵件
首先登陸163郵箱,設置開啓POP三、IMAP、SMTP服務
開啓並記錄受權碼
而後到監控中心設置郵件告警
「管理」-->「報警媒介類型」-->「建立媒體類型」
三個參數分別指:收件人,郵件主題,郵件內容
建立報警腳本mail.py
vim /usr/lib/zabbix/alertscripts/mail.py //內容參考https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D22Z/mail.py
chmod 755 /usr/lib/zabbix/alertscripts/mail.py
建立一個接受告警郵件的用戶,「管理」,「用戶」,「建立用戶」,「報警媒介」,選擇「gaojing」,注意用戶的權限,若是沒有須要到用戶組去設置權限(默認是無,須要設置爲讀寫)
設置動做,「配置」,「動做」,「建立動做」,名稱寫「sendmail」(自定義),「操做」頁面,內容以下
HOST:{HOST.NAME} {HOST.IP} //主機名
TIME:{EVENT.DATE} {EVENT.TIME} //發生時間
LEVEL:{TRIGGER.SEVERITY} //示警度
NAME:{TRIGGER.NAME} //觸發器名
messages:{ITEM.NAME}:{ITEM.VALUE} //顯示信息
ID:{EVENT.ID} //事件id
「新的觸發條件」,A維護狀態 非在 維護,B觸發器示警度>=未分類
單擊「新的」
單擊下面的「添加」
切換到「恢復操做」,把信息改爲以下
HOST:{HOST.NAME} {HOST.IP}
TIME:{EVENT.DATE} {EVENT.TIME}
LEVEL:{TRIGGER.SEVERITY}
NAME:{TRIGGER.NAME}
messages:{ITEM.NAME}:{ITEM.VALUE}
ID:{EVENT.ID}
點擊「新的」,「操做」,選擇發送的用戶爲剛建立的用戶,僅送到選擇「gaojing」
windows