Prometheus系列(二)Grafana可视化部署
创始人
2024-04-10 22:33:18
0

概念

Grafana 是一个监控仪表系统,它是由 Grafana Labs 公司开源的的一个系统监测工具,它可以大大帮助我们简化监控的复杂度,我们只需要提供需要监控的数据,它就可以帮助生成各种可视化仪表,同时它还有报警功能,可以在系统出现问题时发出通知。

Grafana 支持许多不同的数据源,每个数据源都有一个特定的查询编辑器,每个数据源的查询语言和能力都是不同的,我们可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源。目前官方支持以下数据源:

Alertmanager
AWS CloudWatch
Azure Monitor
Elasticsearch
Google Cloud Monitoring
Graphite
InfluxDB
Loki
Microsoft SQL Server (MSSQL)
MySQL
OpenTSDB
PostgreSQL
Prometheus
Jaeger
Zipkin
Tempo

我们这里当然重点需要介绍的就是 Prometheus 这个数据源了。

监控系统组成

1. Granfana

从数据源中查询数据,并将查询到的数据进行可视化展示。

2. Prometheus

Prometheus是一个时间序列数据库。但是,它不仅仅是一个时间序列数据库。它涵盖了可以绑定的整个生态系统工具集及其功能。Prometheus主要用于对基础设施的监控,包括服务器(CPU、MEM等)、数据库(MYSQL、PostgreSQL等)、Web服务等,几乎所有东西都可以通过Prometheus进行监控。而它的数据,则是通过配置,建立与数据源的联系来获取的。

虽然Grafana可以从多种数据(如Prometheus、MySQL/PostgreSQL、OpenTSDB)等等中获取数据,不过Prometheus天生就是为了监控而生,所以我们用的最多的还是Prometheus。这也是我们的标配哦~

3. 数据源

在Prometheus的架构设计中,Prometheus并不直接服务监控特定的目标,就比如我们监控linux系统,Prometheus不会自己亲自去监控linux的各项指标。其主要任务负责数据的收集,存储并且对外提供数据查询支持。

因此为了能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Exporter是一个相对开放的概念,不是专门指某一个程序。它可以是一个独立运行的程序,独立于监控目标以外(如Node Exporter程序,独立于操作系统,却能获取到系统各类指标)。也可以是直接内置在监控目标中的代码(如在项目代码层面接入普罗米修斯API,实现指标上报)。总结下来就是,只要能够向Prometheus提供标准格式的监控样本数据,那就是一个Exporter。

而Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。

对于大家常见的监控主机运行的指标如CPU, 内存,磁盘等信息,我们可以为linux系统下载Node Exporter程序,该程序会监控linux各项指标,并通过:http://:9100/metrics来展示各项指标。而其给我们返回的内容如下图所示:
在这里插入图片描述

上图是访问Node Exporter暴露的HTTP服务,获取到了一系列的监控指标。而这些监控指标便是Prometheus可以采集到当前主机所有监控指标的样本数据:## 含义:
图中以#开头相当于注释,我们不用太关注。图中以非#开头的每一行则表示当前Node Exporter采集到的一个监控样本。对于图中可见的node_cooling_device_max_state和node_cpu_guest_seconds_total,代表了当前监控样本的名称。紧跟指标后大括号中的键值对中的键被称为标签,它与键值对的值共同组成筛选条件,相当于Mysql里的Where后面的内容。键值对整体反映了当前样本的一些特征和维度。而右大括号后的值则是该监控样本监控下的具体值。  

4. 工作原理

现在我们有了以下3个部分:

Exporter 监控工具,获取数据
Prometheus 普罗米修斯时序数据库,用来存储和查询你的监控数据
Grafana 仪表盘

在这里插入图片描述

安装

1. 下载安装包

>官网地址:https://grafana.com
>官方文档:https://grafana.com/docs/grafana/next/>二进制包下载:
[root@localserver /root]# wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.2.5.linux-amd64.tar.gz
[root@localserver /root]# tar xf grafana-enterprise-9.2.5.linux-amd64.tar.gz
[root@localserver /root]# mv grafana-enterprise-9.2.5 /usr/local/grafana-9.2.4
[root@localserver /root]# cd /usr/local/grafana-9.2.4/bin
[root@localserver /usr/local/grafana-9.2.4/bin]# nphup ./grafana-server web > ./grafana.log >2&1 &

2. 浏览器登录

浏览器输入:http://192.168.178.150:3000/login## 首次登录用户名吗、密码默认都是admin/admin
## 当然也可以在配置文件 /usr/local/grafana-9.2.4/conf/defaults.ini 中配置 admin_user 和 admin_password 两个参数来进行覆盖。
![在这里插入图片描述](https://img-blog.csdnimg.cn/7d98c7845a8f4420b2573a1868e9ef4c.png)

在这里插入图片描述

首次登录界面:

在这里插入图片描述输入admin/admin会提示设置新密码,按照指引设置即可
在这里插入图片描述
之后,正常进入 grafana 界面:
在这里插入图片描述

3. 设置数据源

Grafana 并不负责采集数据,只是它可以将采集来的数据通过查询进行可视化展示。
那么这个数据从何而来呢?答案就是 datasources,在可视化界面中,可以在设置中进行设置数据源,也就是后续的指标查询展示都是从这个数据源获取。
在这里插入图片描述数据来源选择 Prometheus,之后设置 http url,填写部署 Prometheus 的链接即可,之后保存。
在这里插入图片描述在 HTTP 项中配置 URL 地址默认为 http://localhost:9090,其实就是 Prometheus 的地址,由于我们这里 Grafana 和 Prometheus 都在同一个节点上,所以用 localhost 即可访问,当然用 IP 也可以,配置完成后,拉到最下方点击 Save & test,提示添加成功即表面数据源添加成功了。然后在数据源列表中就会出现我们刚刚添加的 Prometheus 这个数据源了:

在这里插入图片描述
如果想要添加其他支持的数据源则也可用同样的方式进行添加。

4. 配置面板

数据源已经配置了,那么如何才可以看到监控面板呢?
Grafana 官网有提供很多现成的 dashboard,可以直接下载使用:
地址:https://grafana.com/grafana/dashboards/

这里我们下载一个 node-exporter 来使用:
https://grafana.com/grafana/dashboards/15172-node-exporter-for-prometheus-dashboard-based-on-11074/

官网的 dashboard 就需要采用导入的方式:
在这里插入图片描述
在这里插入图片描述
导入成功,效果图如下:
在这里插入图片描述

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...