news 2026/6/22 23:45:10

部署Prometheus+Grafana监控平台

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
部署Prometheus+Grafana监控平台

可视化监控方案

在宿主机上编写Prometheus配置文件

mkdir /etc/prometheus vi /etc/prometheus/prometheus.yml

文件配置内容如下:

global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: # - "first_rules.yml" # - "second_rules.yml" scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"]

使用Docker创建Prometheus容器

docker network create monitoring docker run -d --name=prometheus --net=monitoring -v /etc/prometheus:/etc/prometheus/ -v prometheus-data:/prometheus -p 9090:9090 prom/prometheus:latest

在浏览器中访问“http://<宿主机IP地址>:9090”,可以看到Prometheus的首页。

使用Docker部署Grafana

docker run -d --name=grafana --net=monitoring -v grafana-data:/var/lib/grafana -p 3000:3000 grafana/grafana:latest

在浏览器中访问“http://<宿主机IP地址>:3000”,可以看到Grafana登陆页面,默认用户名和密码均为“admin”,第一次登陆需设置新的密码。然后进入Grafana首页。

在Grafana中添加Prometheus作为数据源

DATA SOURCES->Add your first data source->Prometheus,进入数据源配置页面,在Connection中Prometheus server URL输入Prometheus的访问地址“http://<宿主机IP地址>:9090”,单击Save&test按钮进行保存和测试。添加成功后,可以在Connections中的Data sources查看数据源。

Prometheus监控案例–监控Linux服务器

Node Exporter用于采集和暴露本机的系统性能数据,包括但不限于CPU、内存、硬盘、网络接口等指标。

在监控主机上部署Node Exporter

Node Export支持多种安装方式,包括Docker和二进制。如果目标监控主机已安装Docker,则建议使用Docker容器部署;反之,则使用二进制的方式部署。
下面演示通过二进制方式部署:
在官网上下载Node Exporter安装包

wget https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz tar zxvf node_exporter-1.10.2.linux-amd64.tar.gz mv node_exporter-1.10.2.linux-amd64 /usr/local/node_exporter

使用Systemd管理node_exporter程序,创建服务文件

vi /usr/lib/systemd/system/node_exporter.service

文件配置内容如下:

[Unit] Description=Prometheus Node Exporter After=network.target [Service] Type=simple User=nobody Group=nobody ExecStart=/usr/local/node_exporter/node_exporter Restart=always RestartSec=10 [Install] WantedBy=multi-user.target

启动并设置开机启动

# 重新加载 systemd systemctl daemon-reload # 重置失败计数器 systemctl reset-failed node_exporter # 禁用SELinux setenforce 0 # 启动服务 systemctl start node_exporter # 开机启动 systemctl enable node_exporter

Node Exproter默认监听9100端口,可以通过浏览器访问被监控服务器“http://192.168.1.76:9100/metrics”查看采集的指标数据。

Prometheus添加监控目标

为了将上面的被监控Linux服务器加入Prometheus监控中,需要在Prometheus配置文件(/etc/prometheus/prometheus.yml)中添加监控目标,配置如下

vi /etc/prometheus/prometheus.yml
global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: # - "first_rules.yml" # - "second_rules.yml" scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "Linux-Server" # metrics_path: '/metrics' # scheme: http static_configs: - targets: ["192.168.1.75:9100","192.168.1.76:9100"]

配置完成后,重启Prometheus容器或者向Prometheus进程发送“SIGHUP”信号以重新加载配置文件:

docker exec -it prometheus kill -HUP 1

在浏览器中访问“http://<宿主机IP地址>:9090”,打开Prometheus的页面,单击导航栏中的“Status->Target health”,可以看到被监控的服务器状态为“UP”,表明已成功监控。Prometheus会定期收集从“Endpoint”显示的地址中获取指标数据并对该数据进行存储。在页面导航栏“Graph”中,可以使用PromQL查询语句检索存储在Prometheus中的指标数据。
例如,查看与CPU相关的指标,输入“node_cpu_seconds_total{instance=“192.168.1.75:9100”}”即可查询。

Grafana导入仪表盘

在浏览器中访问“http://<宿主机IP地址>:3000”,进入Grafana页面,按以下方式配置:
home->Dashboards->Create dashboard->import dashboard输入仪表盘ID"12633",单击Load按钮加载,进入仪表盘配置界面,在这里设置仪表盘的名称和Prometheus数据源,单击Import完成导入,将看到仪表盘界面。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/23 6:24:58

Open XML SDK:企业级文档自动化解决方案的战略价值分析

Open XML SDK&#xff1a;企业级文档自动化解决方案的战略价值分析 【免费下载链接】Open-XML-SDK 项目地址: https://gitcode.com/gh_mirrors/ope/Open-XML-SDK 在数字化转型浪潮中&#xff0c;企业面临着海量文档处理的严峻挑战。传统手工操作不仅效率低下&#xff0…

作者头像 李华
网站建设 2026/6/22 20:59:18

2、脚本编程之旅:从基础到实践

脚本编程之旅:从基础到实践 1. 脚本编程之旅的开端 Unix、类Unix或基于Linux的操作系统提供了许多强大的功能,其中最强大且重要的功能之一是能够执行各种命令,以快速轻松地完成任务,例如 ls 、 cat 、 sort 、 grep 等。要运行命令,需要一个被广泛称为“shell”…

作者头像 李华
网站建设 2026/6/22 21:19:45

RoslynPad 跨平台 C 编辑器:从入门到精通的实用指南

RoslynPad 跨平台 C# 编辑器&#xff1a;从入门到精通的实用指南 【免费下载链接】roslynpad 项目地址: https://gitcode.com/gh_mirrors/ros/roslynpad RoslynPad 是一个基于 Roslyn 编译器和 AvalonEdit 编辑器构建的跨平台 C# 开发工具&#xff0c;为开发者提供了轻…

作者头像 李华
网站建设 2026/6/22 19:21:36

SSDTTime:ACPI热补丁技术的智能解决方案

SSDTTime&#xff1a;ACPI热补丁技术的智能解决方案 【免费下载链接】SSDTTime SSDT/DSDT hotpatch attempts. 项目地址: https://gitcode.com/gh_mirrors/ss/SSDTTime 在构建完美的Hackintosh系统过程中&#xff0c;硬件兼容性往往是最大的挑战。SSDTTime作为一款专业的…

作者头像 李华
网站建设 2026/6/23 18:05:18

继电器:电力安全的隐形守护者

在夏季用电高峰&#xff0c;超负荷运行的电路如同埋下的 “定时炸弹”&#xff0c;漏电和短路引发的火灾事故频发。而继电器作为电力系统的 “安全阀门”&#xff0c;通过精准的电流监测与快速响应机制&#xff0c;成为防止漏电着火的核心防线。 实时监测漏电隐患传统断路器无法…

作者头像 李华
网站建设 2026/6/23 14:29:37

R.swift终极配置指南:构建强类型资源管理系统的完整实践

R.swift终极配置指南&#xff1a;构建强类型资源管理系统的完整实践 【免费下载链接】R.swift Strong typed, autocompleted resources like images, fonts and segues in Swift projects 项目地址: https://gitcode.com/gh_mirrors/rs/R.swift R.swift作为Swift项目中资…

作者头像 李华