zabbix自动化监控

zabbix自动化监控

zabbix报警升级机制

场景一:在企业中,我们需要把报警设置为升级机制,当有些报警,运维人员没有及时处理的时候,或者没有时间,或者外出,或者陪产在医院,或者...总之身边没有电脑没有网络,在山沟子里的时候,必须有人站出来,解决这个问题。

场景二:当zabbix报警服务器出现问题的时候,例如MySQL挂了,运维人员在厕...没有及时处理,那一分钟后这个警告肯定要升级,从警告变成严重故障之类的。 所以不管在哪种场景下,我们要有不同的报警人员,比如,一级报警,交给运维,没有及时处理就二级报警,交给运维总监或者运维经理,如果此时报警还没有人处理,那么报警就会升级到CTO或者CEO那里,那么这个时候,也是灾难降临之时,这也是一个很好的对运维人员必须要及时处理告警的一个制约。

创建用户&用户组

实际操作中需要使用不同的邮箱去发送。

image-20230818091020885

创建运维组

image-20230818090945353

设置运维组权限

image-20230818153516020

创建总监组

image-20230818153743545

设置总监组权限

image-20230818153804479

创建CEO组

image-20230818153940182

设置CEO组权限

image-20230818153958277

创建运维用户

image-20230818153044854

添加运维用户的报警媒介

image-20230818165325727

创建总监用户

image-20230818165350726

添加总监用户的报警媒介

image-20230818165330764

创建CEO用户

image-20230818154615177

添加CEO用户的报警媒介

image-20230818165334655

设置报警升级动作

image-20230818154822349

配置报警升级动作的操作

image-20230818165408747

image-20230818165234800

成果展示

image-20230818165457466

zabbix工作模式

不管是被动,还是主动,都是针对客户端而言(zabbix-agent)

  • 被动模式(服务端操作)
  • 主动模式(主动上报数据)

zabbix的自动发现(被动模式)

zabbix-server自动发现zabbix-agent

添加一个zabbix的客户端

1) 需要安装一个客户端
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.36-1.el7.x86_64.rpm

2) 修改zabbix-agent配置文件
# 修改配置文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server=127.0.0.1,172.16.1.71

3) 启动zabbix-agent
# 启动并加入开机自启
[root@web01 ~]# systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbix-agent

4) 页面添加zabbix-agent安装的主机

5) 链接模板

Zabbix提供了有效和非常灵活的网络自动发现功能。

当网络发现正确设置后你可以:
1.加快Zabbix部署
2.简化管理
3.无需过多管理就能在快速变化的环境中使用Zabbix

Zabbix网络发现基于以下信息:
1.IP范围
2.可用的外部服务(FTP,SSH,WEB,POP3,IMAP,TCP等)
3.来自 zabbix agent 的信息(仅支持未加密模式)
4.来自 snmp agent 的信息

不支持:
1.发现网络拓扑

启用自动发现

image-20230818101701321

创建自动发现

image-20230818102000853

编辑自动发现

image-20230818102155875

配置动作

image-20230818102254116

image-20230818102403991

关联自动发现

image-20230818102655483

配置动作的操作

image-20230818102740855

image-20230818102818124

image-20230818103038392

image-20230818103056235

自动发现展示

image-20230818103759450

image-20230818103613560

8.如果出现discover busy告警则需要优化

[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
StartDiscoverers=20

自动发现总结

1.网络发现速度太慢
2.轮询扫描网段
3.如果网段中存在不通的主机,会出现卡顿并且造成新增的服务器无法加入节点
4.会导致server性能变缓慢,影响server性能

zabbix的自动注册(主动模式)

zabbix-agent自动注册到zabbix-server中

1) 需要安装一个客户端
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-agent-5.0.36-1.el7.x86_64.rpm

2) 修改zabbix-agent配置文件
# 修改配置文件
[root@web01 ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server=127.0.0.1,172.16.1.71
----- 自动注册 -----
ServerActive=172.16.1.71
Hostname=web01

3) 启动zabbix-agent
# 启动并加入开机自启
[root@web01 ~]# systemctl start zabbix-agent
[root@web01 ~]# systemctl enable zabbix-agent

4) 页面添加zabbix-agent安装的主机

5) 链接模板

# 展示配置文件
[root@zabbix ~]# for i in 5 7 52 53 54;do ssh 172.16.1.$i "grep -E '^Server|^Hostname' /etc/zabbix/zabbix_agentd.conf";done
root@172.16.1.5's password: 
Server=127.0.0.1,172.16.1.71
ServerActive=172.16.1.71
Hostname=lb01
root@172.16.1.7's password: 
Server=127.0.0.1,172.16.1.71
ServerActive=172.16.1.71
Hostname=web01
root@172.16.1.52's password: 
Server=127.0.0.1,172.16.1.71
ServerActive=172.16.1.71
Hostname=db02
root@172.16.1.53's password: 
Server=127.0.0.1,172.16.1.71
ServerActive=172.16.1.71
Hostname=db03
root@172.16.1.54's password: 
Server=127.0.0.1,172.16.1.71
ServerActive=172.16.1.71
Hostname=db04

image-20230818105319343

image-20230818105334267

配置自动注册动作

image-20230818105433047

image-20230818105620713

image-20230818105606310

image-20230818105555302

image-20230818105637747

展示

image-20230818105948416

企业微信告警

image-20230818114100759

image-20230818114111619

image-20230818114121449

image-20230818114138544

image-20230818114148669

webhook:(钩子)
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2013c7a4-4e12-4d57-8d89-ebac7fa7225c

image-20230818114434639

image-20230818114505089

image-20230818174649983

# 以下是用curl工具往群组推送文本消息的示例(注意要将url替换成你的机器人webhook地址,content必须是utf8编码):
curl 'https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2013c7a4-4e12-4d57-8d89-ebac7fa7225c' \
   -H 'Content-Type: application/json' \
   -d '
   {
        "msgtype": "text",
        "text": {
            "content": "hello world"
        }
   }'

安装Python脚本模块

# 1.安装python3.6环境
[root@zabbix-server alertscripts]# yum install -y python36-devel

# 2.安装requests模块
[root@zabbix-server alertscripts]# pip3.6 install requests

# 进入告警脚本目录
[root@zabbix-server zabbix]# cd /usr/lib/zabbix/alertscripts/

# 编辑脚本
[root@zabbix alertscripts]# vim wechat.py
#!/usr/bin/python3.6
#-*- coding: utf-8 -*-
import requests
import json
import sys
import os

headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=2013c7a4-4e12-4d57-8d89-ebac7fa7225c"   #这个是企业微信机器人生成的webhook地址,修改为你的即可。

def msg(text):
    json_text= {
     "msgtype": "text",
        "text": {
            "content": text
        },
    }
    print(requests.post(api_url,json.dumps(json_text),headers=headers).content)

if __name__ == '__main__':
    text = sys.argv[1]
    msg(text)

# shell脚本
#!/usr/bin/bash
api_url="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=ed7678f7-a038-47e0-a669-
8a3bc5483fcf" #这个是企业微信机器人生成的webhook地址,修改为你的即可。
text=$1

cat > msg.json<<EOF
{
        "msgtype": "text",
        "text": {
            "content": "$text"
        }
}
EOF

curl "$api_url" \
    -H 'Content-Type: application/json' \
    -d "`cat msg.json`"

# 添加执行权限
[root@zabbix-server alertscripts]# chmod +x wechat.py

image-20230818122246540

脚本参数: {ALERT.MESSAGE}

image-20230818122621158

image-20230818122737473

image-20230818122721372

image-20230818122958398

image-20230818123012960

image-20230818123322385

s

image-20230818123342007

告警展示

image-20230818123420096

钉钉告警

image-20230818160743536

https://oapi.dingtalk.com/robot/send?access_token=ce8724fe3e16e6687f72642055acc324b4064e4fe4c65f84393e0a211443b3fe
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
 -H 'Content-Type: application/json' \
 -d '{"msgtype": "text","text": {"content":"我就是我, 是不一样的烟火"}}'
[root@zabbix alertscripts]# cat dingding.sh 
#!/bin/bash

api_url="https://oapi.dingtalk.com/robot/send?access_token=ce8724fe3e16e6687f72642055acc324b4064e4fe4c65f84393e0a211443b3fe"
text=$1
curl "$api_url" \
   -H 'Content-Type: application/json' \
   -d '
   {
        "msgtype": "text",
        "text": {
                "content": "'"$text"'"
        }
   }'

# 授权
[root@zabbix alertscripts]# chmod +x dingding.sh

# 测试
[root@zabbix alertscripts]# sh dingding.sh 告警
{"errcode":0,"errmsg":"ok"}

设置报警媒介

image-20230818172324411

image-20230818172426534

创建动作

image-20230818172523867

image-20230818172705080

image-20230818172924023

image-20230818173039018

添加报警媒介

image-20230818173214365

展示

image-20230818173351385

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇