zabbix 进程监控和配置钉钉告警、自定义Key
目录
1 添加主机
zabbix 版本比较旧生产的版本,RPM方式安装:zabbix-server安装和入门
1.1.配置要监控主机的信息
1.2.添加监控信息模板
2 进程监控
总的来说,配置一个完整的监控流程如下:
1.创建监控项,即配置要监控的指标,如内存的使用率,CPU的使用率,进程的运行状况等,配了监控项后就会定时收集机器的配置信息,然后等待zabbix server收集(zabbix agent被动模式)。
2.创建触发器,触发器将监控项收集的数据通过触发器表达式进行评估。
在触发器表达式中我们可以定义哪些值范围是合理,哪些是不合理的,如果出现不合理的值,触发器会把状态改为PROBLEM,接下来就到了报警以及发邮件。
3.创建动作,在zabbix中动作的意思是触发器触发后要进行的操作,一般是通过配置给相关负责人发送邮件,短信等通知。
2.1.创建监控项
创建监控项 ,对于 backup-hdp 机器,监控 helloSleep.sh 脚本运行启动的进程
配置 ===》主机 ===》监控项
选择 proc.num[,,,] 这个 Key
说明:
proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量
- name - 进程名称 (默认“all processes”)
- user - 用户名 (默认 “all users”)
- state - 可用值: all (默认), run,sleep, zomb
- cmdline - 命令行过滤(正则表达时)
[root@zabbix conf]# zabbix_get -s 172.16.76.222 -p 10050 -k "proc.num[,,,helloSleep]"
2.2.创建触发器
配置 ===》主机 ===》触发器, 可以在 表达式构造器中 进行测试
2.3.报警媒介类型创建
管理===》报告媒介类型===》报警媒介类型信息填写
脚本传入三个参数:发送消息、dingURL、告警人的手机号
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
import sys
import os
headers = {'Content-Type': 'application/json;charset=utf-8'}
def msg(text,api_url,phone):
json_text= {
"msgtype": "text",
"text": {
"content": text
},
"at": {
"atMobiles": phone,
}
}
print requests.post(api_url,json.dumps(json_text),headers=headers).content
if __name__ == '__main__':
text = sys.argv[1]
api_url = sys.argv[2]
phone = "["+sys.argv[3]+"]"
msg(text,api_url,phone)
告警脚本路径配置(压缩包安装和rpm 安装的路径不一样,告警脚本路径配置了就行),如果 python 库 报错则 下载所需要的 request、json、sys 库
[root@zabbix conf]# cat /usr/local/etc/zabbix_server.conf | grep Alert
### Option: StartAlerters
# Alerters send the notifications created by action operations.
# StartAlerters=3
### Option: AlertScriptsPath
AlertScriptsPath=/home/zabbix/alertscripts/
2.4.用户创建
2.4.1.用户信息填写
管理 ===》用户 ===》选择admin用户
2.4.2.添加报警媒介
报警媒介选择创建好的backup-hdp 钉钉告警
2.4.3.添加报警媒介
2.4.4.用户权限设置
2.5.创建动作
创建动作的事件源为 触发器, 触发器的条件满足则动作发生。
2.5.1.动作配置
2.5.2.动作中的操作配置
2.5.3.定义恢复操作
3 测试
1.启动 helloSleep.sh 脚本
2.查看进程是否启动
3.在zabbix中 查看进程状态信息
4.钉钉告警信息发出
4 自定义Key
4.1zabbix客户端key说明
比如:vm.memory.size[pused]
# 内存的使用率
[root@hdp104 ~]# zabbix_get -s 192.168.2.154 -k vm.memory.size[pused]
92.499053
[root@hdp104 ~]#
4.2.zabbix-agent 配置conf
自定义key ,监控java进程
[root@backup-hdp etc]# cat /usr/local/zabbix/etc/zabbix_agentd.conf | grep process.sh
UserParameter=java.process.status[*],/bin/bash /home/zabbix/monitor/process.sh $1
配置 完conf 后,重新启动 zabbix-agent,然后就可以使用该 Keyle
4.3.zabbix中使用
后面就可以使用该 Key 进行 Java 进程的监控, 其中 java.process.status[xx] 中的 内容可以是 ps -ef | grep xxx进程中的任何 信息, 只要是唯一可区分的值就行
欢迎大家点赞和关注!
相关文章
- mysql sql慢查询监控脚本
- 旋转门数据压缩算法在PostgreSQL中的实现 - 流式压缩在物联网、监控、传感器等场景的应用
- 重新整理 .net core 实践篇—————配置系统之间谍[八](文件监控)
- dows 性能监控软件 Spotlight On Windows
- zabbix 实现对服务器的负载监控
- 视频监控架构方案/系统方案
- KAFKA安装+配置详解+常用操作+监控
- Centos7二进制部署k8s-v1.20.2 ipvs版本(Prometheus监控k8s)
- linux(centos8):zabbix配置邮件报警(监控错误日志)(zabbix5.0)
- Qt编写安防视频监控系统41-秘钥认证
- Prometheus Operator 使用ServiceMonitor管理监控配置
- Intel CPU 官方的温度监控软件 - Intel Power Gadget Options
- ML:MLOps系列讲解之《MLOps原则—迭代增量过程/自动化/持续部署/版本控制/实验跟踪/测试/监控/“ML成绩”系统/可再现性/松散耦合架构(模块化)/基于ML的软件交付指标等》解读
- 数据源监控与预警
- Androidclient性能參数监控
- SpringBoot三种方式配置Alibaba Druid用于监控或者查看SQL状况:yml或properties配置;Java bean代码配置;注解配置 yml和properties的在线相互转换
- zabbix监控cpu jumps
- Redis监控方案
- 【云原生之Docker实战】使用docker部署nightingale运维监控平台
- 监控服务器配置(五)-----Redis_exporter安装配置
- Flutter 耗时监控 | 路由名为空原因分析
- springboot09、监控
- 【Zabbix实战之运维篇】Zabbix监控平台的邮件报警配置
- zabbix-proxy分布式监控配置(二十五)
- [ Azure - Database ] 在 Azure Database for MySQL 中配置 binlog Auditing 并进行实际监控使用