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

news/2024/9/19 4:46:20/ 标签: 运维, prometheus, grafana, linux, 服务器, 运维监控
  • 本示例是通过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/news/1520526.html

相关文章

【MySQL】如何优化 SQL UPDATE 语句以提升性能

如何优化 SQL UPDATE 语句以提升性能 在日常开发中&#xff0c;优化 SQL 查询是非常关键的一项任务&#xff0c;尤其是在处理大量数据时。本文将通过一个 UPDATE 语句的优化过程&#xff0c;探讨如何提升 SQL 性能。 示例场景 假设我们有以下两张表&#xff1a; 表 table_a…

打造一流的研发型企业--- 金发科技研发驱动力初探

2006年3月29日&#xff0c;国家发改委副主任欧新黔亲自为金发科技颁发了“中国改性塑料行业第一位”、“中国合成材料制造业十强”、“中国石油化工全行业百强”三块铜牌证书&#xff0c;金发科技终于成为名符其实的行业“老大”。公司产品销售额增长迅速&#xff0c; 2006年完…

开发基础软件安装地址(持续更新中)

开发基础软件安装地址&#xff08;持续更新中&#xff09; 如果需要新增下载工具可以在评论中留言 欢迎广大开发人员在评论区讨论关于环境安装遇到的问题 正文会持续更新。。。 java常用的jdk1.8版本安装包 链接&#xff1a;jdk-8u421-windows-x64.exe idea java常用的开发工具…

提交保存,要做重复请求拦截,避免出现重复保存的问题

**问题&#xff1a;**前端ajax提交数据的时候&#xff0c;当频繁点击的时候&#xff0c;或者两个账号以相同数据创建的时候&#xff0c;会出现问题。 **处理办法&#xff1a;**前端拦截&#xff0c;防止重复提交数据&#xff0c;在上一次请求返回结果之后才允许提交第二次&…

在 Debian 8 上安装 Nginx 的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 介绍 Nginx 是一个流行的 HTTP 服务器&#xff0c;是 Apache2 的一个替代品。它可以用作反向代理、邮件服务器或 Web 服务器。根据 Net…

[某度信息流]SQL164,2021年11月每天新用户的次日留存率

牛客网在线编程 思路&#xff1a; 首先找出用户的注册日期&#xff0c;即date(min(in_time)) 转成date形式 建立两个辅助表&#xff0c;我先放代码&#xff0c;然后进行解释 withuser_reg as (selectuid,date(min(in_time)) as first_datefromtb_user_loggroup by1),…

抖音视频如何下载保存到相册:详细教程

随着抖音的风靡&#xff0c;越来越多的人沉浸在短视频的世界中&#xff0c;观看各种搞笑、有趣、甚至感人的视频。很多用户都希望能够将喜欢的抖音视频保存到自己的手机相册中&#xff0c;方便随时观看或分享给朋友。本文将详细介绍如何下载抖音视频并保存到相册的方法。 一、…

记录Jmeter 通过view result tree配置保存响应信息的方法以及命令行运行时的一个坑

大家在使用Jmeter进行调试时有没有考虑过这个问题&#xff0c;如何查看具体的响应信息&#xff0c;特别是通过命令行执行脚本的时候&#xff0c;如何看到具体请求的响应信息呢&#xff1f; 看到上面这个问题&#xff0c;首先想到的就是我们平时在jmeter中debug问题&#xff0c…

基于FPGA实现SD NAND FLASH的SPI协议读写

基于FPGA&#xff08;现场可编程门阵列&#xff09;实现SD NAND FLASH的SPI&#xff08;串行外设接口&#xff09;协议读写是一个涉及硬件设计与编程的复杂过程。以下将详细介绍该过程的背景、关键步骤、电路设计、SPI协议详解、FPGA实现以及代码示例等方面&#xff0c;内容不少…

Spark-ShuffleManager

一、上下文 《Spark-Task启动流程》中我们讲到了ShuffleMapTask中会对这个Stage的结果进行磁盘的写入&#xff0c;并且从SparkEnv中得到了ShuffleManager&#xff0c;且调用了它的getWriter方法并在这个Stage的入口处&#xff08;也就是RDD的迭代器数据源处&#xff09;调用了…

uniapp 自定义微信小程序 tabBar 导航栏

背景 做了一个校园招聘类小程序&#xff0c;使用 uniapp vue3 uview-plus pinia 构建&#xff0c;这个小程序要实现多角色登录&#xff0c;根据权限动态切换 tab 栏文字、图标。 使用pages.json中配置tabBar无法根据角色动态配置 tabBar&#xff0c;因此自定义tabBar&…

MySQL数据库增删查改(基础)CRUD

CRUD 即增加 (Create) 、查询 (Retrieve) 、更新 (Update) 、删除 (Delete) 四个单词的首字母缩写。 1. 新增&#xff08;Create&#xff09; 1.1单行数据&#xff08;全列插入&#xff09; 比如说&#xff1a;创建一张学生表&#xff0c;有姓名&#xff0c;学号。插入两个学…

新手c语言讲解及题目分享(十)——数组专项练习

C语言中的数组是一个用于存储多个同类型数据的集合。数组在内存中是连续分配的&#xff0c;可以通过索引访问其中的元素。以下是对C语言数组的详细讲解&#xff1a; 1. 数组的定义 数组的定义格式如下&#xff1a; type arrayName[arraySize]; - type&#xff1a;数组中元素…

数据结构---链表

指针和数组 数组的用途: 固定大小的存储: 数组用于存储固定大小的一组相同类型的元素。数组的大小在声明时必须指定&#xff0c;并且在程序运行期间不能改变。访问效率高: 数组允许通过下标进行快速访问&#xff0c;时间复杂度为 O(1)。内存连续性: 数组的元素在内存中是连续存…

网络安全面试经验分享:蘑菇街/网络安全

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 蘑菇街 介绍…

蓝牙协议栈API分析

蓝牙协议栈API分析是一个复杂但重要的任务&#xff0c;它涉及到蓝牙通信的各个方面&#xff0c;包括设备发现、连接建立、数据传输以及安全管理等。以下是对蓝牙协议栈API的详细分析&#xff0c;旨在提供一个全面的视角。 一、蓝牙协议栈概述 蓝牙协议栈是蓝牙技术实现的基础…

解决reCaptcha v2 Invisible:识别和参数

概述 reCaptcha v2 Invisible是一种旨在提供安全性而不打扰用户体验的验证码类型。与传统的验证码不同&#xff0c;reCaptcha v2 Invisible在检测到可疑活动时才会要求用户进行互动。本文将引导您如何使用CapSolver API识别并解决reCaptcha v2 Invisible挑战。 什么是reCaptc…

ChatGPT与R语言融合技术在生态环境数据统计分析、绘图、模型中的实践与进阶应用

自2022年GPT&#xff08;Generative Pre-trained Transformer&#xff09;大语言模型的发布以来&#xff0c;它以其卓越的自然语言处理能力和广泛的应用潜力&#xff0c;在学术界和工业界掀起了一场革命。在短短一年多的时间里&#xff0c;GPT已经在多个领域展现出其独特的价值…

计算机网络-VRRP切换与回切过程

前面我们学习了VRRP选举机制&#xff0c;根据VRRP优先级与IP地址确定主设备与备份设备&#xff0c;这里继续进行主备切换与主备回切以及VRRP抢占模式的学习。 一、VRRP主备切换 主备选举时根据优先级选择主设备&#xff0c;状态切换为Master状态&#xff0c;那当什么时候会切换…

科研学习|论文解读——OceanGPT:用于海洋科学任务的大型语言模型

摘要 海洋覆盖我们星球表面70%以上&#xff0c;对于理解生命的丰富储备和生物多样性至关重要。鉴于海洋在调节全球气候和支持经济中的关键作用&#xff0c;海洋科学研究具有重大意义。最近&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的进步改变了科学的范式。尽管在…