【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(2)

server/2024/10/8 12:05:31/
  • 本示例是通过prometheus的node exporter收集主机的信息,然后在grafana的dashborad进行展示。
  • 本示例使用到的组件均是最新的,下文中会有具体版本说明,linux环境是centos。
  • 本示例分为四个部分,即prometheusgrafana、node exporter的部署和三者集成的监控linux
  • 本文旨在说明三者如何使用,不涉及各自组件的介绍,如果需要使用到本文的,肯定都有了解。

说明:本示例仅仅是为了展示三者结合使用,故没有考虑集群部署以及实际环境的使用,故除了node exporter外,都部署在server2上,node exporter则是收集四台机器的性能指标。

该文章太长,故分成2个部分
运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(1)
运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(2)
运维监控】prometheus+node exporter+grafana 监控linux机器运行情况(完整版)

linux_12">四、集成监控linux运行情况

本节说明的是如何通过grafana 的dashboard展示node exporter收集的指标数据,收集的是server1到server4的4台机器。

grafana_14">1、添加grafana数据源

要在grafana监控任何应用的运行情况,第一步都是先建立数据源,根据grafana内置的数据源进行配置,本示例使用的是prometheus数据源。
grafana的 web UI链接:http://server2:3000/connections/add-new-connection

1)、打开Add new connection

选择Prometheus数据源类型
在这里插入图片描述
添加Prometheus的配置
在这里插入图片描述
其他信息均默认(其他的配置信息基于实际的环境进行对应的修改,如果需要),点击“save & test”按钮,出现如下红框内提示,则表示成功。
在这里插入图片描述

2)、在添加数据源时导入dashboard

在添加数据源的页面,也可以选择dashboard选项卡,添加默认的dashboard,如下图所示。
在这里插入图片描述
添加完成后,如下图所示。
在这里插入图片描述
添加完成后,也可以在下面页面中点击查看添加的dashboard
在这里插入图片描述
例如查看Prometheus 2.0 Stats 对应的dashboard。
在这里插入图片描述
以上就完成了在grafana添加数据源。

grafanadashboard_34">2、添加grafana的dashboard

1)、选择新建dashboard方式

grafana的web ui页面中选择dashborad的菜单栏,如下图所示。
在这里插入图片描述
上图按钮提供三个功能,即创建目录、新建dashboard和导入dashboard。新建目录就是将不同的dashboard归类,新建dashboard页面如下图所示。下图中的import dashboard与该按钮下的import是一个功能。
在这里插入图片描述
提供三种功能,即自己创建可视化dashboard、导入panel和导入dashboard。本示例介绍的是导入dashboard。

2)、导入dashboard

导入dashboard需要以下几步:

  • 1、在链接中选择需要的模板
  • 2、选择导入模板的方式,本示例选择复制模板ID方式
  • 3、加载模板ID后进行相应的配置
  • 4、配置完成后,进行模板最后的Load

下面就按照上述的步骤进行操作示例。

点击import a dashboard按钮,进入下面页面。
在这里插入图片描述
在上图中第一个红色框内的链接(https://grafana.com/grafana/dashboards/)提供开源模板,供使用者自行选择需要的内容,本示例选择的是“Linux主机详情”,ID是12633。可以选择复制ID或自己下载json,在上图中上传json。本示例是复制ID操作方式。
在这里插入图片描述
接下来填写好对应的模板ID,如下图所示
在这里插入图片描述
在上图中点击load按钮,进入下面图示。
在这里插入图片描述
由于作者已经添加过了该模板,所以会出现下面重复,分别填写对应的内容即可,比如dashboard的名称、对应的目录和选择对应的数据源,如果没有重复的模板不会出现让重新改变uid,最后导入即可。如下图所示。
在这里插入图片描述

3、查看添加的dashboard

在web UI的界面点击dashboard链接菜单,选择刚才添加的模板,展示结果如下图所示。
在这里插入图片描述
注:该示例展示的模板,作者有部分改动,具体以你的环境为准。你的环境添加完后的可能是下面的界面展示结果。
在这里插入图片描述

prometheus_65">4、添加prometheus指标数据

本文的第一部分部署prometheus时,一切都是默认的配置,并没有修改任何配置,所以按照上述集成的顺序来做的话,显示的结果就是上图的内容。如果通过prometheus收集数据的话,则需要进行相应的配置。

本示例仅仅是集成grafana的示例性说明,所以仅仅修改需要的基本配置,其他如果和本示例无关,则不再说明。

prometheus_69">1)、修改prometheus配置

增加需要收集指标的机器配置,修改完成后重启prometheus服务。操作过程如下。

[alanchan@server2 prometheus-2.54.0.linux-amd64]$ pwd
/usr/local/bigdata/prometheus-2.54.0.linux-amd64[alanchan@server2 prometheus-2.54.0.linux-amd64]$ cat prometheus.yml 
# my global config
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["server2:9090"]- job_name: "node_10.41"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["server1:9100"]- job_name: "node_10.42"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["server2:9100"]- job_name: "node_10.43"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["server3:9100"]- job_name: "node_10.44"# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ["server4:9100"][alanchan@server2 prometheus-2.54.0.linux-amd64]$ [alanchan@server2 prometheus-2.54.0.linux-amd64]$ ./prometheus

2)、部署及启动node exporter

分别在机器server1、server3、server4上按照在server2上部署node exporter方式进行部署,不再赘述。

prometheus_140">3)、验证prometheus

重启prometheus后,选择其对应的target,可以看到如下页面,则表示成功。
在这里插入图片描述

5、验证dashboard

都正常运行后的页面如下图所示,可以看到 我们配置的prometheus的几个机器的指标收集情况,选择对应的IP即可,参考如下图所示。
在这里插入图片描述
在这里插入图片描述
说明:如果你添加完后,没有显示数据,可能是设置的获取数据的区间不对,也可能的是安装的模板不能取得数据(可以通过数据探索或修改模板的源文件进行调试)。
以上,就完成了Prometheus与Grafana的集成工作,同时可以监控Linux的机器运行情况。


http://www.ppmy.cn/server/111311.html

相关文章

论文速读|用于多样化、动态和鲁棒双足机器人行走控制的强化学习

论文地址&#xff1a;https://arxiv.org/pdf/2401.16889 摘要 论文详细介绍了一种强化学习&#xff08;RL&#xff09;框架&#xff0c;用于开发双足机器人的动态行走控制器。该框架不仅限于单一的行走技能&#xff0c;而是提供了一个统一的解决方案&#xff0c;能够训练出能够…

ClickHouse实时探索与实践 京东云

1 前言 京喜达技术部在社区团购场景下采用JDQFlinkElasticsearch架构来打造实时数据报表。随着业务的发展 Elasticsearch开始暴露出一些弊端&#xff0c;不适合大批量的数据查询&#xff0c;高频次深度分页导出导致ES宕机、不能精确去重统计&#xff0c;多个字段聚合计算时性能…

计算机网络(八股文)

这里写目录标题 计算机网络一、网络分层模型1. TCP/IP四层架构和OSI七层架构⭐️⭐️⭐️⭐️⭐️2. 为什么网络要分层&#xff1f;⭐️⭐️⭐️3. 各层都有那些协议&#xff1f;⭐️⭐️⭐️⭐️ 二、HTTP【重要】1. http状态码&#xff1f;⭐️⭐️⭐️2. 从输入URL到页面展示…

【Redis】Redis 持久化机制详解:RDB、AOF 和混合持久化的工作原理及优劣分析

目录 持久化RDB触发机制流程说明RDB ⽂件的处理RDB 的优缺点 AOF使⽤ AOF命令写⼊⽂件同步重写机制启动时数据恢复 混合持久化小结 持久化 回顾 MySQL 的事务的特性&#xff1a; 原子性一致性持久性&#xff08;持久化&#xff09;隔离性 持久化&#xff1a;把数据存储在硬盘上…

flutter与原生怎么交互的

Flutter 与原生平台(如 Android 和 iOS)之间的交互可以通过**平台通道(Platform Channels)**实现。这允许你在 Flutter 应用中调用原生代码,或者从原生代码中调用 Flutter 代码。这种机制使得你可以利用原生平台提供的特性和 API,同时保持大部分应用代码在 Flutter 中。 …

LabVIEW水泵机组监控系统

介绍了一种基于LabVIEW的水泵机组智能监控系统。该系统结合先进的传感器和数据采集技术&#xff0c;实时监控水泵机组的运行状态&#xff0c;有效预防故障&#xff0c;提高运行效率。通过LabVIEW平台的集成开发环境&#xff0c;系统实现了高效的数据处理和友好的用户界面。 项…

ES在高并发下如何保证读写一致性

当多个客户端几乎同时对同一个索引进行读和写操作时&#xff0c;Elasticsearch 通过多个机制来管理这种一致性&#xff0c;以下是一些关键点和策略&#xff0c;以确保在高并发环境下的读写一致性&#xff1a; 冲突检测与版本控制 当进行并发写入时&#xff0c;Elasticsearch …

Kafka【六】Linux下安装Kafka集群

Kafka从早期的消息传输系统转型为开源分布式事件流处理平台系统&#xff0c;所以很多核心组件&#xff0c;核心操作都是基于分布式多节点的。本文这里采用三台虚拟机模拟真实物理主机搭建Zookeeper集群和kafka集群。 VMware可以使用户在一台计算机上同时运行多个操作系统&…