Zabbix架構
監(jiān)控分類
一、Zabbix的優(yōu)缺點
1甲喝、優(yōu)勢
- 開源尝苇,無軟件成本投入。性能埠胖、功能強大糠溜,server對設備性能要求低。
- 支持設備多直撤,自帶多種監(jiān)控模板非竿。
- 支持多種監(jiān)控方式。如zabbix-agent谋竖、snmp等红柱。
- 支持分布式集中管理,有自動發(fā)現(xiàn)功能蓖乘,可以實現(xiàn)自動化監(jiān)控锤悄,能監(jiān)控的agent非常多。
- zabbix有圖形的Web配置界面嘉抒,配置簡潔零聚。
- 開放式接口,擴展性強些侍,插件編寫容易隶症。
2、缺點
需要在被監(jiān)控主機上安裝Agent岗宣,所有的數(shù)據(jù)都存在數(shù)據(jù)庫里蚂会,產生的數(shù)據(jù)很大,瓶頸主要在數(shù)據(jù)庫狈定。
二颂龙、Zabbix報警方式
電話、企業(yè)微信纽什、郵件措嵌、釘釘、微信等等芦缰。
三企巢、Network discover網絡發(fā)現(xiàn)
1、介紹
網絡發(fā)現(xiàn)是zabbix最具有特色的功能之一让蕾,它能夠根據(jù)用戶事先定義的規(guī)則自動添加監(jiān)控的主機或服務等浪规。
2或听、優(yōu)點
- 加快Zabbix部署
- 簡化管理 ---在快速變化的環(huán)境中使用Zabbix,而不需要過度管理
3笋婿、發(fā)現(xiàn)方式
IP地址范圍誉裆、可用服務(ftp、ssh缸濒、http.....)足丢、zabbix_agent的響應、snmp_agent的響應庇配。
4斩跌、網絡發(fā)現(xiàn) ---兩個階段
discovery發(fā)現(xiàn)、action動作
discover:
8種響應事件:
zabbix定期掃描網絡發(fā)現(xiàn)規(guī)則中定義的IP范圍捞慌;
檢查頻率對于每個規(guī)則都是可配置的耀鸦,每個規(guī)則都有一組用于為IP范圍執(zhí)行的服務檢查。
由網絡發(fā)現(xiàn)模塊執(zhí)行的服務和主機IP的每個檢查都會生成一個發(fā)現(xiàn)事件啸澡。
- actions:
網絡發(fā)現(xiàn)中的事件可以觸發(fā)action袖订,從而自動執(zhí)行指定的操作,把discover events當作前提條件锻霎。
Sending notifications 發(fā)送通知
Adding/removing hosts 添加/刪除主機
Enabling/disabling hosts 啟用/禁用host
Adding hosts to a group 向組中添加主機
Removing hosts from a group 移除組中的主機
Linking hosts to/unlinking from a template 從模板鏈接主機或取消鏈接
Executing remote scripts 執(zhí)行遠程腳本
這些事件的配置還可以基于設備的類型著角、IP、狀態(tài)旋恼、上線/離線等進行配置吏口。
5、網絡發(fā)現(xiàn):接口添加
網絡發(fā)現(xiàn)中添加主機時會自動創(chuàng)建interface接口
四冰更、配置網絡發(fā)現(xiàn)Network discovery
1产徊、配置agent端
[root@zabbinx-slave ~]# yum -y install zabbix-agent zabbix-sender
[root@zabbinx-slave ~]# vim /etc/zabbix/zabbix_agentd.conf
Hostname=zabbix-slave1
開啟服務
[root@zabbinx-slave ~]# systemctl start zabbix-agent
2、設置自動發(fā)現(xiàn)規(guī)則discovery
注釋:
① key:zabbix_get -s 192.168.30.2 -p 10050 -k "system.hostname"
② 更新間隔:1h就好蜀细,不要掃描太過頻繁舟铜,掃描整個網段,太廢資源奠衔;這里為了實驗谆刨,設為1m
3、自動發(fā)現(xiàn)成功
4归斤、設置自動發(fā)現(xiàn)discovery的動作action
① 設置A條件痊夭,自動發(fā)現(xiàn)規(guī)則=test.net
② 設置B條件,自動發(fā)現(xiàn)狀態(tài)=up
添加主機到監(jiān)控
自動鏈接Template OS Linux到此host
配置action完成脏里,默認是disabled停用
啟動動作她我,確定已經生效,模板鏈接成功
五、Web監(jiān)控
1番舆、介紹
監(jiān)控指定的站點的資源下載速度酝碳,及頁面響應時間,還有響應代碼
2恨狈、創(chuàng)建設置web場景
1)創(chuàng)建
2)配置web檢測
3)點擊步驟疏哗,設置web page web頁面,設置名為home page拴事,URL為http://192.168.30.7/index.html的web頁面
4)設置名為fpm status沃斤,URL為http://192.168.30.7/fpm-status的web頁面
5)設置2個頁面成功
3、查看測試
六刃宵、主動/被動監(jiān)控
1、介紹
- 被動檢測:server向agent請求獲取配置的各監(jiān)控項相關的數(shù)據(jù)徘公,agent接收請求牲证、獲取數(shù)據(jù)并響應給server
- 主動檢測:agent向server請求與自己相關監(jiān)控項配置,主動地將server配置的監(jiān)控項相關的數(shù)據(jù)發(fā)送給server
說明:主動監(jiān)控能極大節(jié)約監(jiān)控server 的資源
用法選項
zabbix_sender:
-z zabbix_server_ip
-p zabbix_server_port
-s zabbix_agent_hostname
-k key
-o value 值
zabbix_sender發(fā)送數(shù)據(jù):實現(xiàn)人工生成數(shù)據(jù)关面,發(fā)給server端
2坦袍、通過設置一個內建key發(fā)送數(shù)據(jù)主動監(jiān)控
1)agent端所需要的基本配置
ServerActive=192.168.30.107 #給哪個監(jiān)控server 發(fā)送數(shù)據(jù)
Hostname=slave1.along.com #自己的主機名,假設主機定死了等太,不設置下一項
#HostnameItem= #如果自己的主機名易變動捂齐,這一項相當于key一樣去匹配
2)設置一個主動監(jiān)測3压真、設置一個通過命令zabbix_sender發(fā)送數(shù)據(jù)主動監(jiān)控
1)配置一個zabbix traper(采集器)的item監(jiān)控項
2)agent端手動發(fā)送數(shù)據(jù)
[root@zabbinx-slave ~]# zabbix_sender -z 192.168.30.107 -p 10051 -s node1.along.com -k "send.test.data" -o 56721
3)監(jiān)控數(shù)據(jù)變化七、JMX接口
java虛擬機(JVM)具有內置的插裝癞季,是我們能夠使用JMX監(jiān)視和管理它梗摇。
1吃衅、配置Zabbix-server
1. 部署JDK環(huán)境
[root@zabbinx-master ~]# java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
2. 安裝java gateway配置
[root@zabbinx-master ~]# yum -y install zabbix-java-gateway
[root@zabbinx-master ~]# vim /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0" #監(jiān)聽服務器地址
LISTEN_PORT=10052 #監(jiān)聽zabbix_java進程的端口,默認是10052
PID_FILE="/tmp/zabbix_java.pid" #zabbix_java的pid路徑
START_POLLERS=5 #zabbix_java的進程數(shù)
TIMEOUT=10 #zabbix_java的超時時間
3. 修改zabbix_server配置文件
JavaGateway=10.212.52.14 #Java網關地址泼差,即為Zabbix Server本身地址
JavaGatewayPort=10052 #Java網關監(jiān)控端口
StartJavaPollers=5 #啟動Java監(jiān)控的進程數(shù),與上面一樣
4.啟動服務
[root@zabbinx-master ~]# systemctl start zabbix-java-gateway
[root@zabbinx-master ~]# systemctl restart zabbix-server
2呵俏、配置Zabbix-agent
1. 下載jar包
[root@zabbinx-agent ~]# wget -O /usr/local/tomcat/lib/catalina-jmx-remote.jar http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.33/bin/extras/catalina-jmx-remote.jar
2.配置jmx
[root@zabbinx-agent ~]# vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=172.16.147.155 -Dcom.sun.management.jmxremote.port=12345"
3. 查看端口
[root@zabbinx-agent ~]# ss -tnlp |grep 12345
LISTEN 0 50 :::12345 :::* users:(("java",pid=86226,fd=20))
在node節(jié)點上添加JMX接口----->連接tomcat模板---->查看監(jiān)控項
八堆缘、分布式監(jiān)控
1、介紹
- 分布式監(jiān)控概述:proxy柴信、node
- Zabbix三種架構:Server-agent套啤、Server-Node-agent、Server-Proxy-agent
在Server端配置通過Proxy監(jiān)控的主機;Zabbix agent端允許Zabbix proxy主機執(zhí)行數(shù)據(jù)采集操作潜沦。
配置操作步驟省略
九萄涯、調優(yōu)
- 歷史數(shù)據(jù)不要保存太久;
- 盡量讓數(shù)據(jù)保存在數(shù)據(jù)庫服務器內存中唆鸡;
- 觸發(fā)器表達式:減少使用聚合函數(shù)min(),max(),avg()涝影;盡量使用last(),nodata()争占,因為聚合函數(shù)要運算燃逻。
- 數(shù)據(jù)收集:epolling較慢(減少使用SNMP);盡量使用trapping(agent主動監(jiān)控)
- 數(shù)據(jù)類型:
文本數(shù)據(jù)處理速度較慢臂痕,盡量少收集test或string類型的數(shù)據(jù)伯襟;
多使用類型numeric數(shù)據(jù)型數(shù)據(jù);- 設定合理的緩存大小
- 數(shù)據(jù)庫優(yōu)化:分庫分表