#須要修改的內容爲以下:
[root@localhost ~]# cd /usr/local/zabbix/etc/
[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'
12 # ListenPort=10051
38 LogFile=/tmp/zabbix_server.log
87 DBName=zabbix
103 DBUser=zabbix
111 # DBPassword=
118 # DBSocket=/tmp/mysql.sock
136 # StartPollers=5
165 # StartTrappers=5
181 # StartDiscoverers=1
297 # ListenIP=0.0.0.0
447 # AlertScriptsPath=${datadir}/zabbix/alertscriptscss
#將zabbix_server.conf文件內容修改爲以下所示:
[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'
12 ListenPort=10051 #zabbix server監聽端口
38 LogFile=/tmp/zabbix_server.log #zabbix server日誌路徑
87 DBName=zabbix #zabbix server鏈接MySQL數據庫的數據庫名
103 DBUser=zabbix #zabbix server鏈接MySQL數據庫的用戶名
111 DBPassword=123123 #zabbix server鏈接MySQL數據庫的密碼
118 DBSocket=/tmp/mysql.sock #MySQL的實例文件位置
136 StartPollers=5 #用於設置zabbix server服務啓動時啓動Pollers(主動收集數據進程)的數量,數量越多,則服務端吞吐能力越強,同時對系統資源消耗越大
165 StartTrappers=10 #用於設置zabbix server服務啓動時啓動Trappers(負責處理Agentd推送過來的數據的進程)的數量。Agentd爲主動模式時,zabbix server須要設置這個值大一些。
181 StartDiscoverers=10 #用於設置zabbix server服務啓動時啓動Discoverers進程的數量,若是zabbix監控報Discoverers進程忙時,須要提升該值。
297 ListenIP=0.0.0.0 #zabbix server啓動的監聽端口對哪些ip開放,Agentd爲主動模式時,這個值建議設置爲0.0.0.0
447 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix server運行腳本存放目錄,一些供zabbix server使用的腳本,均可以放在這裏。node
zabbix agent端的配置文件mysql
#須要修改的內容以下所示: [root@Zabbix_Server ~]# cd /etc/zabbix/ [root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p' 13 PidFile=/var/run/zabbix/zabbix_agentd.pid 32 LogFile=/var/log/zabbix/zabbix_agentd.log 95 Server=127.0.0.1 103 # ListenPort=10050 120 # StartAgents=3 136 ServerActive=127.0.0.1 147 Hostname=Zabbix server 265 Include=/etc/zabbix/zabbix_agentd.d/*.conf 284 # UnsafeUserParameters=0 #將內容修改成以下所示: [root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p' 13 PidFile=/var/run/zabbix/zabbix_agentd.pid #進程pid存放路徑 32 LogFile=/var/log/zabbix/zabbix_agentd.log #zabbix agent日誌存放路徑 95 Server=127.0.0.1,192.168.0.220 #指定zabbix server端IP地址 103 ListenPort=10050 #指定agentd的監聽端口 120 StartAgents=3 #指定啓動agentd進程數量。設置0表示關閉 136 ServerActive=192.168.0.220:10051 #啓用agnetd主動模式,啓動主動模式後,agentd將主動將收集到的數據發送到zabbix server端,Server Active後面指定的IP就是zabbix server端IP 147 Hostname=192.168.0.220 #須要監控服務器的主機名或者IP地址,此選項的設置必定要和zabbix web端主機配置中對應的主機名一致。 265 Include=/etc/zabbix/zabbix_agentd.d/ #相關配置均可以放到此目錄下,自動生效 284 UnsafeUserParameters=1 #啓用agent端自定義item功能,設置此參數爲1後,就可使用UserParameter指令了。UserParameter用於自定義item
如何知道zabbix server監控已經生效呢,可經過zabbix server上的zabbix_get命令來完成,在zabbix server上執行以下命令便可進行測試:linux
#利用以下命令進行測試
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime"
-s 是指定zabbix agent端的IP地址 -p 是指定zabbix agent端的監聽端口 -k 是監控項,即item 若是有輸出結果,表面zabbix server能夠從zabbix agent獲取數據,配置成功。
具體操做以下:nginx
#在監控端zabbix_server端進行以下操做 [root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime" 26330 #有數據顯示就表明監控正常 [root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.220 -p 10050 -k "system.uptime" 55653 #有數據顯示就表明監控正常
- 經常使用的圖形:能夠根據本身喜愛,添加按主機按監控項添加快捷的查看連接
- 經常使用的聚合圖形:能夠將多個監控圖形的曲線合併顯示
- 經常使用的拓撲圖:集羣的架構圖
- 主機狀態:被監控的主機的實時狀態
- Web檢測:發一個http請求,看看web是否能正常訪問
- 系統狀態:監控端zabbix server服務器的狀態
- 最近20個問題:最後發生的20個告警信息
- Zabbix狀態:zabbix server監控的詳細彙總信息
調整後,以下所示:web
特別提示
在生產環境時,主機組的名字必定要用英文,否則,當zabbix進行二次開發的時候,中文名稱都是亂碼。那感受很讓人想死...sql
特別提示
在生產環境中主機的名字必定要是英文,而且務必和真實主機的主機名一致,且必須歸類加入到主機組中。否則zabbix在進行二次開發的時候會很是麻煩(須要創建相似索引形式的東西去關聯真實服務器)數據庫
如今假如咱們要定義一個獲取nginx鏈接數的監控項,那麼咱們先得去嘗試可以獲取這個值。在以前的nginx配置文件裏咱們已經加入了status模塊的獲取vim
(1)咱們登陸網頁獲取這個信息ruby
(2)咱們嘗試經過命令獲取這個信息
[root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" Active connections: 6 server accepts handled requests 301 301 8833 Reading: 0 Writing: 1 Waiting: 5 [root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" Active connections: 6 [root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}' 6
(3)在zabbix agent配置文件裏定義這個監控項
[root@localhost ~]# cd /etc/zabbix/ #進入zabbix agent目錄 [root@localhost zabbix]# ls zabbix_agentd.conf zabbix_agentd.d [root@localhost zabbix]# vim zabbix_agentd.conf [root@localhost zabbix]# sed -n '257,270p' zabbix_agentd.conf ### Option: Include # You may include individual files or all files in a directory in the configuration file. # Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time. # # Mandatory: no # Default: # Include= Include=/etc/zabbix/zabbix_agentd.d/ #咱們發現zabbix_agentd.d目錄已經默認被include進入了主配置文件。 # Include=/usr/local/etc/zabbix_agentd.userparams.conf # Include=/usr/local/etc/zabbix_agentd.conf.d/ # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
因爲zabbix_agentd.conf配置文件默認導入了全部zabbix_agentd.d目錄下的內容,所以咱們能夠將監控項定義到zabbix_agentd.d目錄下。
(4)參考模版,本身定義監控項的獲取命令
[root@localhost zabbix_agentd.d]# pwd /etc/zabbix/zabbix_agentd.d [root@localhost zabbix_agentd.d]# vim nginx.conf [root@localhost zabbix_agentd.d]# cat nginx.conf [root@localhost zabbix_agentd.d]# cat nginx.conf UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'
(5)自定義監控項,等於改變了配置文件,天然須要重啓zabbix_agentd
[root@localhost ~]# /etc/init.d/zabbix-agent restart Shutting down Zabbix agent: [ OK ] Starting Zabbix agent: [ OK ]
(6)在zabbix server端測試獲取自定義的監控項信息
[root@localhost ~]# zabbix_get -s 192.168.0.220 -p 10050 -k "nginx.active" 6
至此zabbix自定義監控項的後臺定義所有完成
(1)點選一個被監控的主機
(2)進入監控項建立模版
(3)建立監控項
(4)建立完成的監控項
監控項建立完成之後,在zabbix server這個主機裏就出現這個新定義的監控項了。
(1)點選一個被監控的主機
(2)進入圖形建立模版
(3)查看圖形繪圖
(4)關於圖形的各類顯示效果
正常圖形:
層積圖形
Pie圖形
爆發的圖形
(1)建立一個聚合圖形
(2)編輯聚合圖形
(3)選擇展現圖形
(4)將聚合圖形添加到zabbix web首頁面板
(1)進入拓撲圖編輯界面
(2)添加一個新的拓撲圖形
(3)拓撲圖連接拓撲圖
(4)拓撲圖顯示時時的鏈接帶寬
上圖中的標籤內容以下:
{linux-node1.yunjisuan.com:net.if.out[eth0].last(0)}
linux-node1.yunjisuan.com爲定義的主機名
net.if.out[eth0]爲監控項的表達式
last(0)爲取監控項的最後一個值