一.Grafana

(1)安装Grafana的Linux环境

在官网下载windows的Grafana的压缩包到指定目录,解压缩Grafana压缩文件到包含当前Grafana版本的文件夹。将该文件夹解压缩到希望Grafana运行的任何位置。进入conf目录中复制一份sample.ini,并将sample.ini改名为custom.ini,打开文件custom.ini中,找到custom.ini中的http_port,将其取消注释(.ini文件中的注释为 ; )端口号默认为3000。

进入到 bin目录下,通过执行 grafana-server.exe中的启动Grafana(最好使用命令行启动),如果需要将Grafana作为windows服务进行,则下载NSSM,具体操作,博客:  https://www.jianshu.com/p/41b77a1eb7d3

(2)开始练习操作Grafana

首次进入Grafana的web页面,localhost:3000,默认端口号为3000,端口号可以修改custom.ini中的http,默认登录名密码为:admin/admin,进入后修改密码。

 二.操作流程:

1.检查服务器配置一个监控。(监控磁盘是否出问题)

集群由 node_exporter 进行监控内存、cpu、磁盘的情况,可以通过  ps aux |  grep node_exporter 来检测是否有node_exporter 进程在运行,如果没有则进行配置。

了解node_exporter的作用:

node-exporter用于采集服务器层面的运行指标,包括机器的loadavg、filesystem、meminfo等基础监控

node-exporter由prometheus官方提供、维护,不会捆绑安装,但基本上是必备的exporter

2.如果没有监控

下载node_exporter

1.将node_exporter安装到linux的/usr/local/node_exporter上
2.$ tar -zxvf 软件压缩包
  $ mv 软件名  node_exporter
  $ cd node_exporter
  $ ./node_exporter &   #启动node_exporter
3.访问  ip:9000

prometheus

整个系统以prometheus为核心,primetheus通过集成pushgateway、alertmanager、grafana、node_exporter来进行一系列的架构。下面为整体的架构图:

整体流程:
1.       Prometheus server 定期从配置好的 jobs 或者 exporters 中拉 metrics,或者接收来自 Pushgateway 发过来的 metrics,或者从其他的 Prometheus server 中拉 metrics。
2.       Prometheus server 在本地存储收集到的 metrics,并运行已定义好的 alert.rules,记录新的时间序列或者向 Alertmanager 推送警报。
3.       Alertmanager 根据配置文件,对接收到的警报进行处理,发出告警。
4.       在图形界面中(使用grafana),可视化采集数据 

Alertmanager

在Prometheus Server中支持基于PromQL创建告警规则,如果满足PromQL定义的规则,则会产生一条告警,而告警的后续处理流程则由AlertManager进行管理。在AlertManager中我们可以与邮件,Slack等等内置的通知方式进行集成,也可以通过Webhook自定义告警处理方式。AlertManager即Prometheus体系中的告警处理中心。
Alertmanager主要负责对Prometheus产生的告警进行统一处理,因此在Alertmanager配置中一般会包含以下几个主要部分:
  • 全局配置(global):用于定义一些全局的公共参数,如全局的SMTP配置,Slack配置等内容;
  • 模板(templates):用于定义告警通知时的模板,如HTML模板,邮件模板等;
  • 告警路由(route):根据标签匹配,确定当前告警应该如何处理;
  • 接收人(receivers):接收人是一个抽象的概念,它可以是一个邮箱也可以是微信,Slack或者Webhook等,接收人一般配合告警路由使用;
  • 抑制规则(inhibit_rules):合理设置抑制规则可以减少垃圾告警的产生

钉钉机器人

创建钉钉机器人
       1.获得钉钉机器人的webhook,配置安全设置:自定义关键词
       2.创建webhook服务
       3.在alertmanager中添加webhook的url
webhook_configs:
- url: http://------ip----:8080/webhook

监控指标

CPU使用情况

- alert: Bigdata_CPU
   #告警规则
  expr: 100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)* 100) > 80
  for: 1m
  labels:
    token: {{ .Values.prometheus.prometheusSpec.externalLabels.env }}-bigdata
    priority: P0
    status: 告警
  #告警内容
  annotations:                    
    content: "大数据告警:IPadress:{{`{{$labels.instance}}`}} CPU使用大于80%(目前使用:{{`{{$value}}`}}%)"
    title: "大数据告警:CPU使用大于80%(目前使用:{{`{{$value}}`}}%)"

内存使用情况

- alert: Bigdata_Memory
 expr: 100 - ((node_memory_MemAvailable_bytes * 100) / node_memory_MemTotal_bytes) > 80
 for: 1m
 labels:
   token: {{ .Values.prometheus.prometheusSpec.externalLabels.env }}-bigdata
   priority: P0
   status: 告警
 annotations:
   content: "大数据告警:IPaddress:{{`{{$labels.instance}}`}} 内存使用大于80%(目前使用:{{`{{$value}}`}}%)!"
   title: "大数据告警:内存使用大于80%(目前使用:{{`{{$value}}`}}%)"

磁盘使用情况

系统盘

- alert: Bigdata_System_Disk
 expr: 100 - ((node_filesystem_avail_bytes{mountpoint="/",fstype!="rootfs"} * 100) / node_filesystem_size_bytes{mountpoint="/",fstype!="rootfs"}) > 90
 for: 1m
 labels:
   token: {{ .Values.prometheus.prometheusSpec.externalLabels.env }}-bigdata
   priority: P0
   status: 告警
 annotations:
   content: "大数据告警:IPadress:{{`{{$labels.instance}}`}},device:{{`{{$labels.device}}`}},mount:{{`{{$labels.mountpoint}}`}} 磁盘分区使用量大于90%(目前使用:{{`{{$value}}`}}%)!"
   title: "大数据告警:{{`{{$labels.mountpoint}}`}} 磁盘分区使用大于90%(目前使用:{{`{{$value}}`}}%)"

数据盘

- alert: Bigdata_Data_Disk
  expr: 100 - ((node_filesystem_avail_bytes{device!~'rootfs',mountpoint=~"/mnt/.*"} * 100) / node_filesystem_size_bytes{device!~'rootfs',mountpoint=~"/mnt/.*"}) > 80
  for: 1m
  labels:
    token: {{ .Values.prometheus.prometheusSpec.externalLabels.env }}-bigdata
    priority: P0
    status: 告警
  annotations:
    content: "大数据告警:IPadress:{{`{{$labels.instance}}`}},device:{{`{{$labels.device}}`}},mount:{{`{{$labels.mountpoint}}`}} 磁盘分区使用大于80%(目前使用:{{`{{$value}}`}}%)"
    title: "大数据告警:{{`{{$labels.mountpoint}}`}} 磁盘分区使用大于80%(目前使用:{{`{{$value}}`}}%)"

Grafana+prometheus+AlertManager+钉钉机器人的更多相关文章

  1. Docker+Prometheus+Alertmanager+Webhook钉钉告警

    Docker+Prometheus+Alertmanager+Webhook钉钉告警 1.环境部署 1.1 二进制部署 1.2 docker部署 1.2.1 webhook 1.2.2 alertma ...

  2. 远见而明察近观若明火|Centos7.6环境基于Prometheus和Grafana结合钉钉机器人打造全时监控(预警)Docker容器服务系统

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_181 我们知道,奉行长期主义的网络公司,势必应在软件开发流程管理体系上具备规范意识,即代码提交有CR(CodeReview),功能 ...

  3. prometheus grafana graylog 钉钉告警 短信告警 电话告警系统 PrometheusAlert

    PrometheusAlert 简介 PrometheusAlert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus,日志系统Graylog和数据可视化系统Grafana发出的 ...

  4. Docker系列——Grafana+Prometheus+Node-exporter钉钉推送(四)

    近期搭建的服务器监控平台,来进行一个总结.主要分为监控平台的搭建.告警中心的配置以及消息的推送.推送的话,支持多种终端.具体详细可查看之前的博文,在这里罗列下,方便查看. Docker系列--Graf ...

  5. Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 一.Prometheus 二.exporter ...

  6. Grafana+Prometheus实现Ceph监控和钉钉告警-转载(云栖社区)

    获取软件包 最新的软件包获取地址 https://prometheus.io/download/ Prometheus 1.下载Prometheus $ wget https://github.com ...

  7. 使用 Prometheus Alertmanager 模块发送 Doris 异常信息至钉钉报警群

    基础环境 1.Prometheus 版本:2.22.2 下载地址: https://github.com/prometheus/prometheus/releases/download/v2.22.2 ...

  8. Grafana+Prometheus系统监控之钉钉报警功能

    介绍 钉钉,阿里巴巴出品,专为中国企业打造的免费智能移动办公平台,含PC版,Web版和手机版.智能办公电话,消息已读未读,DING消息任务管理,让沟通更高效:移动办公考勤,签到,审批,企业邮箱,企业网 ...

  9. Prometheus+Altermanager钉钉报警

    Prometheus+Altermanager钉钉报警 一.添加钉钉机器人 参考钉钉官方文档:https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq ...

随机推荐

  1. Why you need to understand garbage collection

    Why you need to understand garbage collection I’ve been interviewing lots of C# developers recently, ...

  2. kafka window环境下使用(内置zookeeper)

    下载 kafka 官网下载最新版本(已集成 zookeeper) 解压到 D 盘的 kafka_2.12-2.3.0 运行 zookeeper 执行 zookeeper 运行命令 D:\kafka_2 ...

  3. WebGL学习笔记(十二):加载模型文件

    目前为止,我们用到的模型顶点uv信息等,都是直接定义在代码中的,实际使用中,这些数据应该是由3D编辑器编辑好后按照一定的格式存储在文件中的,我们需要从文件中提取出对应的数据之后,组合成我们可以使用的信 ...

  4. vue-cli3用图形化的方式创建项目

    Vue脚手架可以快速生成Vue项目基础的架构. A.安装3.x版本的Vue脚手架: npm install -g @vue/cli B.基于3.x版本的脚手架创建Vue项目: 1).使用命令创建Vue ...

  5. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器启用https服务申请免费证书

    背景分析 目前想在 web 上使用 HTTPS 的话, 你需要获得一个证书文件, 该证书由一个受浏览器信任的公司所签署. 一旦你获得了它, 你就在你的 web 服务器上指定其所在的位置, 以及与你关联 ...

  6. Ubuntu tricks

    linux 复制文件夹内所有文件到另一个文件夹 cp -Rf /home/user1/* /root/temp/ 将 /home/user1目录下的所有东西拷到/root/temp/下而不拷贝user ...

  7. WEBSHELL-恶意代码检测

    静态查杀 提取特征写成规则库,调用规则库查杀.基于规则,会比较快,但漏报.误报会比较明显,一般的Webshell一句话木马变形混淆会比较多. yara规则 $eval = /(<\?php|[; ...

  8. ufw防火墙规则不生效

    正式站系统是Ubuntu 16.04.6 一.今天一个项目有百度爬出,在nginx中封掉还在一直爬取,都403还不停爬取 二.在uwf封掉爬出ip,想封掉80端口没有用,然后封掉整个网段还是没有用,尴 ...

  9. 【maven学习】构建maven web项目

    Maven Web应用 创建Web应用程序 要创建一个简单的java web应用程序,我们将使用Maven的原型 - web应用插件.因此,让我们打开命令控制台,进入到C: MVN目录并执行以下命令m ...

  10. Linux 就该这么学 CH02新手必须掌握的Linux命令

    0 概述 本章内容如下 强大的shell. 帮助文档命令(1) 系统工作命令(10) 系统状态监测命令(8) 工作目录切换命令(3) 文本文件编辑命令(9) 文件目录管理命令(7) 打包压缩或搜索命令 ...