调用GrayLog的RestAPI接口实现定时关闭和定时开启告警

简介: 调用GrayLog的RestAPI接口实现定时关闭和定时开启告警

调用GrayLog的RestAPI接口实现定时关闭和定时开启告警

需求场景:

由于某些业务告警,在夜间下班休息时间告警可以不用关注,但是频繁产生并推送告警,会造成一定的困扰,所以想实现晚上19点以后定时关闭告警,早上上班时间8点就自动开启告警

通过查阅GrayLog的API介绍与使用文档,最终实现了以上需求,具体操作步骤如下

1、GrayLog中创建开发者用户developer

角色我这里用Admin角色

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)

然后创建token

(图片点击放大查看)

(图片点击放大查看)

nc3lmi05nae01b6ulvft16okc449oglhgigeab5n7ets0u4oo07

先记录一下这个Token值,后面会用到

2、查看GrayLog的API接口

System/Nodes-------API browser

(图片点击放大查看)

(图片点击放大查看)

(图片点击放大查看)


可以看到三个接口是我们所需要的接口

GET /events/definitions   List event definitions
PUT /events/definitions/{definitionId}/schedule    Enable event definition
PUT /events/definitions/{definitionId}/unschedule  Disable event definition

3、测试并调试接口

1)、GET /events/definitions   List event definitions 列出所有事件定义

(图片点击放大查看)

2)、在GrayLog后台用curl命令测试接口 具体命令如下

curl -s -u nc3lmi05nae01b6ulvft16okc449oglhgigeab5n7ets0u4oo07:token -XGET 'http://192.168.31.170:9000/api/events/definitions?page=1&per_page=50&pretty=true'

当然你可以jq命令,这样有颜色区分更方便查看

可以通过这个接口找到我们要禁用启用的告警id

例如我们要定时控制的告警是"Linux磁盘爆满告警"这个告警

通过GET /events/definitions接口查到的id如下

"id": "647209770de3ff7a424d1f9d",

"title": "Linux磁盘爆满告警",

3)、禁用启用的接口则为

PUT /events/definitions/{definitionId}/schedule    Enable event definition
PUT /events/definitions/{definitionId}/unschedule  Disable event definition

(图片点击放大查看)

4)、我们先用命令禁用一下告警

curl -s  -u nc3lmi05nae01b6ulvft16okc449oglhgigeab5n7ets0u4oo07:token -XPUT -H 'X-Requested-By: cli' 'http://192.168.31.170:9000/api/events/definitions/647209770de3ff7a424d1f9d/unschedule' | jq .

(图片点击放大查看)

5)、然后再启用告警

curl -s  -u nc3lmi05nae01b6ulvft16okc449oglhgigeab5n7ets0u4oo07:token -XPUT -H 'X-Requested-By: cli' 'http://192.168.31.170:9000/api/events/definitions/647209770de3ff7a424d1f9d/schedule' | jq .

(图片点击放大查看)

4、接下来简单编写脚本配置crontab定时任务

vim  /opt/disable_graylogalert.sh 
#!/bin/bash
curl -s  -u nc3lmi05nae01b6ulvft16okc449oglhgigeab5n7ets0u4oo07:token -XPUT -H 'X-Requested-By: cli' 'http://192.168.31.170:9000/api/events/definitions/647209770de3ff7a424d1f9d/unschedule' | jq .
vim /opt/enable_graylogalert.sh
#!/bin/bash
curl -s  -u nc3lmi05nae01b6ulvft16okc449oglhgigeab5n7ets0u4oo07:token -XPUT -H 'X-Requested-By: cli' 'http://192.168.31.170:9000/api/events/definitions/647209770de3ff7a424d1f9d/schedule' | jq .
chmod 777 /opt/enable_graylogalert.sh 
chmod 777 /opt/disable_graylogalert.sh
crontab -e添加如下行
0 8 * * *   /opt/enable_graylogalert.sh
0 19 * * *  /opt/disable_graylogalert.sh

(图片点击放大查看)

以上就是定时开启和关闭GrayLog告警的具体实现步骤

Tips

本文章实现过程参考如下链接和chatgpt

https://go2docs.graylog.org/5-0/setting_up_graylog/rest_api.html

(图片点击放大查看)

相关文章
|
安全 测试技术 Linux
multiOTP配置安装
https://code.google.com/p/google-authenticator/ 是google提供的OTP解决方案。   http://www.multiotp.net/ 是一个开源otp验证解决方案,继承了google的OTP方案, 可以通过pam模块与Radius验证服务器集成,安装包已经包括了Radius和Google OTP 模块。
2765 0
|
虚拟化 KVM Linux
带你读《KVM实战:原理、进阶与性能调优》之一:虚拟化简介
本书兼具实战性、系统性又不乏深度的KVM虚拟化技术指南,既能让新人快速掌握KVM的基础知识,又能满足有经验的读者进阶学习的需求。本书两位作者来自于阿里云和Intel,在云计算和KVM方面有深入的研究,他们将自己的经验倾囊相授,带你全面了解KVM的各种技术细节。
|
5月前
|
人工智能 JSON 前端开发
如何解决后端Agent和前端UI之间的交互问题?——解析AG-UI协议的神奇作用
三桥君指出AG-UI协议通过SSE技术实现智能体与前端UI的标准化交互,解决流式传输、实时进度显示、数据同步等开发痛点。其核心功能包括结构化事件流、多Agent任务交接和用户中断处理,具有"一次开发到处兼容"、"UI灵活可扩展"等优势。智能体专家三桥君认为协议将AI应用从聊天工具升级为实用软件,适用于代码生成、多步骤工作流等场景,显著提升开发效率和用户体验。
1214 0
|
10月前
|
存储 算法
算法系列之搜索算法-广度优先搜索BFS
广度优先搜索(BFS)是一种非常强大的算法,特别适用于解决最短路径、层次遍历和连通性问题。在面试中,掌握BFS的基本实现和应用场景,能够帮助你高效解决许多与图或树相关的问题。
984 1
算法系列之搜索算法-广度优先搜索BFS
|
11月前
|
存储 Linux
logstash与Rsyslog安装配置
通过将Logstash和Rsyslog结合使用,可以实现强大的日志收集和处理功能。Rsyslog负责接收和转发系统日志,Logstash负责解析和存储日志数据。以上指南提供了详细的安装和配置步骤,确保了两者能够无缝协作,以满足各种日志管理需求。希望本文能帮助你在实际项目中高效地部署和使用Logstash与Rsyslog。
322 8
|
定位技术 图形学
【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(一)(附源码)
【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(一)(附源码)
1111 0
|
SQL 存储 关系型数据库
Hive 和 HDFS、MySQL 之间的关系
Hive是Hadoop上的数据仓库工具,用HiveQL进行大数据查询;HDFS是分布式文件系统,用于存储大规模数据,常与Hive结合,提供数据存储和高可靠性。MySQL是RDBMS,适用于结构化数据管理,在大数据环境里可存储Hive的元数据,提升查询效率和元数据管理。三者协同处理数据管理和分析任务。
899 0
|
运维 Java 数据库连接
云效产品使用报错问题之云效流水线执行总是构建时间长还总失败,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
监控 应用服务中间件 nginx
使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)
ELK的架构有多种,本篇分享使用的架构如图所示: Beats(Filebeat) -> -> Elasticsearch -> Kibana,目前生产环境一天几千万的日志,内存占用大概 10G
1261 4