监控模板

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 展示程序)

监控脚本

监控端口

创建脚本

1
2
3
mkdir /etc/zabbix/scripts/
cd /etc/zabbix/scripts/
vim port_check.sh

1
2
3
4
5
6
7
#!/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

部署脚本
1
2
3
4
cat /etc/zabbix/zabbix_agentd.d/userparameter_script.conf
UserParameter=/etc/zabbix/scripts/port_check.sh
#重启 zabbix-agent
systemctl restart zabbix-agent