文章目錄
- 0. 老男孩思想-一個人的背書
- 1. zabbix各種客戶端
- 1.1 Windows Server監控
- 1.2 網絡設備監控
- 1.3 java應用監控
- 1.4 前端監控java程序故障
- 2. 相關項監控
- 3. 思維導圖
0. 老男孩思想-一個人的背書
學歷、能力、態度、特長、人品、口碑(身邊的人、領導)
1. zabbix各種客戶端
客戶端 | 監控方式 |
---|---|
linux服務器 | zabbix-agent/zabbix-agent2 |
Windows Server | zabbix-agent/zabbix-agent2 |
網絡設備(路由器、防火墻) | snmp協議 |
java應用 | 1.jmx監控 2.自定義監控 |
硬件設備 | ipmi(【老男孩教育-李導-手把手帶你玩轉物理服務器】 https://www.bilibili.com/video/BV1rb411n7a8/?share_source=copy_web&vd_source=c657b73410fb550859862bc71fe979b9) |
- JMX(Java Management Extensions)是Java平臺提供的監控和管理工具,允許開發者和管理員通過標準接口監控JVM、應用程序性能、配置參數等。
1.1 Windows Server監控
- 官方下載客戶端監控:
[Download Zabbix agents](https://www.zabbix.com/cn/download_agents?version=7.0+LTS&release=7.0.16&os=Windows&os_version=Any&hardware=amd64&encryption=OpenSSL&packaging=MSI&show_legacy=0)
- 軟件包:
zabbix_agent2-7.0.10-windows-amd64-openssl.msi 鏈接: https://pan.baidu.com/s/1UQ6G-Ekt8u1NWxgYkT_VlQ?pwd=zgkp 提取碼: zgkp
- 正常安裝軟件即可,不要修改安裝路徑
- 前端添加主機
1.2 網絡設備監控
- 常見網絡設備:三層交換機、企業路由器、防火墻
- SNMP協議:簡單網絡管理協議;默認端口:161
- v1、v2:僅需設置密碼即可
- v3:需設置用戶名和密碼
- 以路由器為例
1.3 java應用監控
- 自定義監控
- 鍵值執行的腳本:
# 系統中需要運行tomcat;
[root@web03.oldboy.cn /server/scripts]# cat check_java.sh
#!/bin/bash
##############################################################
# File Name:check_java.sh
# Version:V1.0
# Author:SunKexu
# Organization:www.oldboyedu.com
# Desc:zabbix監控java程序
##############################################################
#1.vars
choice=$1
name=/app/tools/tomcat/#2.獲取pid
pid=`jps -lvm|grep $name|awk '{print $1}'`#3.case語句指定各種指標名字
case "$choice" in maxsize) # 獲取最大內存空間maxsize=`jmap -heap $pid|grep MaxHeapSize |awk '{print $3}'`echo $maxsize;;edenfree) # 獲取eden內存空間free=`jmap -heap $pid |grep -A4 'Eden Space'|awk 'NR==4{print $3}'`echo $free;;*) echo 666
esac
- 編寫鍵值的配置文件,需要重啟zabbix-agent2:
[root@web03.oldboy.cn /server/scripts]# cat /etc/zabbix/zabbix_agent2.d/web-java.conf
# 編寫自定義監控
UserParameter=web.java[*],sudo /bin/bash /server/scripts/check_java.sh "$1"
- 命令中使用了sudo,zabbix執行命令使用的虛擬用戶是zabbix,所以需要配置sudo權限:
[root@web03.oldboy.cn /server/scripts]# tail -n 1 /etc/sudoers
zabbix ALL=(ALL) NOPASSWD: ALL
- 前端添加監控項
1.4 前端監控java程序故障
- 故障現象:兩個java程序的監控項,有一個能用,一個不能用
- 故障復現:對同一臺服務器開啟多個窗口,在同一時間執行jmap命令
- 故障原因:linux系統底層程序鎖,對正在執行讀寫的程序加鎖,確保數據的安全性
- 解決方法1:前端設置不同監控項的執行頻率/時間間隔,使得兩個命令在不同的時間執行;
- 解決方法2:系統設置定時任務執行jmap命令,并將結果寫入文件;前端監控項執行時,直接讀取文件即可
- 解決方法3:前端使用相關項監控
2. 相關項監控
- 主要項:zabbix鍵值;自定義鍵值
- 相關項:從主要項中過濾,取出某個指標/數據
- 以執行jmap -heap為例
- 腳本:
[root@web03.oldboy.cn /server/scripts]# cat jmap.sh
#!/bin/bash
##############################################################
# File Name:check_java.sh
# Version:V1.0
# Author:SunKexu
# Organization:www.oldboyedu.com
# Desc:zabbix監控java程序
##############################################################
#1.vars
name=/app/tools/tomcat/#2.獲取pid
pid=`jps -lvm|grep $name|awk '{print $1}'`#3.執行命令
jmap -heap $pid
- 配置鍵值:
[root@web03.oldboy.cn /server/scripts]# cat /etc/zabbix/zabbix_agent2.d/web-java.conf
# 編寫自定義監控
UserParameter=web.java[*],sudo /bin/bash /server/scripts/check_java.sh "$1"
# jmap所有數據
UserParameter=web.java.all,sudo /bin/bash /server/scripts/jmap.sh
[root@web03.oldboy.cn /server/scripts]# systemctl restart zabbix-agent2.service
- 前端定義監控項
- 配置相關項
- 正則表達式:
Eden Space:\s+capacity.+\s+used.+\s+free += (\d+).*
3. 思維導圖
https://kdocs.cn/join/gpuxq6r?f=101\r\n邀請你加入共享群「老男孩教育Linux運維99期-孫克旭」一起進行文檔協作