alertmanager告警持久化方案:alertsnitch

Prometheus告警记录持久化

Prometheus将基于告警规则生成的告警存储为时间序列,不会将Alertmanager的告警信息持久化存储,
那么针对历史告警的检索、统计等需求就无法实现。因此需要一种持久化机制用于存储历史告警信息,
本文主要探究基于alertmanager告警的开源持久化方案。

涉及技术栈:Prometheus+Alertmanager+AlertSnitch+Grafana

1.alertsnitch下载

下载地址:https://gitlab.com/yakshaving.art/alertsnitch

请添加图片描述
请添加图片描述

2.go安装

go的安装请参考linux环境下go安装-CSDN博客,我使用的go版本为:1.21.0

3.go编译安装

tar -xzvf alertsnitch-0.2.1.tar.gz
go env -w GOPROXY=https://goproxy.cn   #该步骤是切换国内代理,不然github可能很多包无法下载
cd alertsnitch-0.2.1
go install#成功与否见下,成功后复制该alertsnitch命令到环境变量
cp -r $GOPATH/bin/alertsnitch /usr/local/bin
[root@monitor12011 go]# ll /root/go/tagert/
total 0
drwxr-xr-x. 2 root root 25 Dec 24 10:48 bin
drwxr-xr-x. 3 root root 17 Dec 23 16:30 pkg
[root@monitor12011 go]# ll /root/go/tagert/bin/
total 11756
-rwxr-xr-x. 1 root root 12035858 Dec 24 10:46 alertsnitch

4.初始化mysql数据库

# 将变量写入到/etc/profile中
cat >>/etc/profile<<'EOF'
# alertsnitch
export MYSQL_ROOT_PASSWORD=123456
export MYSQL_DATABASE=alertsnitch
export ALERTSNITCH_ADDR=xx.xx.xx.xx:9567
export ALERTSNITCH_BACKEND="mysql"
export ALERTSNITCH_DSN="xxxx:xxx@tcp(xx.xx.xx.xx:3306)/alertsnitch"
EOF
  • ALERTSNITCH_DSN:用户名:密码@协议类型(数据库所在主机地址:数据库端口)/数据库名称
  • MYSQL_ROOT_PASSWORD:数据库连接密码
  • MYSQL_DATABASE:数据库名称
  • ALERTSNITCH_ADDR:alertsnitch监听IP地址和端口
vi /root/alertsnitch/alertsnitch-0.2.1/script.d/bootstrap_mysql.sh
# 将--host配置值改为真实数据库ip
# 将--user=配置值改为真实数据库用户
# 将sql文件路径改为绝对路径
# 执行bootstrap_mysql.sh脚本
[root@monitor12011 script.d]# sh /root/alertsnitch/alertsnitch-0.2.1/script.d/bootstrap_mysql.sh
Creating DB
Creating bootstrapped model
Applying fingerprint model update
Done creating model
# 数据库验证
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| alertsnitch        |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
8 rows in set (0.00 sec)mysql> use alertsnitch;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
mysql> show tables;
+-----------------------+
| Tables_in_alertsnitch |
+-----------------------+
| alert                 |
| alertannotation       |
| alertgroup            |
| alertlabel            |
| commonannotation      |
| commonlabel           |
| grouplabel            |
| model                 |
+-----------------------+
8 rows in set (0.00 sec)

5.alertmanager配置

vi /xxx/xx/xx/alertmanager.yml
# 告警路由配置
route:group_by:- instancegroup_interval: 5mgroup_wait: 30sreceiver: teamworkrepeat_interval: 1hroutes:- continue: truegroup_interval: 1mgroup_wait: 30sreceiver: alertsnitchrepeat_interval: 10m
# 告警接收人配置
receivers:
- name: alertsnitchwebhook_configs:- url: http://xx.xx.xx.xx:9567/webhook

6.启动alertsnitch

vi /etc/systemd/system/alertsnitch.service
# 添加以下内容
[Unit]
Description=Alertsnitch Server
After=network.target[Service]
Restart=on-failure
WorkingDirectory=/root/alertsnitch
ExecStart=alertsnitch -database-backend="mysql" -listen.address="xx.xx.xx.xx:9567" -dsn="xxx:xx@tcp(xx.xx.xx.xx:3306)/alertsnitch"[Install]
WantedBy=multi-user.targetsystemctl start alertsnitch # 启动
systemctl status alertsnitch # 状态
systemctl enable alertsnitch # 开机自启

7.grafana接入

7.1 数据源创建

请添加图片描述
请添加图片描述
请添加图片描述

7.2 导入仪表板

模板id:15833
请添加图片描述
请添加图片描述
请添加图片描述

8.参考

  • Prometheus告警记录持久化_alertsnitch
  • Alertmanager告警数据持久,alertsnitch安装

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

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

相关文章

springboot481基于springboot社区老人健康信息管理系统(论文+源码)_kaic

摘 要 如今社会上各行各业&#xff0c;都喜欢用自己行业的专属软件工作&#xff0c;互联网发展到这个时候&#xff0c;人们已经发现离不开了互联网。新技术的产生&#xff0c;往往能解决一些老技术的弊端问题。因为传统社区老人健康信息管理系统信息管理难度大&#xff0c;容错…

109.【C语言】数据结构之求二叉树的高度

目录 1.知识回顾&#xff1a;高度&#xff08;也称深度&#xff09; 2.分析 设计代码框架 返回左右子树高度较大的那个的写法一:if语句 返回左右子树高度较大的那个的写法二:三目操作符 3.代码 4.反思 问题 出问题的代码 改进后的代码 执行结果 1.知识回顾&#xf…

重温设计模式--享元模式

文章目录 享元模式&#xff08;Flyweight Pattern&#xff09;概述享元模式的结构C 代码示例1应用场景C示例代码2 享元模式&#xff08;Flyweight Pattern&#xff09;概述 定义&#xff1a; 运用共享技术有效地支持大量细粒度的对象。 享元模式是一种结构型设计模式&#xff0…

Pytorch | 从零构建EfficientNet对CIFAR10进行分类

Pytorch | 从零构建EfficientNet对CIFAR10进行分类 CIFAR10数据集EfficientNet设计理念网络结构性能特点应用领域发展和改进 EfficientNet结构代码详解结构代码代码详解MBConv 类初始化方法前向传播 forward 方法 EfficientNet 类初始化方法前向传播 forward 方法 训练过程和测…

【教程】第十一章 子任务 工时——化繁为简

小伙伴们&#xff0c;终于迎来了新章节&#xff01;随着业务的扩展&#xff0c;任务越来越多&#xff0c;越来越复杂&#xff0c;我们逐渐意识到&#xff0c;简单的任务管理已经不够用了。现在&#xff0c;我们需要对任务进行更细致的管理&#xff0c;分解成多个层级&#xff0…

git clone必须使用sudo否则失败 git推送错误想再次编辑和推送

git clone必须使用sudo否则失败 我的问题比较特别用env | grep -i proxy发现没问题所幸直接删掉~/.ssh下的秘钥&#xff0c;重新弄 搭建SSH秘钥方法: &#xff08;一&#xff09;配置git 操作&#xff1a;linux镜像--桌面--右键--打开终端。 > git config --global user.n…

Docker搭建kafka环境

系统&#xff1a;MacOS Sonoma 14.1 Docker版本&#xff1a;Docker version 27.3.1, build ce12230 Docker desktop版本&#xff1a;Docker Desktop 4.36.0 (175267) 1.拉取镜像 先打开Docker Desktop&#xff0c;然后在终端执行命令 docker pull lensesio/fast-data-dev …

Java复习|图形用户界面AWT、Swing----银行客户管理系统【校课版】【1】

校课总结&#xff0c;部分&#xff0c;未完待续...... 背景了解 Java的AWT和Swing的现状 AWT&#xff08;Abstract Window Toolkit&#xff09; AWT是Java中最早期的图形用户界面&#xff08;GUI&#xff09;工具包&#xff0c;它直接与操作系统提供的图形函数进行交互&a…

cudnn版本gpu架构

nvcc --help 可以看 --gpu-architecture 写到的支持的架构 NVIDIA 的 GPU 架构是按代次发布的&#xff0c;以下是这些架构的对应说明&#xff1a; NVIDIA Hopper: 这是 NVIDIA 于 2022 年推出的架构之一&#xff0c;面向高性能计算&#xff08;HPC&#xff09;和人工智能&…

视频汇聚融合云平台Liveweb一站式解决视频资源管理痛点

随着5G技术的广泛应用&#xff0c;各领域都在通信技术加持下通过海量终端设备收集了大量视频、图像等物联网数据&#xff0c;并通过人工智能、大数据、视频监控等技术方式来让我们的世界更安全、更高效。然而&#xff0c;随着数字化建设和生产经营管理活动的长期开展&#xff0…

【Mysql】truncate 和 delete的区别

【Mysql】truncate 和 delete的区别 【一】删除内容【二】执行速度【三】事务日志记录【四】回滚【五】触发器【六】外键约束【七】锁定【八】使用场景【九】总结【1】truncate【2】drop【3】delete 【一】删除内容 &#xff08;1&#xff09;TRUNCATE TABLE&#xff1a;删除表…

为什么要用云电脑玩游戏?5大好处揭秘,ToDesk云机性能强又易用

电脑在人们日常的工作与生活中无疑是颇为重要的。无论是学生撰写论文报告、企业白领处理数据图形等事项&#xff0c;还是游戏迷、影视迷们畅玩游戏或观看视频都难免要经常用到。拥有一台性能配置优质并且内置软件全面的电脑&#xff0c;对各类群体来说都大有益处&#xff0c;尤…

串口通信控制LED灯

做这个东西的目的是锻炼一下自己的编程能力以及系统思维能力 首先&#xff0c;清楚自己要干什么&#xff0c;正点原子大家应该都看过&#xff0c;系统框图是一个比较重要的东西&#xff0c;引导我们去设计和思考。 下面先给出系统框图&#xff1a; 模块划分好后&#xff0c;结构…

Windows开启IIS后依然出现http error 503.the service is unavailable

问题背景 已启用IIS服务&#xff0c;配置步骤可以参考Windows10 IIS Web服务器安装配置 问题描述 在这一步浏览网站时&#xff0c;并没有出现默认首页&#xff0c;而是 http error 503 the service is unavailable 问题解决 参考 成功解决http error 503.the service is un…

mapbox基础,加载mapbox官方地图

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;前言1.1 ☘️mapboxgl.Map 地图对象…

一体式IO模块:打印机加工产线国产化降本增效的新利器

在当今全球化的市场竞争中&#xff0c;打印机制造行业面临着前所未有的挑战与机遇。为了提升生产效率、降低成本&#xff0c;并加速国产化进程&#xff0c;各大打印机制造商纷纷寻求技术创新与升级。明达技术自研推出的MR20一体式IO模块作为工业自动化领域的核心组件&#xff0…

公交车信息管理系统:实现交通数据的智能化处理

概述 在对系统进行设计之前&#xff0c;需要对选题进行需求分析、可行性分析、流程分析、数据字典等内容。根据需求分析阶段&#xff0c;大致确定用户使用系统所需要具有的功能模块需求&#xff0c;由此规划出系统需要设计的相关功能模块。根据可行性分析阶段&#xff0c;确定系…

C++的侵入式链表

非侵入式链表 非侵入式链表是一种链表数据结构&#xff0c;其中每个元素&#xff08;节点&#xff09;并不需要自己包含指向前后节点的指针。链表的结构和节点的存储是分开的&#xff0c;链表容器会单独管理这些指针。 常见的非侵入式链表节点可以由以下所示&#xff0c;即&a…

绕组识别标签规范

有标签名称的要标记&#xff0c;没有的不用标记 需要标注的工具、器材 图像中文名称标签名称od脱模剂watering can2铁铲shovel1记号笔&#xff0c;白色着重标bluepen/whitepen6纸质标签label3钢尺scale5玻璃纤维带&#xff08;卷&#xff09;红色网格布red grid4白色网格布wh…

关于uni-forms组件的bug【提交的字段[‘*‘]在数据库中并不存在】

问题&#xff1a;在使用 uni-forms校验的时候&#xff0c;出来的一个问题&#xff0c;这个字段都没有设置校验的规则&#xff0c;不知道什么原因就出现了下图的问题&#xff1a; 解决办法&#xff1a; 在uni-forms-item 添加key 值就解决了 原因不知道&#xff0c;有大佬发现…