文章目录
Zabbix 监控
1 代理 Proxy
- 代理只是一个数据搜集的服务器,不提供报警、触发器、动作
- 代理需要一个单独的服务器
设置:
- 代理端配置文件 /etc/zabbix/zabbix_proxy.conf
Server = 服务端的 ip
Hostname = 最好是 proxy 自己的主机名
主机名:地域-机房-机柜号-主机名
关于数据保留时间
汇报后的,数据保存到本地的持续时间
未汇报或者断联,数据保留在本地的时间
关于更新频率
向服务端请求监控配置信息的频率
向服务器汇报数据的频率
Agent 端的配置
被 proxy 监控的主机
Server = proxy的 ip
2 自定义脚本的报警媒介
- 编写好自己的脚本
- shell
- python
- java
- php
收信息的人和具体的监控信息,需要设置为脚本的变量
#!/usr/bin/env python
#coding:utf-8
#!/usr/bin/env python3
脚本存放位置,根据 zabbix_server.conf 文件设置的路径
- 测试脚本
chmod +x xxx.sh
./xxx.sh
- 页面配置报警媒介
-类型: 脚本
添加脚本的参数
- 页面配置 用户和报警媒介绑定
设置收件人:
剩余的操作和发邮件一样
3 监控 MySQL
- 新版本已经有监控 MySQL 的脚本和模板
- 编写自定义的 键
- 添加监控项
- 键名称
-使用第三方
- 官方网站有
- 搜索
一、企业微信报警
1.配置zabbix服务器
1、首先确认已经记录的信息
-corpid= 我们企业里面的id # 我的企业->企业信息->CorpID
-corpsecret= 这里就是我们Secret里面的id # 企业应用->报警机器人->Secret
-msg= 内容 # 需要显示的内容
-user=我们邀请用户的账号 # 用户ID 一般为人名全拼
2、修改zabbix.conf
[[email protected] ~]# grep alertscripts /etc/zabbix/zabbix_server.conf
# AlertScriptsPath=${datadir}/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts
我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本
3、下载并设置脚本
[[email protected] ~]# cd /usr/lib/zabbix/alertscripts/
[[email protected] alertscripts]# wget https://raw.githubusercontent.com/OneOaaS/weixin-alert/master/weixin_linux_amd64
[[email protected] alertscripts]# mv weixin_linux_amd64 wechat
[[email protected] alertscripts]# chmod 755 wechat
[[email protected] alertscripts]# chown zabbix:zabbix wechat
4、执行脚本进行测试
[[email protected] alertscripts]# ./wechat --corpid=xxx --corpsecret=xxx --msg="您好,告警测试" --user=用户账号 --agentid=xxx
{
"errcode":0,"errmsg":"ok","invaliduser":""}
然后微信就会有消息了
提示:
-corpid= 我们企业里面的id
--corpsecret= 这里就是我们Secret里面的id
-msg= 内容
-user=我们邀请用户的账号
因为脚本是编译过的,无法进行编辑,我们可以使用 ./wechat -h or --help 查看
2、zabbix web页面配置告警信息
1.管理-报警媒介类型-创建告警媒介
2.填写报警媒介信息
--corpid=我们企业里面的id
--corpsecret=这里就是我们Secret里面的id
--agentid= Agentld ID
--user={
ALERT.SENDTO}
--msg={
ALERT.MESSAGE}
3.设置告警用户
4.设置告警动作
扫描二维码关注公众号,回复:
12417320 查看本文章

故障告警:{
TRIGGER.STATUS}: {
TRIGGER.NAME}
告警主机:{
HOST.NAME}
主机地址:{
HOST.IP}
告警时间:{
EVENT.DATE} {
EVENT.TIME}
告警等级:{
TRIGGER.SEVERITY}
告警信息:{
TRIGGER.NAME}
问题详情:{
ITEM.NAME}:{
ITEM.VALUE}
事件代码:{
EVENT.ID}
二、钉钉报警
1.操作
2.用到的脚本
#!/usr/bin/env python
#coding:utf-8
import requests
import sys
content=sys.argv[1]
content = {
"msgtype": "text",
"text": {
"content": "木兮木兮: {}".format(content)
},
"at": {
"isAtAll": True
}
}
headers = {
"Content-Type": "application/json;charset=utf-8"}
url = "https://oapi.dingtalk.com/robot/send?access_token=b8254f8c0cb3e78c01e89fd48c20ab9e9e4c48b0f975cff0c24cd7c2f29dc613"
r = requests.post(url=url,headers=headers,json=content)
print(r.content)
脚本和监控操作摘自这位 运维开发-西瓜甜 大佬
三、连接MySQL数据库
1.查找配置文件
[root@zabbix-server ~]# rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-5.0.7
/usr/share/doc/zabbix-agent-5.0.7/AUTHORS
/usr/share/doc/zabbix-agent-5.0.7/COPYING
/usr/share/doc/zabbix-agent-5.0.7/ChangeLog
/usr/share/doc/zabbix-agent-5.0.7/NEWS
/usr/share/doc/zabbix-agent-5.0.7/README
/usr/share/doc/zabbix-agent-5.0.7/userparameter_mysql.conf #需要的是这个
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
2.移动到这个目录下
/etc/zabbix/zabbix_agentd.d/
cp /usr/share/doc/zabbix-agent-5.0.7/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d
3.重启 zabbix-agentd
/usr/local/zabbix-agent/sbin/zabbix_agentd -c /usr/local/zabbix-agent/conf/zabbix_agentd.conf
4. 添加数据
还是在agent端
password 密码是数据库的密码
[root@zabbix-server ~]# cat /var/lib/zabbix/.my.cnf
[mysqladmin]
user=zabbix
host=localhost
password='Neko@123'
[mysql]
user=zabbix
host=localhost
password='Neko@123'
5.之后在服务端添加主机
完成!