zabbix告警 邮件告警 钉钉告警

    • 邮件告警
      • 添加主机组
      • 添加模板
      • 添加主机
      • 在模板中添加监控项
      • 在模板中添加触发器
      • 添加动作,远程执行命令
      • 给用户绑定告警媒介类型
    • 钉钉告警
        • 安装python依赖模块python-requests
        • 配置钉钉告警配置脚本zabbix_ding.conf
        • 在目录/var/log/zabbix中创建钉钉告警日志文件zabbix_ding.log
        • 设置钉钉告警日志文件zabbix_ding.log的所有权
        • 在/usr/lib/zabbix/alertscripts目录中执行的脚本dingding.py的内容
        • 设置脚本目录的所有权
        • 配置脚本告警
        • 为用户添加报警媒介
        • 创建动作

邮件告警

添加主机组

在这里插入图片描述

添加模板

在这里插入图片描述

添加主机

在这里插入图片描述

在模板中添加监控项

在这里插入图片描述

在模板中添加触发器

在这里插入图片描述

添加动作,远程执行命令

[root@client ~]# vim /etc/sudoers  #给zabbix用户提权

在这里插入图片描述

[root@client ~]# vim /etc/zabbix/zabbix_agentd.conf

在这里插入图片描述

[root@client ~]# systemctl restart zabbix-agent

在这里插入图片描述
在这里插入图片描述### 创建告警媒介并测试

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

给用户绑定告警媒介类型

在这里插入图片描述

动作配置

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

钉钉告警

在钉钉中创建群聊

在这里插入图片描述

在这里插入图片描述

安装python依赖模块python-requests
[root@zabbix-server ~]# yum -y install python3 python3-requests
配置钉钉告警配置脚本zabbix_ding.conf
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_ding.conf
[config]
log_path=/var/log/zabbix/zabbix_ding.log
webhook=https://oapi.dingtalk.com/robot/send?access_token=c1d11ecf6704f008eb25de644ed5cead752c065c0d11f9f89b58273cf0c78a96
secret=SECc26e5bc55c64d454f15a8bdcce6825b7e5bb4f6fecc38025d2845837415192d7
在目录/var/log/zabbix中创建钉钉告警日志文件zabbix_ding.log
[root@zabbix-server ~]# touch /var/log/zabbix/zabbix_ding.log
设置钉钉告警日志文件zabbix_ding.log的所有权
[root@zabbix-server ~]# chown zabbix.zabbix /var/log/zabbix/zabbix_ding.log 
在/usr/lib/zabbix/alertscripts目录中执行的脚本dingding.py的内容
[root@zabbix-server ~]# cd /usr/lib/zabbix/alertscripts
[root@zabbix-server alertscripts]# vim dingding.py
#!/usr/bin/env python3
# coding:utf8
#
import configparser
import os
import time
import hmac
import hashlib
import base64
import urllib.parse
import requests
import json
import sysconfig = configparser.ConfigParser()
config.read('/etc/zabbix/zabbix_ding.conf', encoding='utf-8')
log_path = config.get('config', 'log_path')
api_url = config.get('config', 'webhook')
api_secret = config.get('config', 'secret')
log_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())# 钉钉机器人文档说明
# https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq
def get_timestamp_sign():timestamp = str(round(time.time() * 1000))secret = api_secretsecret_enc = secret.encode('utf-8')string_to_sign = '{}\n{}'.format(timestamp, secret)string_to_sign_enc = string_to_sign.encode('utf-8')hmac_code = hmac.new(secret_enc, string_to_sign_enc, digestmod=hashlib.sha256).digest()sign = urllib.parse.quote_plus(base64.b64encode(hmac_code))return timestamp, sign# 获取加签后的链接
def get_signed_url():timestamp, sign = get_timestamp_sign()webhook = api_url + "&timestamp=" + timestamp + "&sign=" + signreturn webhook# 定义消息模式
def get_webhook(mode):if mode == 0:  # only 关键字webhook = api_urlelif mode == 1 or mode == 2:  # 关键字和加签 或 # 关键字+加签+ipwebhook = get_signed_url()else:webhook = ""print("error! mode:   ", mode, "  webhook :  ", webhook)return webhookdef get_message(text, user_info):# 和类型相对应,具体可以看文档 :https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq# 可以设置某个人的手机号,指定对象发送message = {"msgtype": "text",  # 有text, "markdown"、link、整体跳转ActionCard 、独立跳转ActionCard、FeedCard类型等"text": {"content": text  # 消息内容},"at": {"atMobiles": [user_info,],"isAtAll": False  # 是否是发送群中全体成员}}return message# 消息发送日志
def log(info):if os.path.exists(log_path):log_file = open(log_path, "a+")else:log_file = open(log_path, "w+")log_file.write(info)def send_ding_message(text, user_info):# 请求的URL,WebHook地址# 主要模式有 0 : 关键字 1:# 关键字 +加签 3:关键字+加签+IPwebhook = get_webhook(1)# 构建请求头部header = {"Content-Type": "application/json","Charset": "UTF-8"}# 构建请求数据message = get_message(text, user_info)# 对请求的数据进行json封装message_json = json.dumps(message)# 发送请求info = requests.post(url=webhook, data=message_json, headers=header).json()code = info["errcode"]errmsg = info["errmsg"]if code == 0:log(log_time + ":消息已发送成功 返回信息:%s %s\n" % (code, errmsg))else:log(log_time + ":消息发送失败 返回信息:%s %s\n" % (code, errmsg))print(log_time + ":消息发送失败 返回信息:%s %s\n" % (code, errmsg))exit(3)if __name__ == "__main__":text = sys.argv[3]user_info = sys.argv[1]send_ding_message(text, user_info)
设置脚本目录的所有权
[root@zabbix-server alertscripts]# chown -R zabbix.zabbix /usr/lib/zabbix/alertscripts/
[root@zabbix-server alertscripts]# chmod +x dingding.py 
[root@zabbix-server alertscripts]# ./dingding.py  user subject mesages

在这里插入图片描述

配置脚本告警

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

为用户添加报警媒介

在这里插入图片描述

创建动作

在这里插入图片描述

[root@client ~]# systemctl stop sshd

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/196293.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言--从键盘输入10个数字放在数组中,并输出

用scanf读取数字的时候要注意,可以输入一个数字,按一下回车,输入一个数字,按一下回车,也可以一次性输入完10个数据。(中间可以用空格隔开,系统会自动识别) 输出一:每按下一个数字&am…

实验六:Android的网络编程基础

实验六:Android 的网络编程基础 6.1 实验目的 本次实验的目的是让大家熟悉 Android 开发中的如何获取天气预报,包括了 解和熟悉 WebView、WebService 使用、网络编程事件处理等内容。 6.2 实验要求 熟悉和掌握 WebView 使用 了解 Android 的网络编程…

【Linux】 uptime命令使用

uptime 正常运行时间提供以下信息的单行显示。当前时间、系统运行的时间、当前登录的用户数量以及过去1、5和15分钟的系统平均负载。 语法 uptimeuptime命令 -Linux手册页 作者 由Larry Greenfield编写和迈克尔K约翰逊编写。 命令选项及作用 执行令 man uptime 执行命令结…

upload-labs(1-17关攻略详解)

upload-labs pass-1 上传一个php文件,发现不行 但是这回显是个前端显示,直接禁用js然后上传 f12禁用 再次上传,成功 右键打开该图像 即为位置,使用蚁剑连接 连接成功 pass-2 源码 $is_upload false; $msg null; if (isse…

B-2:Linux系统渗透提权

B-2:Linux系统渗透提权 服务器场景:Server2204(关闭链接) 用户名:hacker 密码:123456 1.使用渗透机对服务器信息收集,并将服务器中SSH服务端口号作为flag提交; 使用nmap扫描,发现ssh服务端口为2283 Flag:2283 2.使用渗透机对服务器信息收集,并将服务器中…

简单算法——回溯、贪心、动态规划

回溯法 回溯法深度优先剪枝,实质就是用递归代替for循环。 仍然是一种暴力遍历的手段,通常与递归配合使用,用于解决单纯for循环无法处理的问题,比如组合、切割、子集、排列等问题——比如求n个数里的长度为k的组合,需要…

Java Fasn 带您谈谈——开源、闭源

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏&#xff1a…

实时音视频方案汇总

若有好的方案欢迎留言讨论,非常感谢,汇总了一些,从市面上了解的一些低时延的端到端的方案,仅供参照,若有问题,也欢迎留言更正! 方案 方案描述 时延 备注 1大华同轴高清电缆200米电缆&#xf…

Django+vue前后端分离实战--vue后台管理系统--vue环境安装项目创建

Djangovue前后端分离实战--vue后台管理系统 安装nodejsvue clivue-cli创建项目 安装nodejsvue cli 1、下载nodejs并安装 https://nodejs.org/dist/v20.9.0/node-v20.9.0-x64.msi 2、修改npm 默认仓库地址,要修改成taobao的镜像npm 仓库地址 cmd下命令&#xff1a…

嵌入式中一篇搞定Cmake使用教程

今天分享一篇关于 cmake 的相关文章,通过这个工具可以生成本地的Makefile。让我们不用去编写复杂的Makefile。 引言 CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和…

【全网首发】2023年NOIP真题

目录 前言 真题 结尾 前言 NOIP题目了解一下,后续有可能会出讲解,题目全部来自于洛谷 真题 第一题:词典 第二题:三值逻辑 第三题:双序列扩展 第四题: 天天爱打卡 结尾 大家可以把你的预期分数打在评论…

opencv(3):控制鼠标,创建 tackbar控件

文章目录 控制鼠标相关APIsetMouseCallbackcallback TrackBar 控件cv2.createTrackbarcv2.getTrackbarPos: 控制鼠标相关API setMouseCallback(winname, callback, userdata)callback(event, x, y, flags, userdata) setMouseCallback 在 OpenCV 中,s…

C++打怪升级(十一)- STL之list

~~~~ 前言1. list是什么2. list接口函数的使用1. 构造相关默认构造n个val构造迭代器范围构造拷贝构造 2 赋值运算符重载函数2 析构函数3 迭代器相关begin 和 endrbegin 和rend 4 容量相关emptysize 5 元素访问相关frontback 6 修改相关push_backpop_backpush_frontpop_frontins…

极光笔记 | EngageLab Push的多数据中心接入指南

01背景 作为一个面向全球的消息推送服务平台,我们一直致力于给全球用户提供安全、可靠、高效的消息推送服务,因此我们意识到在不同洲建立数据中心的重要性。这样做将有助于提高我们的服务可用性、降低延迟并保护用户数据的安全性。 第一,通过…

应用架构的演进 I 使用无服务器保证数据一致性

在微服务架构中,一个业务操作往往需要跨多个服务协作完成,包含了读取数据和更新多个服务的数据同时进行。在数据读取和写入的过程中,有一个服务失败了,势必会造成同进程其他服务数据不一致的问题。 亚马逊云科技开发者社区为开发者…

【每日一题】数位和相等数对的最大和

文章目录 Tag题目来源题目解读解题思路方法一:哈希表 写在最后 Tag 【哈希表】【数组】【2023-11-18】 题目来源 2342. 数位和相等数对的最大和 题目解读 在数组中找出数位和相等数对的和的最大值。 解题思路 方法一:哈希表 维护一个不同的数位和表…

如何为初创企业选择合适的 ERP 系统?

**ERP系统**是制造、分销、供应链、金融、会计、风险管理等多个行业必不可少的企业技术解决方案。不论垂直行业、企业规模或目标受众如何,将ERP作为企业管理战略的核心部分都非常重要。 对于渴望发展的小型企业和初创企业来说,更是如此。大型企业需要对…

【广州华锐互动】VR技术助力中小学生安全教育,让学生在虚拟世界中学会自我保护!

随着科技的不断发展,虚拟现实(VR)技术已经逐渐走进我们的生活。在教育领域,VR技术的应用也日益广泛,为传统的教育模式带来了革命性的变革。中小学生安全教育作为学生生活中的重要组成部分,其重要性不言而喻…

ubuntu20.04安装cv2

查看ubuntu的版本 cat /etc/lsb-release DISTRIB_IDUbuntu DISTRIB_RELEASE20.04 DISTRIB_CODENAMEfocal DISTRIB_DESCRIPTION"Ubuntu 20.04.3 LTS"更改镜像源 cp /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.listdeb http://mirr…

keepalived+haproxy配置集群和负载均衡

1、简介 1.1. Keepalived Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息给备…