您的位置 首页 zabbix

如何使用 Zabbix 监控 Shell 脚本的 CPU 和内存(未完)

如何使用 Zabbix 监控 Shell 脚本的 CPU 和内存

1. 创建自定义监控脚本
创建监控脚本

文件路径: /etc/zabbix/scripts/process_monitor.sh

#!/bin/bash
# 文件路径: /etc/zabbix/scripts/process_monitor.sh
# 功能: 监控指定进程的CPU和内存使用情况

PROCESS_NAME="$1"
METRIC="$2"  # cpu, mem, pid

if [ -z "$PROCESS_NAME" ] || [ -z "$METRIC" ]; then
    echo "Usage: $0 <process_name> <cpu|mem|pid>"
    exit 1
fi

# 获取进程信息
get_process_info() {
    local name="$1"
    local metric="$2"
    
    case "$metric" in
        "cpu")
            # 获取CPU使用率
            ps -eo comm,%cpu --no-headers | grep "^$name" | awk '{sum += $2} END {print sum+0}'
            ;;
        "mem")
            # 获取内存使用率
            ps -eo comm,%mem --no-headers | grep "^$name" | awk '{sum += $2} END {print sum+0}'
            ;;
        "pid")
            # 获取进程PID列表
            pgrep -f "$name" | tr '\n' ',' | sed 's/,$//'
            ;;
        *)
            echo "Unknown metric: $metric"
            exit 1
            ;;
    esac
}

get_process_info "$PROCESS_NAME" "$METRIC"

 

设置脚本权限

sudo chmod +x /etc/zabbix/scripts/process_monitor.sh
sudo chown zabbix:zabbix /etc/zabbix/scripts/process_monitor.sh

 

2. 配置 Zabbix Agent

编辑 Zabbix Agent 配置文件

# 编辑 /etc/zabbix/zabbix_agentd.conf 或 /etc/zabbix/zabbix_agentd.d/userparameter_process.conf

 vim /etc/zabbix/zabbix_agentd.d/system.conf

添加自定义监控项

# 监控指定进程的CPU使用率
UserParameter=process.cpu[*],/etc/zabbix/scripts/process_monitor.sh "$1" cpu

# 监控指定进程的内存使用率
UserParameter=process.mem[*],/etc/zabbix/scripts/process_monitor.sh "$1" mem

# 获取指定进程的PID
UserParameter=process.pid[*],/etc/zabbix/scripts/process_monitor.sh "$1" pid

# 监控特定脚本的详细信息
UserParameter=script.cpu[*],ps -eo args,%cpu --no-headers | grep "$1" | grep -v grep | awk '{sum += $NF} END {print sum+0}'
UserParameter=script.mem[*],ps -eo args,%mem --no-headers | grep "$1" | grep -v grep | awk '{sum += $NF} END {print sum+0}'

3. 重启 Zabbix Agent

systemctl restart  zabbix-agent.service

4. 在 Zabbix Web 界面创建监控项

创建监控项步骤:
进入 Zabbix Web 界面
选择主机 → 配置 → 监控项
点击"创建监控项"
示例监控项配置:
监控 CPU 使用率:

名称: Script MyScript CPU Usage
键值: process.cpu[my_script.sh]
类型: Zabbix agent
信息类型: Numeric (float)
单位: %
更新间隔: 30s

 

没有搞完。。。。。。。。。。。。。

 

欢迎来撩 : 汇总all

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章