安装 Prometheus监控主机服务

news/2025/3/20 22:05:32/文章来源:https://www.cnblogs.com/chenjiangfeng/p/18784073

一、安装 Prometheus

下载 Prometheus

首先,访问 Prometheus 官网 获取最新版本的下载链接,然后使用 wget 下载:

 

wget https://github.com/prometheus/prometheus/releases/download/v3.2.1/prometheus-3.2.1.linux-amd64.tar.gz

解压并安装

 

解压下载的文件:

 

tar -xvzf prometheus-3.2.1.linux-amd64.tar.gz

将解压后的文件夹移动到 /opt/prometheus:

 

mv prometheus-3.2.1.linux-amd64 /opt/prometheus

安装 htpasswd 来生成密码 hash

 

#Ubuntu
 
apt install apache2-utils -y
 
#centos
 
yum install httpd-tools -y

在 prometheus目录下执行

 

# htpasswd -nBC 12 '' | tr -d ':\n'
New password:
Re-type new password:
 
$2y$12$LWDB21oY/67kz3lu8Y7bGOcerRodeAK4SfOSmielNq.BzMlrjw1/q

创建配置文件

 

vim /opt/prometheus/config.yml
basic_auth_users:
admin: $2y$12$LWDB21oY/67kz3lu8Y7bGOcerRodeAK4SfOSmielNq.BzMlrjw1/q

创建 Prometheus 用户
为了安全,创建一个专用用户来运行 Prometheus:

 
sudo useradd --no-create-home --shell /bin/false prometheus
sudo chown -R prometheus:prometheus /opt/prometheus

配置 Prometheus

编辑 Prometheus 配置文件 /opt/prometheus/prometheus.yml:

 

sudo vim /opt/prometheus/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"
basic_auth:
username: admin
password: Yy5lC64W4qtF9y0uOsk
 
# metrics_path defaults to '/metrics'
# scheme defaults to 'http'.
 
static_configs:
- targets: ["localhost:9090"]
- job_name: "node_exporter"
basic_auth:
username: admin
password: Yy5lC64W4wtF9y0uOsk
static_configs:
- targets: ["localhost:9100"]
 
创建 Systemd 服务

创建 Systemd 服务文件 /etc/systemd/system/prometheus.service:

 

sudo vim /etc/systemd/system/prometheus.service

添加以下内容:

 
[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target
 
[Service]
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/prometheus \
--config.file=/opt/prometheus/prometheus.yml \
--storage.tsdb.path=/opt/prometheus/data \
--web.config.file=/opt/prometheus/config.yml
Restart=always
 
[Install]
WantedBy=multi-user.target
 
启动 Prometheus

启动并设置开机启用 Prometheus 服务:

 
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus
 
验证 Prometheus

访问

二、安装 Node Exporter

Node Exporter 用于收集系统指标(如 CPU、内存使用率)。

下载 Node Exporter

 

wget https://github.com/prometheus/node_exporter/releases/download/v1.9.0/node_exporter-1.9.0.linux-amd64.tar.gz

解压并安装

 
tar -xvzf node_exporter-1.9.0.linux-amd64.tar.gz
sudo mv node_exporter-1.9.0.linux-amd64/node_exporter /usr/local/bin/

 

node_exporter目录下执行

 

# htpasswd -nBC 12 '' | tr -d ':\n'
New password:
Re-type new password:
 
$2y$12$LWDB21oY/67kz3lu8Y7bGOcerRodeAK4SfOSmielNq.BzMlrjw1/q

创建配置文件

 

mkdir /opt/node_exporter
vim /opt/node_exporter/config.yml
basic_auth_users:
admin: $2y$12$LWDB21oY/67kz3lu8Yw7bGOcerRodeAK4SfOSmielNq.BzMlrjw1/q

创建 Systemd 服务

创建 Systemd 服务文件 /etc/systemd/system/node_exporter.service:

 

 

 

sudo vim /etc/systemd/system/node_exporter.service

添加以下内容:

 

 
[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target
 
[Service]
User=node_exporter
Group=node_exporter
ExecStart=/usr/local/bin/node_exporter --web.config.file=/opt/node_exporter/config.yml
 
[Install]
WantedBy=multi-user.target
 
为用户和组增加权限
 
sudo useradd -rs /bin/false node_exporter
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
sudo chown -R node_exporter:node_exporter /opt/node_exporter
sudo chmod 755 /usr/local/bin/node_exporter

启动 Node Exporter

 
sudo systemctl daemon-reload
sudo systemctl start node_exporter
sudo systemctl enable node_exporter

验证 Node Exporter

访问 http://<服务器IP>:9100/metrics,如果看到系统指标数据,说明安装成功。

三、安装 Grafana

下载并安装 Grafana

 

sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-11.5.2-1.x86_64.rpm

启动 Grafana服务

 

 
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

web界面访问

访问 Grafana
访问 http://<服务器IP>:3000,使用默认账号 admin 和密码 admin 登录。

四、配置 Grafana 仪表盘

添加 Prometheus 数据源

登录 Grafana,点击左侧菜单的 Configuration > Data Sources。
点击 Add data source,

选择 Prometheus

在 URL 中输入 http://localhost:9090,点击 Save & Test。

导入 Node Exporter 仪表盘

在 dashboad页面点击 Create > Import。

在 Import via grafana.com 中输入仪表盘 ID 1860(Node Exporter 官方仪表盘)。

选择 Prometheus 数据源,点击 Import。

查看仪表盘

导入成功后,你可以看到一个完整的系统监控仪表盘,包含 CPU、内存、磁盘、网络等指标。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

L1 通讲

好多,好多。L1 通讲 部分知识点速通 技术与产品开发的动机 ​ 这张图展示了两个长期趋势:技术和创新的发展速度逐渐变快; 它对我们的生活影响非常广泛,包括好的(如天花疫苗)和坏的(核弹?) 技术变得越来越强大。 例如,我们的祖先使用石制工具,但现在我们构建跨越全球…

Flink 实战之流式数据去重

流式数据是一种源源不断产生的数据,没有预定的开始与结束,至少理论上来说,它的数据输入永远不会结束。因此流式数据处理与传统的批处理技术不同,必须具备持续不断地对到达的数据进行处理的能力。因为流式数据源源不断地产生,对流式数据做去重就十分困难,因为一条数据重复…

vue3 + springboot 实现模糊查询与增加操作

实现表格查询: <!-- 表格 --><div class="card" style="margin-bottom: 5px"><el-table :data="data.tableData" stripe><el-table-column label="名称" prop="name" /><el-table-column lab…

网络基础与进阶

计算机网络入门与进阶 学习OSI网络模型相关概念(重点掌握) 学习TCP三次握手与四次挥手过程(重点掌握) 学习TCP的11种状态集转化(重点掌握) 学习DNS相关知识概念与原理 linux网关配置(添加网关 网段 以及网络主机路由) 修改网卡配置文件 用户访问www.baidu.com 整个过程…

VTK-8.2.0源码编译和初步使用(Cmake+VS2015+Qt5.14.2)

一、准备数据 1、首先确保已安装VS5015和Qt5.14.2 2、下载Cmake并安装:Download CMake 3、下载VTK-8.2.0源码和数据并解压:Download | VTK 二、Cmake构建 1、在本地磁盘创建相关文件夹2、进入源码根目录,找到CmakeList.txt,修改CmakeList.txt中的选项,使得Debug模式下生成…

B2043 判断能否被3,5,7整除

读者自己完善一下10、11、13、14行吧

20244113 实验一《Python程序设计》实验报告

课程:《Python程序设计》 班级: 2441 姓名: 咸润杰 学号:20244113 实验教师:王志强 实验日期:2025年3月20日 必修/选修: 公选课 1.实验内容 (1)熟悉Python开发环境; (2)下载python与pycharm,完成python开发环境搭建; (3)编写程序,练习变量和类型、字符串、对象…

P8435 【模板】点双连通分量

P8435 【模板】点双连通分量 题目描述 对于一个 \(n\) 个节点 \(m\) 条无向边的图,请输出其点双连通分量的个数,并且输出每个点双连通分量。 输入格式 第一行,两个整数 \(n\) 和 \(m\)。 接下来 \(m\) 行,每行两个整数 \(u, v\),表示一条无向边。 输出格式 第一行一个整数…

SqlServer 中行转列PIVOT函数用法

SqlServer 中行转列PIVOT函数用法 前言 最近在面试的时候,碰到了手写sql的题目,这让我这个面向AI的程序员着实难看。只见我面露难色,绞尽脑汁的情况下,终于还是放弃了。 这道题目不难,但是由于平时几乎没有遇到行转列的情况,导致在手写时忘记了PIVOT函数怎么使用😩。 面…

第五周第四天

所用时间:180分钟 代码量(行):15 博客量(篇):1 了解到的知识点: 1.matplotlib的配置 因为要参加数学建模大赛,今天配置了python和matplotlib环境,尝试运行了程序,代码如下: import matplotlib.pyplot as plt import numpy as np# 生成数据 x = np.linspace(0, 10, …

Vue3中使用TinyMce编辑器

Vue3中使用TinyMce编辑器 - 知乎 一,安装TinyMce富文本vue npm install @tinymce/tinymce-vue -S npm install tinymce -STinyMce本身是英文编辑器,所以还需要下载中文本地化文件:https://www.tiny.cloud/get-tiny/language-packages/下载完成后放入node_modules下的tinymce…