一. 自定义参数

  1. 在zabbix-agent主机上根据命令定义参数
    例:查看当前系统登录用户数
    uptime | awk -F “ ” ‘{print $5}’ //根据shell命令查找出当前登录用户数
    vi /etc/zabbix/zabbix_agentd.d/testparam.conf //新建参数配置文件testparam.conf
    UserParameter=login-user,uptime | awk -F " " '{print $5}' //在配置文件里新建参数login-user
    /etc/init.d/zabbix_agent restart //重启zabbix客户端使配置生效
  2. 在zabbix-server主机上测试
    例:查看zabbix-agent主机登录用户数是否可获取到
    zabbix_get -s (192.168.10.12) -k login-user // -s zabbix_agent主机IP -k 设置的参数
    二. 自定义监控项、触发器、图形
  3. 自定义监控项
    zabbix 自定义参数及邮件报警_第1张图片
    主要是键值采用在zabbix-agent主机上设置的参数
  4. 自定义触发器
    zabbix 自定义参数及邮件报警_第2张图片
  5. 自定义图形
    zabbix 自定义参数及邮件报警_第3张图片
    三. 自定义邮件报警
  6. 安装简单邮件发送工具mailx
    yum -y install mailx //在线安装mailx
    vim /etc/mail.rc
    set [email protected] //163注册的个人邮箱,用于zabbi服务端转发邮件到指定邮箱
    set smtp=smtp.163.com //填写163发送邮箱服务器地址smtp
    set smtp-auth-user= [email protected] //163个人邮箱用户
    set smtp-auth-password=123456 //163个人邮箱密码
    set smtp-auth=login //登录
    echo "测试发送邮件" | mail -s "this is a test" [email protected] //测试邮件是否发送成功
  7. 编写邮件发送脚本
    查看zabbix_server.conf文件确定脚本默认存放位置
    vim /etc/zabbix/zabbix_server.conf
    AlertScriptsPath=/usr/lib/zabbix/alertscripts //由于是yum安装,默认脚本路径在此
    cd /usr/lib/zabbix/alertscripts/ //进入zabbix默认存放脚本路径
    vim sendmail.sh //编写发送邮件脚本
    shell脚本内容:
    #!/bin/bash
    messages=echo $3 | tr '\r\n' '\n'
    subject=echo $2 | tr '\r\n' '\n'
    echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
    注:$1,$2,$3 三个参数分别表示:收件人邮箱,邮件名主题,邮件内容
    chown zabbix:zabbix sendmail.sh
  8. zabbix服务器设置报警媒介类型
    再添加以下3个参数,分别对应脚本需要的3个参数:收件人地址、主题、详细内容:
    {ALERT.SENDTO}
    {ALERT.SUBJECT}
    {ALERT.MESSAGE}
    zabbix 自定义参数及邮件报警_第4张图片
  9. 用户报警媒介设置
    zabbix 自定义参数及邮件报警_第5张图片
  10. 动作设置
    zabbix 自定义参数及邮件报警_第6张图片
    操作:
    默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
    默认信息:
    告警主机IP地址:{HOST.CONN}
    告警主机:{HOSTNAME1}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY1}
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

    恢复操作:
    默认接收人:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
    恢复信息:
    告警主机IP地址:{HOST.CONN}
    告警主机:{HOSTNAME1}
    告警时间:{EVENT.DATE} {EVENT.TIME}
    告警等级:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警项目:{TRIGGER.KEY1}
    问题详情:{ITEM.NAME}:{ITEM.VALUE}
    当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}