监控模板
Linux 基础监控模板
https://github.com/dongwenpeng/zabbix
监控内容
- CPU 监控
空闲时间、中断时间、iowait时间、系统使用时间、用户使用时间、每秒上下文切换次数、每秒中断次数、负载等
- 内存 & Swap 监控
总共内存、合法内存、使用内存、使用内存百分比、swap 空闲大小、swap 空闲百分比
- 系统进程监控
当前进程总数、当前正在运行的进行
- 磁盘容量监控
总大小、已经使用的和未使用的、已使用百分比、空闲 Inode 百分比;使用自动发现
- 磁盘状态监控
rrqm/s、wrqm/s、r/s、w/s、rsec/s、wsec/s、avgrq-sz、avgqu-sz、await、r_await w_await、svctm、%util,iostat 命令获取的值
- 网卡接口监控
网卡进出流量、Packages QPS、drop packages 统计、errors packages 统计等
- 网络连接监控
tcp 连接状态(closewait、timewait、established、listen、finwait)等
- 网络 Socket 监控
Socket 数量、tcp/udp mem、tcp_alloc 等
还包括系统本地时间、系统启动时间、/etc/passwd 和 /etc/hosts 文件检测、主机名、最大打开文件数、系统信息等
使用方法
把 Template_Linux_System_Base.xml 文件导入到 zabbix web 界面中即可,另外需要在 zabbix-agent 端把zabbix_agentd.d 目录中的几个配置文件和 scripts 目录放在 /etc/zabbix/zabbix_agentd.d/ 目录下,然后重启zabbix-agent 即可。
另外针对此模板还提供了 Grafana 图形展示模板,是一个 JSON 格式,直接导入到 Grafana 即可(Grafana 是一个非常漂亮的 Dashboard 展示程序)
监控脚本
监控端口
创建脚本
mkdir /etc/zabbix/scripts/
cd /etc/zabbix/scripts/
vim port_check.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#指定状态检查的端口
port=8080
#端口不存在,则输出 ip:端口号 is down
ip=$(ifconfig ens8 |grep inet |head -1 |awk '{print $2}' |cut -d "/" -f 1)
curl -Is localhost:$port |head -1 |grep 200 &>/dev/null && echo $ip:$port is ok ||echo $ip:$port is down
部署脚本
cat /etc/zabbix/zabbix_agentd.d/userparameter_script.conf
UserParameter=/etc/zabbix/scripts/port_check.sh
#重启 zabbix-agent
systemctl restart zabbix-agent