监控中心Zabbix [ 4 ] --- 企业微信报警 钉钉报警 zabbix连接数据库

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服务器

企业微信注册及登录

企业微信AIP获取

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.设置告警动作

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

故障告警:{
    
    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.之后在服务端添加主机

在这里插入图片描述

完成!

猜你喜欢

转载自blog.csdn.net/Houaki/article/details/112545889