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

一、监控进程状态

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年是否有新渠道可以自愿缴纳并提取公积金?
乌兰察布市活动赛事保障救护车出租服务-救护车长途转运,24小时在线电话
乌兰察布市活动赛事保障救护车出租服务-救护车长途转运,24小时在线电话
阿克苏120救护车出租跑长途|长途120急救车租赁护送病人返乡
阿克苏120救护车出租跑长途|长途120急救车租赁护送病人返乡
佛山市苹果系统app开发&企业网站制作设计,优秀开发团队
佛山市苹果系统app开发&企业网站制作设计,优秀开发团队
巴彦淖尔市救护车出租-重症监护救护车出租,24小时在线电话
巴彦淖尔市救护车出租-重症监护救护车出租,24小时在线电话
南阳市商城网站开发建设%营销网站建设,专业设计团队
南阳市商城网站开发建设%营销网站建设,专业设计团队
道路施工期间产生的噪音与扬尘,有哪些科学的降噪除尘措施?
道路施工期间产生的噪音与扬尘,有哪些科学的降噪除尘措施?
黄石市网站推广&开源网站二次开发,价格透明
黄石市网站推广&开源网站二次开发,价格透明
呼伦贝尔市救护车转运服务-长途120救护车护送,收费合理
呼伦贝尔市救护车转运服务-长途120救护车护送,收费合理
“特价商品,售出概不负责”这样的店堂告示,是否具有法律约束力?
“特价商品,售出概不负责”这样的店堂告示,是否具有法律约束力?
杭州市专业网站设计建设%小视频营销推广,模板建站
杭州市专业网站设计建设%小视频营销推广,模板建站
通过公积金支付房租,整个操作流程中比较容易出现失误的环节通常会在哪里?
通过公积金支付房租,整个操作流程中比较容易出现失误的环节通常会在哪里?
哈密市救护车护送病人转院|长途120急救车租赁护送病人返乡
哈密市救护车护送病人转院|长途120急救车租赁护送病人返乡
在参与本地举办的公益文化活动时,户籍身份能带来哪些优先参与权?
在参与本地举办的公益文化活动时,户籍身份能带来哪些优先参与权?
鄂尔多斯市活动赛事保障救护车租赁服务-出租120救护车护送病人转院
鄂尔多斯市活动赛事保障救护车租赁服务-出租120救护车护送病人转院