Linux之grafana+onealert报警

grafana介绍

        Grafana是一个开源的度量分析和可视化工具,可以通过将采集的数据分析查询,然后进行可视化的展示,并能实现报警

grafana安装与登录 

在grafana服务器上安装grafana

下载地址:https://grafana.com/grafana/download (请使用共享的软件版本,以免出现不兼容问题)

拷贝软件包到grafana服务器上安装

[root@grafana ~]# rpm -ivh grafana-6.4.2-1.x86_64.rpm 
warning: grafana-6.4.2-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
error: Failed dependencies:fontconfig is needed by grafana-6.4.2-1.x86_64     # 此时提醒需要安装三个依赖包freetype is needed by grafana-6.4.2-1.x86_64urw-fonts is needed by grafana-6.4.2-1.x86_64# 依次安装

[root@grafana ~]# yum -y install fontconfig freetype urw-fonts 

 再次进行安装

[root@grafana ~]# rpm -ivh grafana-6.4.2-1.x86_64.rpm 
warning: grafana-6.4.2-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...1:grafana-6.4.2-1                  ################################# [100%]
### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemdsudo /bin/systemctl daemon-reloadsudo /bin/systemctl enable grafana-server.service
### You can start grafana-server by executingsudo /bin/systemctl start grafana-server.service
POSTTRANS: Running scrip

 启动grafana,并验证端口

[root@grafana ~]# systemctl start grafana-server
[root@grafana ~]# systemctl enable grafana-server
Created symlink /etc/systemd/system/multi-user.target.wants/grafana-server.service → /usr/lib/systemd/system/grafana-server.service.
[root@grafana ~]# ss -anlt
State           Recv-Q           Send-Q                     Local Address:Port                     Peer Address:Port          Process          
LISTEN          0                128                              0.0.0.0:22                            0.0.0.0:*                              
LISTEN          0                128                                 [::]:22                               [::]:*                              
LISTEN          0                4096                                   *:3000                                *:*                              # 3000 已启动

通过浏览器访问 http:// grafana服务器IP:3000登录,使用默认的admin用户,admin密码就可以登陆了;默认用户和密码都是admin,登录进去以后会要求设置新的密码

设置prometheus为grafana数据源

把prometheus服务器收集的数据做为数据源添加到grafana,让grafana可以得到prometheus的数据  

grafana实现自定义监控cpu负载 

为添加好的数据源做图形显示

 最后在dashboard可以查看到

匹配条件显示 

 导入json模板实现mysql监控

        根据上面的思路,我们可以将mysql_global_status_threads_connected这个metrics加到
dashboard实现对mysql数据库的当前连接数的监控。
        但是mysql需要监控的状态非常的多( mysql> show status 得到的状态信息几乎都可以监控),一个个的手动添加太累了。有没有类似zabbix里的模板那种概念呢? 
        答案是有的,需要开发人员开发出相应的json格式的模板,然后导入进去就可以了。那么问题来了,谁开发?

有这么几种途径:

  • 如果公司有这方面的专业开发支持,就可以实现定制化的监控, 运维工程师配合就好
  • 当然运维工程师也可以学习并实现这方面的开发
  • 寻找别人开发好的开源项目

grafana-dashboards就是这样的开源项目

参考网址: https://github.com/percona/grafana-dashboards

1、下载grafana-dashboards开源项目

# git clone https://github.com/percona/grafana-dashboards.git

说明:学习完git与github相关课程后就明白为什么会这样下载了

2、在grafana图形界面导入相关json文件

3、导入后,刷新就有数据了(如下图所示)   

注意:导入后没有数据的请注意一下数据源的名称一定要为Prometheus(这是模板里定义好的) 

grafana+onealert报警

        prometheus报警需要使用alertmanager这个组件,而且报警规则需要手动编写(对运维来说不友好); 所以我这里选用grafana+onealert报警。 注意: 实现报警前把所有机器时间同步再检查一遍

grafana对接onealert

在onealert里添加grafana应用

官方网站: http://www.onealert.com

增加grafana应用

 配置通知策略

  在grafana增加通知通道

测试cpu负载报警

创建alert

 自定义报警规则

在被监控机上加大cpu负载(如写个死循环的shell计算脚本让其执行),然后测试报警 

 最终的邮件报警效果 

测试mysql连接数报警

创建alert

 自定义报警规则

 加大mysql连接数(可通过多个终端使用mysql命令登录模拟),然后测试报警

邮件报警结果 

总结报警不成功的可能原因 

  • 各服务器之间时间不同步,这样时序数据会出问题,也会造成报警出问题
  • 必须写通知内容,留空内容是不会发报警的
  • 修改完报警配置后,记得要点右上角的保存
  • 保存配置后,需要由OK状态变为alerting状态才会报警(也就是说,你配置保存后,就已经是alerting状态是不会报警的)
  • grafana与onealert通信有问题

 扩展

        prometheus目前还在发展中,很多相应的监控都需要开发。但在官网的dashboard库中,也有一些官方和社区开发人员开发的dashboard可以直接拿来用。

地址为:https://grafana.com/grafana/dashboards

示例:

有兴趣的可以下载几个尝试一下(不一定版本兼容,如果不兼容,可多试几个不同版本)

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

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

相关文章

Opencv中的直方图(4)局部直方图均衡技术函数createCLAHE()的使用

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 创建一个指向 cv::CLAHE 类的智能指针并初始化它。 函数原型 Ptr<CLAHE> cv::createCLAHE (double clipLimit 40.0,Size tileGridSize…

关于Harmony的学习

day20 一、ES5严格模式 ES5提出严格模式&#xff0c;能让代码更规范&#xff0c;分为全局和局部。 进入严格模式语法&#xff1a;use strict 规则&#xff1a;①声明变量时必须使用var&#xff0c;不然会报错。 ②函数参数不能有重复的名称 ③函数名称括号调用函数&#xff…

Android UI绘制流程

UI绘制流程&#xff0c;Activity、Dialog、PopupWindow等 -- android系统的事件分发流程分为很多部分&#xff1a; Native层 –> ViewRootImpl层 –> DecorView层 –> Activity层 –> ViewGroup层 –> View层。 其实Toast窗口和Activity、Dialog、PopupWindow有…

12、Django Admin在列表视图页面上显示计算字段

两种方法&#xff1a; 注册模型有两种方式&#xff0c;需要首先添加或者修改admin中的注册模型如下方式 admin.register(Origin) class OriginAdmin(admin.ModelAdmin):list_display ("name",) 1、在models的模型类中添加函数 def hero_count(self,):return sel…

评价决策类——层次分析法+数学建模+实战分析

目录 一、前言 二、历年题型分析 2.1 常用算法归纳 2.1.1 优化类算法 2.1.2 预测类算法 2.1.3 评价决策类 2.1.4 NP-hard类 2.2 评价类模型求解 2.2.1 层次分析法&#xff08;AHP&#xff09; 2.2.2 多指标评价法&#xff08;MCDA&#xff09; 2.2.3 算法区别 三、层…

如何把自动获取的ip地址固定

在大多数网络环境中&#xff0c;‌设备通常会自动从DHCP服务器获取IP地址。‌这种动态分配IP的方式虽然灵活方便&#xff0c;‌但在某些特定场景下&#xff0c;‌我们可能需要将设备的IP地址固定下来&#xff0c;‌以确保网络连接的稳定性和可访问性。‌本文将详细介绍如何把自…

电子计算机科学中的前端技术:概念、历史、现状与展望?

电子计算机科学中的前端技术&#xff1a;概念、历史、现状与展望&#xff1f; 李升伟 前端技术是创建 Web 页面或 App 等前端界面呈现给用户的过程&#xff0c;通过 HTML、CSS、JavaScript 以及衍生出来的各种技术、框架、解决方案&#xff0c;来实现互联网产品的用户界面交互…

MySQL-基础篇-事务(事务简介、事务操作、事务的四大特性、并发事务引发的问题、事务的隔离级别)

文章目录 1. 事务简介2. 事务操作2.1 未控制事务2.2 控制事务2.2.1 查看事务的提交方式2.2.2 设置事务的提交方式2.2.3 提交事务2.2.4 回滚事务2.2.5 开启事务2.2.6 完善转账案例 3. 事务的四大特性&#xff08;ACID&#xff09;4. 并发事务引发的问题5. 事务隔离级别5.1 演示5…

羊大师:白露养生经,羊奶不可少

随着秋风渐起&#xff0c;白露悄然而至&#xff0c;自然界中的万物开始展现出成熟与收获的喜悦。在这个季节转换的微妙时刻&#xff0c;我们的身体也需要顺应天时&#xff0c;进行一番细致的调养。白露养生&#xff0c;不仅是对自然的敬畏&#xff0c;更是对健康生活的追求。 在…

橘子学ES实战操作之管道类型Ingest pipelines的基本使用

简介 我们在使用ES的时候&#xff0c;经常的用法就是把其他数据源比如Mysql的数据灌到ES中。 借用ES的一些功能来提供数据的全文检索以及聚合分析之类的功能。 在这个灌数据的过程中&#xff0c;我们经常会对数据做一些治理&#xff0c;类似ETL的能力。然后把治理后的数据写入…

SQLite3 数据类型深入全面讲解

SQLite3&#xff0c;作为一款轻量级的数据库管理系统&#xff0c;在数据存储方面展现出了其独特的魅力。它不仅支持标准的SQL语法&#xff0c;还提供了丰富的数据类型供开发者选择。这些数据类型不仅涵盖了基本的数值和文本类型&#xff0c;还包括了日期时间、二进制数据等复杂…

Eclipse 自定义字体大小

常用编程软件自定义字体大全首页 文章目录 前言具体操作1. 打开设置对话框2. 打开字体设置页面3. 找到Text Font&#xff0c;点击修改4. 修改字体 前言 Eclipse 自定义字体大小&#xff0c;统一设置为 Courier New &#xff0c;大小为 三号 具体操作 【Windows】>【Perfer…

三极管的检测方法与经验

中、小功率三极管的检测 1、已知型号和管脚排列的三极管&#xff0c;可按下述方法来判断其性能好坏 a.测量极间电阻。将万用表置于 R100 或 R1k 挡&#xff0c;按照红、黑表笔的六种不同接法进行测试。其中&#xff0c;发射结和集电结的正向电阻值比较低&#xff0c;其他四种…

Mac M1 安装Hadoop教程(安装包安装)

一、引言 前面一期&#xff0c;我分享了通过homebrew方式安装Hadoop&#xff0c;本期我将通过安装包方式介绍下hadoop如何安装。二、下载open jdk8 官方下载地址 注意如果是x86架构的苹果电脑&#xff0c;Architecture选择x86 64-bit或者 x86-32bit。 下载后&#xff0c;将得…

Spark-push-based shuffle

一、上下文 《Spark-Task启动流程》中讲到如果一个Task是一个ShuffleMapTask&#xff0c;那么最后在调用ShuffleWriter写入磁盘后还会判断是否可以启用push-based shuffle机制&#xff0c;下面我们就来继续看看push-based shuffle机制背后都做了什么 二、push-based shuffle机…

python-实战4拆分pdf文件

Wps等软件拆分一份页数较多的PDF文件时&#xff0c;经常会出现要收费或者只能拆分其中几页的情况&#xff0c;下面我们就自己来写代码来实现这个收费功能。 课程中已经初步学习了如何将一个PDF文件拆分成总页数个子PDF文件&#xff0c;我们基于其中的思路进行改进&…

【Unity开发】Blender导入VRM格式注意事项

【背景】 Blender顺利导入了VRM Format插件后&#xff0c;发现有的电脑导入后Mesh&#xff0c;Armature和Texture都一切正常&#xff0c;有的电脑只能导入一个框架。 【分析】 首先检查Blender版本和插件的适配性&#xff0c;4.2版本前后VRM Format有两个不同版本。 Blender…

JVM:浅谈JVM调优策略

多数的Java应用不需要在服务器上进行GC优化&#xff0c;虚拟机内部已有很多优化来保证应用的稳定运行&#xff0c;所以不要为了调优而调优&#xff0c;不当的调优可能适得其反。在应用上线之前&#xff0c;先考虑将机器的JVM参数设置到最优&#xff08;适合&#xff09;。 在进…

Golang 开发使用 gorm 时打印 SQL 语句

目录 1. 使用 Debug 方法2. 全局设置日志级别3. 自定义 Logger4. 总结 参考 gorm 文档&#xff1a;https://gorm.io/zh_CN/docs/logger.html Gorm 有一个 默认 logger 实现&#xff0c;默认情况下&#xff0c;它会打印慢 SQL 和错误。如果想要全部或部分打印 SQL 的话可以通过设…

基于QT与STM32的电力参数采集系统(华为云IOT)(211)

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架【3】上位机开发思路【4】供电方式1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要1.4 开发工具的选择【1】设备端开发…