当前位置: 首页 > news >正文

部署Prometheus并通过Grafana展示界面

一、环境准备

准备一台Linux主机(最低2CPU/4G内存)这里的IP是:192.168.10.10

二、安装Prometheus相关组件

  • Prometheus 采集、存储数据
  • Grafana 用于图表展示
  • alertmanager 用于接收 Prometheus 发送的告警信息
  • node-exporter 用于收集操作系统和硬件信息的metrics

1、安装Prometheus

官网下载地址,获取最新下载URL

#切换到root用户
sudo -i#下载prometheus二进制压缩包
wget https://github.com/prometheus/prometheus/releases/download/v2.37.6/prometheus-2.37.6.linux-amd64.tar.gz#解压
tar xf prometheus-2.37.6.linux-amd64.tar.gz#查看解压后的文件名
ls -lmkdir /opt/prometheus -p#移动解压后的文件名到/opt/,并改名prometheus
mv prometheus-2.37.6.linux-amd64/ /opt/prometheus/prometheus

创建一个专门的prometheus用户:

useradd -M -s /usr/sbin/nologin prometheus

更改prometheus用户的文件夹权限:

chown prometheus:prometheus -R /opt/prometheus

创建 systemd 服务

cat > /etc/systemd/system/prometheus.service << "EOF"
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network-online.target[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/prometheus/prometheus \--config.file=/opt/prometheus/prometheus/prometheus.yml \--storage.tsdb.path=/opt/prometheus/prometheus/data \--storage.tsdb.retention.time=60d \--web.enable-lifecycle[Install]
WantedBy=multi-user.target
EOF

配置参数解释:

通过/opt/prometheus/prometheus -h查看帮助详情

--config.file=/opt/prometheus/prometheus/prometheus.yml                 #主配置文件
--storage.tsdb.path=/opt/prometheus/prometheus/data 	                #数据库存储目录
--web.console.libraries=/opt/prometheus/prometheus/console_libraries    #指定控制台库目录路径
--web.console.templates=/opt/prometheus/prometheus/consoles 	        #指定控制台模版目录路径
--storage.tsdb.retention=60d                                            #指明数据保留天数,默认15天
--web.enable-lifecycle                                                  #热加载

启动 Prometheus

systemctl daemon-reload
systemctl start prometheus.service

加入到开机自启动

systemctl enable prometheus.service

检查

systemctl status prometheus.service

查看 Prometheus 的日志以进行故障排除:

journalctl -u prometheus.service -f

访问地址

应用

访问地址

备注

prometheus

http://192.168.10.10:9090

无用户和密码

监控指标

http://192.168.10.10:9090/metrics

2、安装alertmanager

下载alertmanager

官网下载地址,获取最新下载URL.

  • 注 在root用户下执行
下载alertmanager二进制压缩包
wget https://github.com/prometheus/alertmanager/releases/download/v0.25.0/alertmanager-0.25.0.linux-amd64.tar.gz#解压
tar xf alertmanager-0.25.0.linux-amd64.tar.gz#查看解压后的文件名
ls -l#移动解压后的文件名到/opt/,并改名为alertmanager
mv alertmanager-0.25.0.linux-amd64 /opt/prometheus/alertmanager

更改alertmanager文件夹权限:

chown prometheus:prometheus -R /opt/prometheus/alertmanager

创建 systemd 服务

cat >/etc/systemd/system/alertmanager.service << "EOF"[Unit]
Description=Alert Manager
Wants=network-online.target
After=network-online.target[Service]
Type=simple
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/alertmanager/alertmanager \--config.file=/opt/prometheus/alertmanager/alertmanager.yml \--storage.path=/opt/prometheus/alertmanager/dataRestart=always[Install]
WantedBy=multi-user.targetEOF

启动 alertmanager

systemctl daemon-reload
systemctl start alertmanager.service

加入到开机自启动

systemctl enable alertmanager.service

检查

systemctl status alertmanager.service

修改prometheus配置

加入alertmanager

如果alertmanager不是和prometheus安装在同一台服务器上,把loaclhost修改为alertmanager具体的ip

vim /opt/prometheus/prometheus/prometheus.ymlalerting:alertmanagers:- static_configs:- targets:#根据实际填写alertmanager的地址- localhost:9093rule_files:#根据实际名修改文件名- "alert.yml"# 搜刮配置
scrape_configs:- job_name: 'alertmanager'scrape_interval: 15sstatic_configs:- targets: ['localhost:9093']

增加触发器配置文件

cat > /opt/prometheus/prometheus/alert.yml <<"EOF"
groups:
- name: Prometheus alertrules:# 对任何实例超过30秒无法联系的情况发出警报- alert: 服务告警expr: up == 0for: 30slabels:severity: criticalannotations:summary: "服务异常,实例:{{ $labels.instance }}"description: "{{ $labels.job }} 服务已关闭"
EOF

检查配置

cd /opt/prometheus/prometheus/
./promtool check config prometheus.yml

重启prometheus或重新加载配置文件(二选一)

#重启
systemctl restart prometheus
或:
#重载,需要--web.enable-lifecycle配置
curl -X POST http://localhost:9090/-/reload

访问地址

应用

访问地址

备注

alertmanager

http://192.168.10.10:9093

无用户和密码

检查

3、安装grafana

官网下载地址:Download Grafana | Grafana Labs

二进制安装

cd ~wget https://dl.grafana.com/enterprise/release/grafana-enterprise-9.4.3.linux-amd64.tar.gztar -zxvf grafana-enterprise-9.4.3.linux-amd64.tar.gzls -lmv grafana-9.4.3/ /opt/prometheus/grafana

更改grafana文件夹权限:

chown prometheus:prometheus -R /opt/prometheus

创建 systemd 服务

cat >/etc/systemd/system/grafana-server.service<<"EOF"
[Unit]
Description=Grafana server
Documentation=http://docs.grafana.org
[Service]
Type=simple
User=prometheus
Group=prometheus
Restart=on-failure
ExecStart=/opt/prometheus/grafana/bin/grafana-server \--config=/opt/prometheus/grafana/conf/defaults.ini \--homepath=/opt/prometheus/grafana
[Install]
WantedBy=multi-user.target
EOF

启动 alertmanager

systemctl daemon-reload
systemctl start grafana-server.service

加入到开机自启动

systemctl enable grafana-server.service

检查

systemctl status grafana-server.service

检查日志

journalctl -u grafana-server.service -f

web访问地址

应用

访问地址

备注

grafana

http://192.168.10.10:3000

默认:admin/admin

4、安装node_exporter

官网下载地址:Download | Prometheus

wget https://github.com/prometheus/node_exporter/releases/download/v1.5.0/node_exporter-1.5.0.linux-amd64.tar.gztar xvf node_exporter-1.5.0.linux-amd64.tar.gzls -lmv node_exporter-1.5.0.linux-amd64 /opt/prometheus/node_exporter

更改node_exporter文件夹权限:

chown prometheus:prometheus -R /opt/prometheus/node_exporter

创建 systemd 服务

cat > /etc/systemd/system/node_exporter.service <<"EOF"
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
User=prometheus
Group=prometheus
ExecStart=/opt/prometheus/node_exporter/node_exporter
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF

启动 node_exporter

systemctl daemon-reload
systemctl start node_exporter.service

加入到开机自启动

systemctl enable node_exporter.service

检查

systemctl status node_exporter.service

检查日志

journalctl -u node_exporter.service -f

web访问地址

应用

访问地址

备注

node-exporter

http://192.168.10.10:9100/metrics

无用户和密码

修改prometheus配置

prometheus服务器操作

cat >> /opt/prometheus/prometheus/prometheus.yml <<"EOF"# 再scrape_configs这行下面添加如下配置:#node-exporter配置- job_name: 'node-exporter'scrape_interval: 15sstatic_configs:- targets: ['localhost:9100']labels:instance: Prometheus服务器 
EOF

重载prometheus

curl -X POST http://localhost:9090/-/reload

Prometheus web上检查

http://192.168.10.10:9090/

三、使用grafana展示prometheus的图形

1、登陆grafana

http://192.168.10.10:3000

用户名:admin

密码: admin

 

第一次登陆,需要修改密码,填入新的密码后,再submit(提交)如下图:

2、创建 Prometheus 数据源

在 Grafana 中创建 Prometheus 数据源:

  1. 单击边栏中的“齿轮”,打开“配置”菜单。
  1. 单击“数据源”。
  1. 单击“添加数据源”。
  1. 选择“Prometheus”作为类型。
  1. 设置适当的 Prometheus 服务器 URL(例如,http://localhost:9090
  1. 单击“保存并测试”以保存新的数据源。

如下图:

点击Prometheus

url填入:http://localhost:9090 注:localhost表示本机,如果grafana和prometheus不在同台机器的活,这里要写prometheus的所在地址,granfan和prometheus要能通信

3、创建仪表盘

从 Grafana.com 导入仪表板

Grafana dashboards | Grafana Labs

打开grafana的dashboards官网,在搜索栏输入node exporter回车,点击下载量大的dashboards如下图:

在拷贝id

打开grafana web控制台--点击dashbord图标--在点import导入--粘贴之前复制的id--在点load加载

name填写“服务器监控”(根据实际修改),选择“prometheus”--在点import导入

导入dashbord完成后,如下图:

http://www.xdnf.cn/news/584479.html

相关文章:

  • wx.getPrivacySetting接口needAuthorization一直返回false
  • vue element-plus 集成多语言
  • SQLynx:一款跨平台的企业级数据库管理工具
  • pdf图片导出(Visio和Origin)
  • 2025口语App实测Top5!练习口语app真实口碑
  • 可视化图解算法43:数组中的逆序对
  • 鸿蒙Flutter实战:24-混合开发详解-4-初始化Flutter
  • 鸿蒙Flutter实战:25-混合开发详解-5-跳转Flutter页面
  • [Flutter]Completer和compute
  • 计量单片机 RN8302:特性、使用与应用
  • 【人工智障生成日记1】从零开始训练本地小语言模型
  • 【无标题】西门子S7-1500PLC与西门子V90 PN伺服通讯控制项目程序项目程序,共有8轴,编码器信号直接输入到变频器内。
  • 系统架构设计(十八):ATAM
  • 《棒球百科》棒球运动规则·棒球1号位
  • 【竖排繁体识别】如何将竖排繁体图片文字识别转横排繁体,转横排简体导出文本文档,基于WPF和腾讯OCR的实现方案
  • 免费轻量便携截图 录屏 OCR 翻译四合一!提升办公效率
  • 解决weman框架redis报错:Class “llluminatelRedis\RedisManager“ not found
  • 【Java高阶面经:数据库篇】18、分布式事务:如何在分库分表中实现高性能与一致性?
  • 零基础设计模式——第二部分:创建型模式 - 原型模式
  • HCIP(广域网)
  • Normalized Blind Deconvolution论文阅读
  • UART串口两种连接方式
  • 笔记本6GB本地可跑的图生视频项目(FramePack)
  • EtpBot:安卓自动化脚本开发神器
  • 了解Android studio 初学者零基础推荐(2)
  • 正则表达式篇
  • element ui 表格实现单选
  • v2.0 技术篇目录-研究生如何选择编程技术
  • iOS工厂模式
  • uniapp-商城-65-shop(1-品牌信息显示,将数据库信息同步到vuex的state)