Grafana安装和实现可视化和告警

news2024/11/16 15:27:17

1、Grafana安装和实现可视化和告警

Prometheus UI 提供了快速验证 PromQL 以及临时可视化支持的能力,但其可视化能力却比较弱。一般情况下,

我们都用 Grafana 来实现对 Prometheus 的可视化实现。

1.1 什么是 Grafana

Grafana 是一个用来展示各种各样数据的开源软件,在其官网上用这么一段话来说明其作用。

Used by thousands of companies to monitor everything from infrastructure, applications, and power plants

to beehives。数以万计的公司用 Grafana 来监控基础设施、应用。

从官网上可以看到目前有 Paypal、ebay 等公司已经在使用 Prometheus 了。

1.2 快速入门

我们只需要在 Grafana 上配置一个 Prometheus 的数据源。接着我们就可以配置各种图表,Grafana 就会自动去

Prometheus 拉取数据进行展示。

1.3 Grafana安装

首先我们从 https://grafana.com/grafana/download 下载对应系统的安装包:

在这里插入图片描述

下载grafana-enterprise-8.4.3.linux-amd64.tar.gz 安装包:

在这里插入图片描述

使用 tar xvf grafana-enterprise-8.4.3.linux-amd64.tar.gz进行解压:

在这里插入图片描述

解压后用下面的命令启动:

# 前台启动
$ ./bin/grafana-server web
# 后台启动
$ nohup ./bin/grafana-server web >> nohup.out 2>&1 &

正常启动会输出如下信息:

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

Grafana 默认使用 3000 端口启动,开放3000端口:

# 查看开放的端口号 
firewall-cmd --list-all 
# 设置开放的端口号 
firewall-cmd --add-port=3000/tcp --permanent 
# 重启防火墙 
firewall-cmd --reload

我们访问:http://192.168.2.186:3000 查看对应页面:

在这里插入图片描述

默认的账号密码是 admin/admin,登陆进去后是这样的:

在这里插入图片描述

1.4 配置数据源

之后我们去设置菜单添加 Prometheus 数据源:

在这里插入图片描述

打开如下图所示:

在这里插入图片描述

会有许多数据源的选择:

在这里插入图片描述

选择第一个Prometheus:

在这里插入图片描述

之后输入对应的名字和 URL 地址即可。

这里我们添加了一个名为「Prometheus」的数据源,数据获取地址为:http://192.168.2.186:9090

然后点击Save & test

在这里插入图片描述

1.5 配置面板

在 Grafana 中有「Dashboard」和「Panel」的概念,Dashboard 可以理解成「看板」,而 Panel 可以理解成

「图表」,一个看板中包含了无数个图表,里面一个个小的图表,就是一个个小的图表(Panel)。

点击「+ 号」-> 「Dashboard」就可以添加一个大面板。

在这里插入图片描述

添加后的面板是空白的,下面我们创建一个图标来显示 CPU 的使用率变化情况。点击右上角的创建图表按钮:

在这里插入图片描述

点击创建图表会进入如下界面:

在这里插入图片描述

我们设置好数据源、Metrics 数据(rate(process_cpu_seconds_total[1m]))、图表名称,之后点击右上角的

Apply 按钮即可。

在这里插入图片描述

保存之后我们就可以在面板中看到机器的 CPU 使用率情况了:

在这里插入图片描述

1.6 邮件通道配置

如果我们要使用 Prometheus 进行监控告警,那么 Grafana 也能够实现。

Grafana 的告警渠道有很多,这里我们以邮件告警为例。

首先需要在 Grafana 的配置文件,默认是 conf/default.ini 文件。

在这里插入图片描述

default.ini 文件中增加如下配置:

[smtp]
enabled = true
host = smtp.qq.com:465
user = 2420309401@qq.com
# If the password contains # or ; 
# you have to wrap it with triple quotes. Ex """#password;"""
password = nfsroqnmreipecib
cert_file =
key_file =
skip_verify = false
# from_address 必须与上面的 user 属性一致
from_address = 2420309401@qq.com  
from_name = Grafana
ehlo_identity =

在这里插入图片描述

host 这里是你邮箱所在运营商的 SMTP 服务器,user 属性是发件人的邮箱地址,password 是发件人邮箱的登

陆密码,from_address 与 user 属性一样,都是发件人的邮箱地址,from_name 是发件人的显示名称。

修改完成之后,保存配置文件,之后重启 Grafana,接着通过 Alerting 菜单添加告警渠道。

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

之后填写「提醒通道」名称、类型,之后点击「Send Test」按钮测试一下。

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

后台会有日志信息打印:

在这里插入图片描述

正常的话,会收到一封测试邮件,这表明邮件配置已经完成。

在这里插入图片描述

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

此外我们还可以配置 AlertManager、钉钉等其他告警方式,配置的流程都大同小异,这里不再赘述。

1.7 指标告警配置

配置好邮件发送通道信息后,Grafana 就具备了发送邮件的能力。但是什么时候发送邮件呢?这就需要我们进行指

标告警配置了。

我们需要在图表面板设置中设置CPU使用率报警指标:

(1- avg(irate(node_cpu_seconds_total{mode="idle"}[5m])))*100

在这里插入图片描述

在这里插入图片描述

创建告警规则:

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

配置完成点击 Apply,回到 DashBoard:

在这里插入图片描述

查看 Alert 页面:

在这里插入图片描述

我们进行下面 的操作使CPU的使用率增高:

for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/dev/null & done

查看 Alert 和 DashBoard 页面变化:

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

当 Pending 一直持续5分钟之后会出发告警:

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

并且会收到告警邮件:

在这里插入图片描述

当我们杀死使CPU升高的进程,查看页面的变化:

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

并且会收到恢复告警的邮件:

在这里插入图片描述

我们一般不使用 grafana 的告警,而是使用 Altermanager进行告警。

1.8 Grafana 模板中心

对于线上监控来讲,如果我们每个面板都需要自己从零开始,那么就太累了。事实上,我们用到的许多监控信息都

是类似的。因此 Grafana 官网 - Dashboards 模块 提供了下载 Dashboard 模板的功能。

https://grafana.com/grafana/dashboards/

在这里插入图片描述

在这里插入图片描述
Dashboards 里有许多各种类型的 Dashboard 面板,例如 JVM 监控、MySQL 数据库监控等。你只需找到合适自

己的监控面板,之后根据 ID 添加即可。

现在准备监控MySQL:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

你只需要复制它的 ID 并使用 Grafana 的 import 功能导入即可,并且需要执行相关的SQL,如下图所示:

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

在这里插入图片描述

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

最终的效果如图所示:

在这里插入图片描述

1.9 将 Grafana 设置为服务

创建service并设置自动启动:

$ vim /usr/lib/systemd/system/grafana.service

配置如下内容:

[Unit]
Description=grafana
Documentation=https://grafana.com
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/home/zhangshixing/prometheus/grafana-8.4.3/bin/grafana-server -homepath /home/zhangshixing/prometheus/grafana-8.4.3
Restart=on-failure
[Install]
WantedBy=multi-user.target

设置自动启动:

$ systemctl enable grafana

启动服务并查看启动状态:

# 重新加载某个服务的配置文件
$ systemctl daemon-reload
# 启动grafana
$ systemctl start grafana
# 查看grafana状态
$ systemctl status grafana
[root@zsx ~]# systemctl status grafana
● grafana.service - grafana
   Loaded: loaded (/usr/lib/systemd/system/grafana.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2023-06-17 17:12:23 CST; 1min 0s ago
     Docs: https://grafana.com
 Main PID: 53549 (grafana-server)
    Tasks: 8
   Memory: 72.6M
   CGroup: /system.slice/grafana.service
           └─53549 /home/zhangshixing/prometheus/grafana-8.4.3/bin/grafana-server -homepath /home/zhangshixing/prometheus/grafa...

Jun 17 17:12:23 zsx.com grafana-server[53549]: logger=plugin.manager t=2023-06-17T17:12:23.52+0800 lvl=info msg="Plugin r...=input
Jun 17 17:12:23 zsx.com grafana-server[53549]: logger=query_data t=2023-06-17T17:12:23.52+0800 lvl=info msg="Query Servic...ation"
Jun 17 17:12:23 zsx.com grafana-server[53549]: logger=live.push_http t=2023-06-17T17:12:23.55+0800 lvl=info msg="Live Pus...ation"
Jun 17 17:12:23 zsx.com grafana-server[53549]: logger=report t=2023-06-17T17:12:23.67+0800 lvl=warn msg="Scheduling and sending...
Jun 17 17:12:23 zsx.com grafana-server[53549]: logger=http.server t=2023-06-17T17:12:23.69+0800 lvl=info msg="HTTP Server...ocket=
Jun 17 17:12:35 zsx.com grafana-server[53549]: logger=context t=2023-06-17T17:12:35.44+0800 lvl=info msg="Request Complet...ferer=
Jun 17 17:12:35 zsx.com grafana-server[53549]: logger=context t=2023-06-17T17:12:35.79+0800 lvl=info msg="Request Complet...ferer=
Jun 17 17:12:35 zsx.com grafana-server[53549]: logger=live t=2023-06-17T17:12:35.81+0800 lvl=info msg="Initialized channe...Ms4uVk
Jun 17 17:12:38 zsx.com grafana-server[53549]: logger=context t=2023-06-17T17:12:38.11+0800 lvl=info msg="Request Complet...ferer=
Jun 17 17:12:40 zsx.com grafana-server[53549]: logger=context t=2023-06-17T17:12:40.75+0800 lvl=info msg="Request Complet...ferer=
Hint: Some lines were ellipsized, use -l to show in full.

如果启动失败,可以查看日志:

[root@zsx ~]# journalctl -u grafana.service

其它的服务都类似,只需要修改相应 service 文件的一些参数。

1.10 总结

这里简单介绍了 grafana 的使用,更多关于图表的设置,将在后续文章专门讲述,这里不深入讲解。

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

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

相关文章

【Linux】可重入函数

文章目录 前言一. 场景二. 可重入与线程安全结束语 前言 在Linux中,进程/线程可能因为时间片到达,或者其他中断,或者调用系统,需要从用户态切换到内核态,而内核空间会保存切换前,用户代码执行处的上下文&a…

环境搭建【1】VM和ubuntun 环境搭建

1.安装VMware 1.1 下载安装包 (1)官网下载:https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0 (2)百度网盘:https://pan.baidu.com/s/…

5.pixi.js编写的塔防游戏(类似保卫萝卜)-子弹跟随精灵移动

游戏说明 一个用pixi.js编写的h5塔防游戏,可以用electron打包为exe,支持移动端,也可以用webview控件打包为app在移动端使用 环境说明 cnpm6.2.0 npm6.14.13 node12.22.7 npminstall3.28.0 yarn1.22.10 npm config list electron_mirr…

【详解】篮球记分牌硬件及代码

篮球记分牌设计 1 系统设计1.1 设计任务 1.2 性能指标要求1.2 设计思路及设计框图1.2.1设计思路1.2.2总体设计框图1.2.3电路原理图1.2.3 PCB布线图 2 主要程序模块的设计及原理2.1 外部中断0 2.2 菜单2.3 两队比分及两队犯规次数显示及修改2.3.1选择功能2.3.2修改功能2.3.3显示…

golang vscode环境报错gopls was not able to find modules in your workspace的解决方式

目录 错误提示 分析 解决方式 方法一:将workspace与项目路径保持一致 方案二:使用go work指明纳入工作区的的module 总结 错误提示 golang从老版本升级到go1.20.5后打开vscode,发现代码不能自动补全了,而且vscode跳出一下的…

dolphinscheduler创建创建租户错误

报错信息 [ERROR] 2023-06-17 17:04:10.282 org.apache.dolphinscheduler.api.exceptions.ApiExceptionHandler:[45] - 创建租户错误 org.apache.hadoop.security.AccessControlException: Permission denied: userhdfs, accessWRITE, inode"/":root:supergroup:drw…

搭建自己的 new bing网站----nginx反代(群晖,全docker版)

文章目录 1.前言:2. 部署过程:2.1.部署go-proxy-bing 项目:2.1.部署nginx反代:这两步完成实际上就可以访问了, 3.部署聊天服务器:代表链接成功! 1.前言: 本篇教程全萌新向&#xff…

Qt for Android 调试遇到问题总结

一、首次编译Downloading “Gradle” 无法下载导致编译无法完成问题 解决办法: 1、通过地址:https://services.gradle.org/distributions/gradle-5.5.1-bin.zip单独下载 2、再将下载的gradle-5.5.1-bin.zip放到“C:\Users\hp\.gradle\wrapper\dists\gr…

软件工程导论期末急救包(上)

目录 什么是软件工程?它的目标和内容是什么? 软件文档作用及包含 软件过程模型 瀑布模型 快速原型模型 增量模型 螺旋模型 喷泉模型 软件生存周期 需求分析阶段的基本任务是什么? 可行性研究的任务是什么? 软件是什…

MySQL——MySQL的图形化界面工具安装与使用

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 写在前面: 一.DataGrip安装使用 1). 找到下载准备好的安装包&am…

2023 最新 1200 道 JAVA 面试题,囊括面试所有硬核技能

Java 面试八股文有必要背吗? 我的回答是:很有必要。你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂。现如今,Java 面试的本质就是八股文,把八股文面试题背好,面试才有可能表现好。…

power gating/power switch/level shift/IR-drop

目录 1.power gating 2.level shift 3.IR-drop 1.power gating power gating 的设计重点如下: 1)Power Switch的设计; 2)Power Gating controller的设计; 3)retention register和isolation cell的选择及插入; 4)Power Gati…

【Pandas】pandas用法解析(一)

目录 一、生成数据表 1.导入pandas库 2.导入CSV或者xlsx文件 3.用pandas创建数据表 二、数据表信息查看 1.维度查看 2.数据表基本信息(维度、列名称、数据格式、所占空间等) 3.每一列数据的格式 4.某一列格式 5.空值判断 6.查看某一列空值 7…

使用torch的自动微分实现自定义函数优化

前言 目的是利用torch已经有的自动微分机制,进行参数迭代更新,就不用自己写代码算了。 文章目录 前言1. 待优化函数1.1 解释 2. 代码3. 结果 1. 待优化函数 y 10 ( x 1 x 2 − 5 ) 2 ( x 1 − x 2 ) 2 y10\times(x_1x_2-5)^2(x_1-x_2)^2 y10(x1​x…

oracle中如何修改日期类型的字段值

系列文章目录 文章目录 系列文章目录前言一、数据库表方式进行修改二、sql方式步骤总结 前言 Oracle是一家全球领先的数据库管理系统(DBMS)和企业软件公司。Oracle Corporation成立于1977年,总部位于美国加利福尼亚州的红木城(Re…

SpringBoot整合篇

SpringBoot整合第三方技术 1、整合缓存 何为缓存? 缓存是一种介于数据永久存储介质与数据应用之间的数据临时存储介质使用缓存可以有效的减少低速数据读取过程的次数(例如磁盘IO),提高系统性能缓存不仅可以用于提高永久性存储介…

腾讯云最新社招面经出炉(面试原题+答案解析)

前言 大家好,今天给大家分享一篇腾讯云的面经,以下是面试题和答案。加油,一起卷。 聊聊项目,好的设计,好的代码 谈谈什么是零拷贝? 一共有几种 IO 模型?NIO 和多路复用的区别? F…

Get请求参数过多导致请求失败

1. 问题 系统正常使用没有问题,但是有极个别的用户出现系统异常,通过日志发现某个get请求,传入的城市list太多,就会抛出异常 java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Map。 2. 排查过程 …

Elasticsearch 安装(Linux)

ElasticSearch 概念安装安装es 后台启动 & 停止启动nohup 记录pid 停止 其他启动错误max number of threads内存不足 Cannot allocate memoryfailed to obtain node locks 概念 ES是一款分布式全文搜索引擎,基于Lucene,进行了二次封装,更…

ElasticSearch笔记02-ElasticSearch入门

ElasticSearch安装 下载软件 ElasticSearch的官网,视频教程里用的Version是7.8.0,所以,我们也是用7.8.0版本的ElasticSearch。 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch,然后搜索…