欢迎光临三门峡市救护车出租网
详情描述

一、监控进程状态

1. 使用内置监控项

进程数量监控(通过 proc.num):

# 监控所有名为 "nginx" 的进程
proc.num[nginx]

# 监控特定用户的进程
proc.num[nginx,,www-data]

# 监控指定命令参数的进程
proc.num[,,,mysql]

# 监控特定进程ID文件
proc.num[,,,pid,/var/run/nginx.pid]

2. 配置步骤

在 Zabbix Agent 配置文件中添加zabbix_agentd.conf):

# 启用进程监控
EnableRemoteCommands=1

# 自定义监控项(可选)
UserParameter=process.check[*],ps aux | grep -v grep | grep $1 | wc -l

在 Zabbix Web 界面配置

创建监控项:

  • 名称:Nginx 进程状态
  • 键值:proc.num[nginx]
  • 信息类型:数字(无正负)
  • 更新间隔:30s

配置触发器:

# 当进程数为0时触发告警
{Template OS Linux:proc.num[nginx].last()}=0

# 进程数超过阈值
{Template OS Linux:proc.num[nginx].min(5m)}>50

二、监控端口状态

1. 使用 net.tcp.listen 监控项

# 监控TCP端口
net.tcp.listen[80]
net.tcp.listen[3306]

# 监控UDP端口
net.udp.listen[53]

# 指定IP地址监控
net.tcp.listen[127.0.0.1,80]

2. 使用自定义脚本监控

创建监控脚本 /etc/zabbix/scripts/check_port.sh

#!/bin/bash
PORT=$1
TIMEOUT=3

# 检查端口是否监听
nc -z -w $TIMEOUT 127.0.0.1 $PORT > /dev/null 2>&1
if [ $? -eq 0 ]; then
    echo 1
else
    echo 0
fi

配置 UserParameter

UserParameter=port.status[*],/etc/zabbix/scripts/check_port.sh $1

3. 使用 ss 或 netstat 命令

UserParameter=tcp.port[*],ss -tln | grep :$1 | wc -l
UserParameter=port.process[*],netstat -tlnp | grep :$1 | awk '{print $7}' | cut -d'/' -f1

三、完整配置示例

1. Agent 端配置

/etc/zabbix/zabbix_agentd.d/process_port.conf

# 进程监控
UserParameter=service.status[*],systemctl is-active $1
UserParameter=process.count[*],pgrep -c $1

# 端口监控
UserParameter=port.listen[*],netstat -tln | grep ":$1 " | wc -l
UserParameter=port.tcp.status[*],timeout 2 bash -c "echo > /dev/tcp/127.0.0.1/$1" && echo 1 || echo 0

# 获取进程详细信息
UserParameter=process.info[*],ps aux | grep $1 | grep -v grep | head -1

2. 监控模板配置

创建模板包含以下监控项:

进程监控项: | 名称 | 键值 | 触发器条件 | |------|------|------------| | Nginx进程数 | proc.num[nginx] | {last()}=0 | | MySQL进程状态 | proc.num[mysqld] | {last()}=0 | | Java应用进程 | proc.num[java] | {max(5m)}>100 |

端口监控项: | 名称 | 键值 | 触发器条件 | |------|------|------------| | SSH端口 | net.tcp.listen[22] | {last()}=0 | | HTTP端口 | net.tcp.listen[80] | {last()}=0 | | 数据库端口 | net.tcp.listen[3306] | {last()}=0 |

四、自动发现进程和端口

1. 自动发现监控的进程

创建发现规则:

{
    "data": [
        {
            "{#PROCNAME}": "nginx",
            "{#USER}": "www-data"
        },
        {
            "{#PROCNAME}": "mysql",
            "{#USER}": "mysql"
        }
    ]
}

2. 端口自动发现脚本

/etc/zabbix/scripts/discover_ports.sh

#!/bin/bash
echo '{"data":['

# 获取监听端口
netstat -tln | grep 'LISTEN' | awk '{print $4}' | cut -d':' -f2 | sort -nu | while read port
do
    echo -n '{"{#PORT}":"'$port'"},'
done | sed 's/,$//'

echo ']}'

对应的 UserParameter:

UserParameter=discover.ports,/etc/zabbix/scripts/discover_ports.sh

五、高级监控配置

1. 进程资源监控

# 监控进程CPU使用率
UserParameter=process.cpu[*],ps aux | grep $1 | grep -v grep | awk '{print $3}' | head -1

# 监控进程内存使用
UserParameter=process.mem[*],ps aux | grep $1 | grep -v grep | awk '{print $4}' | head -1

2. 依赖服务监控

# 监控服务及其依赖端口
UserParameter=service.health[*],/etc/zabbix/scripts/service_health.sh $1

六、测试和验证

1. 手动测试监控项

# 在Agent端测试
zabbix_agentd -t "proc.num[nginx]"
zabbix_agentd -t "net.tcp.listen[80]"

# 从Server端测试
zabbix_get -s 客户端IP -k "proc.num[nginx]"

2. 调试日志

# 在agent配置中开启调试
DebugLevel=4
LogFile=/var/log/zabbix/zabbix_agentd.log

最佳实践建议

权限管理

  • Agent运行用户需要执行权限
  • 敏感命令配置sudo权限

性能优化

  • 合理设置更新间隔
  • 使用批量监控项
  • 避免过于频繁的端口扫描

告警策略

  • 设置合理的告警阈值
  • 配置告警恢复通知
  • 使用依赖项避免级联告警

安全考虑

  • 限制可监控的进程列表
  • 使用白名单机制
  • 定期审计监控配置

这样的配置可以实现对进程和端口的全面监控,并能及时发现问题并告警。

相关帖子
子女在外地工作,如何远程为家乡父母了解和预约社区的养老助餐服务?
子女在外地工作,如何远程为家乡父母了解和预约社区的养老助餐服务?
三门峡市救护车长途跨省运送病人-正规救护车电话
三门峡市救护车长途跨省运送病人-正规救护车电话
三门峡市救护车咨询电话|专业接送病人救护车
三门峡市救护车咨询电话|专业接送病人救护车
当亲人进入生命最后阶段,作为家属我们可以提前做好哪些心理与事务准备?
当亲人进入生命最后阶段,作为家属我们可以提前做好哪些心理与事务准备?
作为自由职业者,2026年是否有新渠道可以自愿缴纳并提取公积金?
作为自由职业者,2026年是否有新渠道可以自愿缴纳并提取公积金?
安庆市客户关系管理系统开发&网站运营,高端网站开发设计
安庆市客户关系管理系统开发&网站运营,高端网站开发设计
自贡市救护车长途转运病人-出院转院救护车出租服务,就近派车
自贡市救护车长途转运病人-出院转院救护车出租服务,就近派车
德阳市120长途救护车出租|长途医疗转运车出租电话
德阳市120长途救护车出租|长途医疗转运车出租电话
背景调查中常见的“红线”问题有哪些,一旦触犯就大概率无法入职?
背景调查中常见的“红线”问题有哪些,一旦触犯就大概率无法入职?
宜宾市大型活动保障救护车租赁服务-急救车出租咨询电话,按公里收费
宜宾市大型活动保障救护车租赁服务-急救车出租咨询电话,按公里收费
领取失业保险金有时间限制吗,最长可以连续领取多少个月?
领取失业保险金有时间限制吗,最长可以连续领取多少个月?
汉中市企业数字化&专业网站开发服务,优秀设计团队
汉中市企业数字化&专业网站开发服务,优秀设计团队
南宁市资讯网站设计制作%短视频营销推广,收费透明
南宁市资讯网站设计制作%短视频营销推广,收费透明
绵阳市120救护车电话|救护车租车
绵阳市120救护车电话|救护车租车
信阳市商城网站建设设计%企业获客软件,定制开发
信阳市商城网站建设设计%企业获客软件,定制开发
绍兴市高效获客渠道&品牌网站制作设计,价格透明
绍兴市高效获客渠道&品牌网站制作设计,价格透明
成都市救护车接送患者转院|120救护车收费价格
成都市救护车接送患者转院|120救护车收费价格
南充市救护车长途跨省运送病人-跨省转院救护车租赁,收费合理
南充市救护车长途跨省运送病人-跨省转院救护车租赁,收费合理
坐月子时如何合理安排休息,与照顾新生儿的时间取得平衡?
坐月子时如何合理安排休息,与照顾新生儿的时间取得平衡?
面对父母可能产生的“数字鸿沟”与信息焦虑,子女有哪些引导与陪伴的策略?
面对父母可能产生的“数字鸿沟”与信息焦虑,子女有哪些引导与陪伴的策略?