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

news2024/9/22 22:40:05
  • 本示例是通过prometheus的node exporter收集主机的信息,然后在grafana的dashborad进行展示。
  • 本示例使用到的组件均是最新的,下文中会有具体版本说明,linux环境是centos。
  • 本示例分为四个部分,即prometheus、grafana、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机器运行情况(完整版)

一、部署prometheus

1、部署

1)、下载

下载地址:https://prometheus.io/download/
下载版本:prometheus-2.54.0.linux-amd64.tar.gz

2)、解压

tar xf prometheus-2.54.0.linux-amd64.tar.gz -C /usr/local/bigdata

cd /usr/local/bigdata/prometheus-2.54.0.linux-amd64

3)、启动

[alanchan@server2 prometheus-2.54.0.linux-amd64]$ ./prometheus 
ts=2024-08-28T00:44:34.721Z caller=main.go:601 level=info msg="No time or size retention was set so using the default time retention" duration=15d
ts=2024-08-28T00:44:34.721Z caller=main.go:645 level=info msg="Starting Prometheus Server" mode=server version="(version=2.54.0, branch=HEAD, revision=5354e87a70d3eb26b81b601b286d66ff983990f6)"
ts=2024-08-28T00:44:34.721Z caller=main.go:650 level=info build_context="(go=go1.22.6, platform=linux/amd64, user=root@68a9e2472a68, date=20240809-11:36:32, tags=netgo,builtinassets,stringlabels)"
ts=2024-08-28T00:44:34.721Z caller=main.go:651 level=info host_details="(Linux 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 server2 (none))"
ts=2024-08-28T00:44:34.721Z caller=main.go:652 level=info fd_limits="(soft=131072, hard=131072)"
ts=2024-08-28T00:44:34.721Z caller=main.go:653 level=info vm_limits="(soft=unlimited, hard=unlimited)"
ts=2024-08-28T00:44:34.725Z caller=web.go:571 level=info component=web msg="Start listening for connections" address=0.0.0.0:9090
ts=2024-08-28T00:44:34.725Z caller=main.go:1160 level=info msg="Starting TSDB ..."
ts=2024-08-28T00:44:34.727Z caller=tls_config.go:313 level=info component=web msg="Listening on" address=[::]:9090
ts=2024-08-28T00:44:34.727Z caller=tls_config.go:316 level=info component=web msg="TLS is disabled." http2=false address=[::]:9090
ts=2024-08-28T00:44:34.730Z caller=head.go:626 level=info component=tsdb msg="Replaying on-disk memory mappable chunks if any"
ts=2024-08-28T00:44:34.730Z caller=head.go:713 level=info component=tsdb msg="On-disk memory mappable chunks replay completed" duration=10.811µs
ts=2024-08-28T00:44:34.730Z caller=head.go:721 level=info component=tsdb msg="Replaying WAL, this may take a while"
ts=2024-08-28T00:44:34.730Z caller=head.go:793 level=info component=tsdb msg="WAL segment loaded" segment=0 maxSegment=0
ts=2024-08-28T00:44:34.730Z caller=head.go:830 level=info component=tsdb msg="WAL replay completed" checkpoint_replay_duration=49.241µs wal_replay_duration=495.341µs wbl_replay_duration=179ns chunk_snapshot_load_duration=0s mmap_chunk_replay_duration=10.811µs total_replay_duration=587.433µs
ts=2024-08-28T00:44:34.732Z caller=main.go:1181 level=info fs_type=EXT4_SUPER_MAGIC
ts=2024-08-28T00:44:34.732Z caller=main.go:1184 level=info msg="TSDB started"
ts=2024-08-28T00:44:34.732Z caller=main.go:1367 level=info msg="Loading configuration file" filename=prometheus.yml
ts=2024-08-28T00:44:34.733Z caller=main.go:1404 level=info msg="updated GOGC" old=100 new=75
ts=2024-08-28T00:44:34.733Z caller=main.go:1415 level=info msg="Completed loading of configuration file" filename=prometheus.yml totalDuration=797.737µs db_storage=7.507µs remote_storage=14.22µs web_handler=348ns query_engine=4.314µs scrape=328.176µs scrape_sd=31.039µs notify=44.584µs notify_sd=11.801µs rules=4.957µs tracing=21.4µs
ts=2024-08-28T00:44:34.733Z caller=main.go:1145 level=info msg="Server is ready to receive web requests."
ts=2024-08-28T00:44:34.733Z caller=manager.go:164 level=info component="rule manager" msg="Starting rule manager..."

2、验证

1)、验证启动

验证方式可以查看进程也可以通过浏览器进行,本示例介绍的是浏览器,也即通过web UI的方式。
在浏览器输入地址:http://server2:9090/
展示出如下图,则说明部署及启动成功。
在这里插入图片描述
在这里插入图片描述

2)、验证功能

在浏览器中打开prometheus自己服务的指标情况,输入如下链接地址即可。
http://server2:9090/metrics
在这里插入图片描述
也可以在启动的页面中查询指标对应的值,具体示例如下图。
在这里插入图片描述
到此默认的prometheus已经完成了部署,其默认是监控本机的系统的。

二、部署grafana

1、部署

1)、下载

下载地址:https://grafana.com/grafana/dashboards/?search=influx&page=6
下载版本:https://dl.grafana.com/oss/release/grafana-11.1.4.linux-amd64.tar.gz

2)、解压

tar -zxvf grafana-11.1.4.linux-amd64.tar.gz
cd /usr/local/bigdata/grafana-v11.1.4/bin

3)、启动

启动命令可以是下面2种。

grafana-server start
或,推荐如下
grafana server start

[alanchan@server2 bin]$ grafana-server status
Deprecation warning: The standalone 'grafana-server' program is deprecated and will be removed in the future. Please update all uses of 'grafana-server' to 'grafana server'
INFO [08-28|00:55:36] Starting Grafana                         logger=settings version=11.1.4 commit=2355de00c61fdd6609a67f35ab506fae87f09a84 branch=HEAD compiled=2024-08-28T00:55:36Z
INFO [08-28|00:55:36] Config loaded from                       logger=settings file=/usr/local/bigdata/grafana-v11.1.4/conf/defaults.ini
INFO [08-28|00:55:36] Target                                   logger=settings target=[all]
INFO [08-28|00:55:36] Path Home                                logger=settings path=/usr/local/bigdata/grafana-v11.1.4
INFO [08-28|00:55:36] Path Data                                logger=settings path=/usr/local/bigdata/grafana-v11.1.4/data
INFO [08-28|00:55:36] Path Logs                                logger=settings path=/usr/local/bigdata/grafana-v11.1.4/data/log
INFO [08-28|00:55:36] Path Plugins                             logger=settings path=/usr/local/bigdata/grafana-v11.1.4/data/plugins
INFO [08-28|00:55:36] Path Provisioning                        logger=settings path=/usr/local/bigdata/grafana-v11.1.4/conf/provisioning
INFO [08-28|00:55:36] App mode production                      logger=settings

2、验证

验证方式可以查看进程也可以通过浏览器进行,本示例介绍的是浏览器,也即通过web UI的方式。
在浏览器输入地址:http://server2:3000/login
展示出如下图,则说明部署及启动成功。

默认密码admin/admin,修改后admin/xxxxxx
在这里插入图片描述
登录进去后,如下图所示。
在这里插入图片描述
以上,则完成了grafana的部署。

三、部署node exporter

本示例仅以server2上的部署为示例进行说明,实际上本示例会部署在server1到server4上4台机器。

1、部署

1)、下载

在prometheus官网下载node_exporter-1.8.2.linux-amd64.tar.gz

2)、解压

tar xf node_exporter-1.8.2.linux-amd64.tar.gz -C /usr/local/bigdata

3)、启动

[alanchan@server2 node_exporter-1.8.2.linux-amd64]$ pwd
/usr/local/bigdata/node_exporter-1.8.2.linux-amd64
[alanchan@server2 node_exporter-1.8.2.linux-amd64]$ ll
total 20040
-rw-r--r-- 1 alanchan root    11357 Jul 14 11:57 LICENSE
-rwxr-xr-x 1 alanchan root 20500541 Jul 14 11:54 node_exporter
-rw-r--r-- 1 alanchan root      463 Jul 14 11:57 NOTICE
[alanchan@server2 node_exporter-1.8.2.linux-amd64]$ ./node_exporter 
ts=2024-09-02T01:22:36.497Z caller=node_exporter.go:193 level=info msg="Starting node_exporter" version="(version=1.8.2, branch=HEAD, revision=f1e0e8360aa60b6cb5e5cc1560bed348fc2c1895)"
ts=2024-09-02T01:22:36.498Z caller=node_exporter.go:194 level=info msg="Build context" build_context="(go=go1.22.5, platform=linux/amd64, user=root@03d440803209, date=20240714-11:53:45, tags=unknown)"
ts=2024-09-02T01:22:36.498Z caller=diskstats_common.go:111 level=info collector=diskstats msg="Parsed flag --collector.diskstats.device-exclude" flag=^(z?ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\d+n\d+p)\d+$
ts=2024-09-02T01:22:36.499Z caller=diskstats_linux.go:265 level=error collector=diskstats msg="Failed to open directory, disabling udev device properties" path=/run/udev/data
ts=2024-09-02T01:22:36.499Z caller=filesystem_common.go:111 level=info collector=filesystem msg="Parsed flag --collector.filesystem.mount-points-exclude" flag=^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)
ts=2024-09-02T01:22:36.499Z caller=filesystem_common.go:113 level=info collector=filesystem msg="Parsed flag --collector.filesystem.fs-types-exclude" flag=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:111 level=info msg="Enabled collectors"
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=arp
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=bcache
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=bonding
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=btrfs
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=conntrack
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=cpu
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=cpufreq
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=diskstats
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=dmi
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=edac
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=entropy
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=fibrechannel
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=filefd
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=filesystem
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=hwmon
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=infiniband
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=ipvs
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=loadavg
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=mdadm
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=meminfo
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=netclass
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=netdev
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=netstat
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=nfs
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=nfsd
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=nvme
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=os
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=powersupplyclass
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=pressure
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=rapl
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=schedstat
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=selinux
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=sockstat
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=softnet
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=stat
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=tapestats
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=textfile
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=thermal_zone
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=time
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=timex
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=udp_queues
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=uname
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=vmstat
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=watchdog
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=xfs
ts=2024-09-02T01:22:36.500Z caller=node_exporter.go:118 level=info collector=zfs
ts=2024-09-02T01:22:36.501Z caller=tls_config.go:313 level=info msg="Listening on" address=[::]:9100
ts=2024-09-02T01:22:36.501Z caller=tls_config.go:316 level=info msg="TLS is disabled." http2=false address=[::]:9100

2、验证

验证方式可以查看进程也可以通过浏览器进行,本示例介绍的是浏览器,也即通过web UI的方式。
在浏览器输入地址:http://server2:9100/metrics
展示出如下图,则说明部署及启动成功。
在这里插入图片描述
以上,则完成了node exporter的部署、启动及验证。

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

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

相关文章

南京网站建设自己网站

南京是一座古老而又现代化的城市,拥有悠久的历史和文化底蕴。在这个信息时代,网站已经成为了企业和个人宣传推广的重要途径之一。南京网站建设作为一种推广方式,不仅能够展示企业形象,还能够传递信息、吸引客户、增加销售。 南京网…

Spring Boot-自定义banner

在 Spring Boot 应用中,你可以自定义启动时显示的 banner。这些 banner 可以包括图形、文字或者其他形式的标识。如图所示: 1. 使用 banner.txt 文件 默认情况下,Spring Boot 使用项目的 banner.txt 文件中的内容作为启动时的 banner。你可以…

计算机岗位(面试)

计算机岗位(面试) 计算机主要有哪几部分构成?计算机组成原理的内容? 计算机主要由‌硬件和软件‌两大部分构成。‌硬件部分包括五大基本组件:‌‌运算器、‌控制器、‌存储器、‌输入设备和输出设备‌‌。‌具体来说&a…

用户变渠道,Xinstall引领手游推广新潮流

随着手游市场的日益繁荣,手游推广方式也在不断革新。从传统的地推、广告投放到如今新兴的CPA(按动作付费)和CPS(按销售订单付费)模式,手游推广正逐步走向效果导向的时代。而在这个过程中,Xinsta…

云计算41——部署project_exam_system项目(续)

# 创建脚本,可以在java环境中运行任何的jar包或者war包 #!/bin/bash /usr/local/jdk/bin/java -jar /java/src/*.?ar 一、思路分析 (1)nginx 1、下载镜像,将本地的dist项目的目录挂载在容器的/usr/share/nginx/html/ 2、启…

关于电力系统的几个疑问

非电力专业人员对于电力中的某些知识不能够形成系统的认识,接下有空也有补充下这方面知识,吹水时候才有水可以吹,嘻嘻!这里舍不得删掉下边chatgpt这几张图片,暂时先保留着。因为一直有个因为在电网里边用发电端和用电端…

【笔试强训】—— BM1 反转链表

🌏博客主页:PH_modest的博客主页 🚩当前专栏:笔试强训 💌其他专栏: 🔴每日一题 🟡 C跬步积累 🟢 C语言跬步积累 🌈座右铭:广积粮,缓称…

【从头写CAD】3 长度类

文章目录 一、说明二、源码三、运行和调试结果 一、说明 长度的国际单位是“米”(符号“m”),常用单位有毫米(mm)、厘米(cm)、分米(dm)、千米(km&#xff09…

装WebVideoCreator记录

背景,需要在docker容器内配置WebVideoCreator环境,配置npm、node.js https://github.com/Vinlic/WebVideoCreatorWebVideoCreator地址:https://github.com/Vinlic/WebVideoCreator 配置环境,使用这个教程: linux下安…

非负矩阵分解

非负矩阵分解 简单来说,就是一个数据矩阵X,也可以理解为特征矩阵,将这个矩阵分解为两个非负矩阵W和H的乘积。 公式可以写成下面: 这里的m和n就是特征的维度,r表示代码中n_components参数 来看个例子: 看看…

office套件打开时 提示操作系统当前的配置不能运行此应用程序

起因使用了腾讯电脑管家的软件搬家功能。 许久后发现打开word提示。 随后使用软件搬家功能中的搬移历史中还原office套件。 依然不可用(未尝试重启 大概率重启之后就可以用了 使用的电脑不方便重启) 安装office简易修复工具 地址:https://a…

C++相关概念和易错语法(31)(特殊类的设计、new和delete底层调用分析)

特殊类的设计 在实践过程中,我们难免会接触到一些需要实现特定功能的类。像之前提过的unique_ptr就是直接delete拷贝构造和赋值函数。下面会分享一些常见的特殊类的实现 1、防拷贝和防赋值 通过封死拷贝构造和赋值函数来保护对象里面内容不被复制。如果对象里面的…

JS 对象深浅拷贝

1. 浅拷贝的原理和实现 自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的就是内存中的地址,如果其中一个对象…

从0开始学杂项 第八期:流量分析(2) 数据提取

Misc 学习(八) - 流量分析:数据提取 这一期,我们主要写一下如何进行比较繁多的数据的提取。 使用 Tshark 批量提取数据 有时候,我们会需要从多个包中提取数据,然后再进行截取和组合,比如分析…

千云物流 -低代码平台MySQL备份数据

windows备份 全量备份 创建备份目录 需要在安装数据库的服务器上创建备份目录,所有如果要做备份至少需要两倍的硬盘空间, mkdir D:\mysql_backup\full_backup准备备份脚本 创建一个windows批处理文件(例如 full_backup.bat),用来执行全量备份并使用 robocopy 将备份文件…

HTTP 一、基础知识

一、概述 1、概述 HTTP(Hyper Text Transfer Protocol): 全称超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP 是一种应用层协议,是基于 …

VUE3 使用 <transition> 实现组件切换的过渡效果

由于我想在项目中实现路由组件切换时的平滑过渡效果&#xff0c;以避免页面加载时的突兀感&#xff0c;大致效果如下&#xff1a; 上面的代码是使用的若依的代码&#xff0c;代码具体如下所示&#xff1a; <section class"app-main"><transition name&quo…

HarmonyOS开发移动应用:调用百度翻译开放平台的App Id和密钥

介绍 通过http请求和HarmonyOS自带的加密框架&#xff0c;可以为移动应用实现调用百度翻译API的功能。 开发环境要求 • DevEco Studio版本&#xff1a;DevEco Studio 3.1 Release • HarmonyOS SDK版本&#xff1a;API version 9 工程要求 • API9 • Stage模型 正文 ▍代码…

QT+OSG+osg-earth显示一个球

目录 1、环境配置 2、在QT Creator导入相关的库 3、代码部分 4、运行过程中的问题 5、相关参考 重要衔接&#xff1a;QTOSG显示一个三维模型-CSDN博客 1、环境配置 系统&#xff1a;windows10系统 QT:版本5.15.2 编译器&#xff1a;MSVC2019_64bit 编辑器…

Conda在线/离线迁移虚拟环境

conda简单使用 1.创建环境&#xff1a; conda create -n myenv python3.82.激活环境 conda activate myenv3.退出环境 conda deactivate4.安装包 pip install xxx5.列出所有环境 conda env list conda info --envs6.删除环境 conda remove -n myenv --all离线迁移conda …