Prometheus+Node_exporter+Grafana实现监控主机
Prometheus+Node_exporter+Grafana实现监控主机
如果没有安装相关的配置,首先要进行安装配置,环境是基于Linux,虚拟机的相关环境配置在文末给出,现在先讲解Prometheus+Node_exporter+Grafana的安装和使用。
一.Prometheus安装
虽然虚拟机可以本地安装Prometheus,但是下载的速度可能缓慢,而且后续寻找配置相对麻烦,在配置文件的过程中也不便于操作,因此在本文中我都采用的安装包配置相应环境。另一方面,便于对虚拟机指令的操作和文件传输,我使用远程控制的方式进行操作。
1.FinalShell远程控制连接
- 在虚拟机开启共享的服务中的远程登录
-
虚拟机Ubuntu默认没有安装ssh的server,需要进行安装
apt-get install openssh-server
-
允许远程使用root账号ssh连接本机,修改配置vim /etc/ssh/sshd_config其中内容为
#PermitRootLogin prohibit-password
PermitRootLogin yes
-
需要重启系统或者sshd服务
sudo /etc/init.d/ssh stop
sudo /etc/init.d/ssh start
sudo service ssh restart -
系统默认开启系统sshd
sudo systemctl enable ssh
-
查看虚拟机IP地址后,打开FinalShell新建SS连接
-
连接成功后就可以在可以在终端操作
-
选择usr/local/为安装目录,三个安装包都在此目录下进行安装配置,同时在终端下方鼠标右键点击相应的文件就可以通过Windows实现文件传输给Linux
2.配置Go环境
-
由于Prometheus是由go语言开发的,所以在安装Prometheus之前需要先在监控主机上安装go环境。下载链接:https://pan.baidu.com/s/1gefGeXmoFmjGxSGxgCuQfw 提取码:cz6l
-
解压安装包:
tar -xvf go1.13.1.linux-amd64.tar.gz
-
配置环境变量
# vim /etc/profile // 在最后一行添加 export GOROOT=/usr/local/go export PATH=$PATH:$GOROOT/bin // wq保存退出后source一下 # source /etc/profile
3.安装Prometheus
下载链接:Index of /github-release/prometheus/prometheus/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
-
将下载后安装包上传至 /usr/local 目录中
-
解压并重新命名为prometheus
tar -xvf prometheus-2.47.2.linux-amd64.tar.gz
mv prometheus-2.47.2.linux-amd64/ prometheus -
创建services服务文件
vim /etc/systemd/system/prometheus.service [Unit] Description=prometheus After=network.target [Service] Type=simple ExecStart=/usr/local/prometheus --config.file=/usr/local/prometheus.yml Restart=on-failure [Install] WantedBy=multi-user.target
-
启动Prometheus,将服务设置为开机自启动
#重新加载配置文件 systemctl daemon-reload #开启服务 systemctl start prometheus.service #查看状态 systemctl status prometheus.service #服务开机自启动,不用每次启动 systemctl enable prometheus.service
-
状态显示正常,那么配置就没有问题,如下图所示样例
-
在虚拟机浏览器访问http:127.0.0.1:9090访问查看
二、安装Node_exporter
下载地址:Index of nodejs-local (huaweicloud.com)
-
下载后将文件上传到/usr/local目录下
-
解压安装包:
tar -xvf node_exporter-0.17.0.linux-amd64.tar.gz
-
配置环境变量
vim /etc/systemd/system/node_exporter.service[Unit] Description=node_exporter Monitoring System Documentation=node_exporter Monitoring System[Service] ExecStart=/usr/local/node_exporter --web.listen-address=:9100[Install] WantedBy=multi-user.target
-
设置开机自启动
#设置开机自启 systemctl daemon-reload systemctl start node_exporter.service systemctl status node_exporter.service systemctl enable node_exporter.service
-
状态显示正常活动,可以通过虚拟机浏览器访问
三、安装Grafana可视化面板
下载地址:Index of /grafana/apt/dists/beta/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
- 下载后将文件上传到/usr/local目录下
-
解压并重命名
tar -xvf grafana-enterprise-10.0.2.linux-amd64.tar.gz
mv grafana-enterprise-10.0.2.linux-amd64.tar.gz grafana
-
配置环境变量实现开机自启动vim /usr/lib/systemd/system/grafana.service
[Unit] Description=Grafana After=network.target [Service] Type=notify ExecStart=/data/grafana/bin/grafana-server -homepath /data/grafana Restart=on-failure [Install] WantedBy=multi-user.target
-
配置相关指令
#重新加载服务配置文件 systemctl daemon-reload #启动 grafana systemctl start grafana.service #查看 grafana状态 systemctl status grafana.service #设置开机自启 systemctl enable grafana.service #重启 grafana systemctl restart grafana.service #停止 grafana systemctl stop grafana.service
-
访问Grafana,访问地址为http:127.0.0.1:3000,初始账号密码为admin和admin(j记得修改)
四、监控多台Linux服务器
-
首先被监控的主机要安装node_exporter提供数据接口,配置的过程和主机配置Node_exporter一样,可参考上文。
-
配置prometheus server端可以拉取node信息
vim /usr/local/prometheus/prometheus.yml
-
在文件最后添加内容
- job_name: 'linux'static_configs:- targets: ['192.168.45.143:9100','192.168.45.22:9100']
-
添加完成后重新启动prometheus
systemctl restart prometheus.service
-
此时如果相应的端口没开放还是看不到数据的,添加的主机都需要开放相应的9100端口,Prometheus才能拉取到数据。
firewall-cmd --zone=public --add-port=9100/tcp --permanent
开放指定端口firewall-cmd --zone=public --add-port=1935/tcp --permanent命令含义:
--zone #作用域
--add-port=1935/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
- 获取到主机数据
五、Grafana添加数据源展示
-
选择数据源并配置
-
可视化模版并导入
-
最后监控数据可以显示了
今天就记录这些了,希望有所帮助!
相关文章:

Prometheus+Node_exporter+Grafana实现监控主机
PrometheusNode_exporterGrafana实现监控主机 如果没有安装相关的配置,首先要进行安装配置,环境是基于Linux,虚拟机的相关环境配置在文末给出,现在先讲解PrometheusNode_exporterGrafana的安装和使用。 一.Prometheus安装 虽然…...
odoo启动-加载模块(load_modules)
odoo启动-加载模块(load_modules) odoo每次启动的时候都会加载模块,加载模块的过程就是调用load_modules 函数 在函数位于 odoo\modules\loading.py 代码中注释也写的很清楚,共分了9个步骤,其实是8个步骤。 这个函…...

【入门Flink】- 02Flink经典案例-WordCount
WordCount 需求:统计一段文字中,每个单词出现的频次 添加依赖 <properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><…...
go语言将cmd stdout和stderr作为字符串返回而不是打印到控制台
go语言将cmd stdout和stderr作为字符串返回而不是打印到控制台 1、直接打印到控制台 从 golang 应用程序中执行 bash 命令,现在 stdout 和 stderr 直接进入控制台: cmd.Stdout os.Stdout cmd.Stderr os.Stderrpackage mainimport ("fmt"…...

OpenGL ES入门教程(二)之绘制一个平面桌子
OpenGL ES入门教程(二)之绘制一个平面桌子 前言0. OpenGL绘制图形的整体框架概述1. 定义顶点2. 定义着色器3. 加载着色器4. 编译着色器5. 将着色器链接为OpenGL程序对象6. 将着色器需要的数据与拷贝到本地的数组相关联7. 在屏幕上绘制图形8. 让桌子有边框…...

el-select 搜索无选项时 请求接口添加输入的值
el-select 搜索无选项时 请求接口添加输入的值 <template><div class"flex"><el-select class"w250" v-model"state.brand.id" placeholder"请选择" clearable filterable :filter-method"handleQu…...

基于单片机的商场防盗防火系统设计
收藏和点赞,您的关注是我创作的动力 文章目录 概要 一、系统分析二、系统总设计2.1基于单片机的商场防火防盗系统的总体功能2.2系统的组成 三 软件设计4.1软件设计思路4.2软件的实现4.2.1主控模块实物 四、 结论五、 文章目录 概要 本课题设计一种商场防火防盗报警…...

【Java|golang】2103. 环和杆---位运算
总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。这些环分别穿在 10 根编号为 0 到 9 的杆上。 给你一个长度为 2n 的字符串 rings ,表示这 n 个环在杆上的分布。rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环: 第 …...

[SSD综述 1.4] SSD固态硬盘的架构和功能导论
依公知及经验整理,原创保护,禁止转载。 专栏 《SSD入门到精通系列》 <<<< 返回总目录 <<<< 前言 机械硬盘的存储系统由于内部结构, 其IO访问性能无法进一步提高,CPU与存储器之间的性能差距逐渐扩大。以Nand Flash为存储介质的固态硬盘技术的发展,…...

【C++那些事儿】类与对象(1)
君兮_的个人主页 即使走的再远,也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,我之前看过一套书叫做《明朝那些事儿》,把本来枯燥的历史讲的生动有趣。而C作为一门接近底层的语言,无疑是抽象且难度颇…...

集简云x slack(自建)无需API开发轻松连接OA、电商、营销、CRM、用户运营、推广、客服等近千款系统
slack是一个工作效率管理平台,让每个人都能够使用无代码自动化和 AI 功能,还可以无缝连接搜索和知识共享,并确保团队保持联系和参与。在世界各地,Slack 不仅受到公司的信任,同时也是人们偏好使用的平台。 官网&#x…...
JS模块化,ESM模块规范的 导入、导出、引用、调用详解
JS模块化,ESM模块规范的 导入、导出、引用、调用详解 写在前面实例代码1、模块导出 - export导出之 - 独立导出导出之 - 集中多个导出导出之 - 默认导出导出之 - 集中默认导出导出之 - 混合导出 2、模块导入 - import导入之 - 全部导入导入之 - 默认导入导入之 - 指…...
markdown常用的快捷键
一级标题 #加 空格 是一级标题 二级标题 ##加空格是二级标题 三级标题 字体 * 粗体:两个**号 斜体:一个 斜体加粗:三个 删除:两个~~ 我是字体 我是字体 我是字体 我是字体 引用 箭头符号>加空格 回车 分割线 三个 - …...

VSCode中的任务什么情况下需要配置多个问题匹配器problemMatcher?多个问题匹配器之间的关系是什么?
☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、简介 在 VS Code 中,tasks.json 文件中的 problemMatcher 字段用于定义如何解析任务输出中的问题(错误、警告等)。 problemMatcher是一个描述问题匹配器的接口&…...
C语言鞍点数组改进版
题目内容: 给定一个n*n矩阵A。矩阵A的鞍点是一个位置(i,j),在该位置上的元素是第i行上的最大数,第j列上的最小数。一个矩阵A也可能没有鞍点。 你的任务是找出A的鞍点。 改进目标: 网络上很多…...

K8s:部署 CNI 网络组件+k8s 多master集群部署+负载均衡及Dashboard k8s仪表盘图像化展示
目录 1 部署 CNI 网络组件 1.1 部署 flannel 1.2 部署 Calico 1.3 部署 CoreDNS 2 负载均衡部署 3 部署 Dashboard 1 部署 CNI 网络组件 1.1 部署 flannel K8S 中 Pod 网络通信: ●Pod 内容器与容器之间的通信 在同一个 Pod 内的容器(Pod 内的容…...

【数据结构】树家族
目录 树的相关术语树家族二叉树霍夫曼树二叉查找树 BST平衡二叉树 AVL红黑树伸展树替罪羊树 B树B树B* 树 当谈到数据结构中的树时,我们通常指的是一种分层的数据结构,它由节点(nodes)组成,这些节点之间以边(…...

Vert.x学习笔记-Vert.x的基本处理单元Verticle
Verticle介绍 Verticle是Vert.x的基本处理单元,Vert.x应用程序中存在着处理各种事件的处理单元,比如负责HTTP API响应请求的处理单元、负责数据库存取的处理单元、负责向第三方发送请求的处理单元。Verticle就是对这些功能单元的封装,Vertic…...

干货分享:基于 LSTM 的广告库存预估算法
近年来,随着互联网的发展,在线广告营销成为一种非常重要的商业模式。出于广告流量商业化售卖和日常业务投放精细化运营的目的,需要对广告流量进行更精准的预估,从而更精细的进行广告库存管理。 因此,携程广告纵横平台…...
dataframe删除某一列
drop import pandas as pd data {‘A’: [1, 2, 3], ‘B’: [4, 5, 6], ‘C’: [7, 8, 9]} df pd.DataFrame(data) #使用drop方法删除列 df df.drop(‘B’, axis1) # 通过指定列名和axis1来删除列 del import pandas as pd data {‘A’: [1, 2, 3], ‘B’: [4, 5, 6]…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...

接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...

C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...

DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
Java编程之桥接模式
定义 桥接模式(Bridge Pattern)属于结构型设计模式,它的核心意图是将抽象部分与实现部分分离,使它们可以独立地变化。这种模式通过组合关系来替代继承关系,从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...

三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...