提示:本文原创作品,良心制作,干货为主,简洁清晰,一看就会
文章目录
- 前言
- 一、安装Prometheus
-
- [1.1 下载prometheus](#1.1 下载prometheus)
- [1.2 配置systemd服务](#1.2 配置systemd服务)
- [1.3 访问网页](#1.3 访问网页)
- 二、安装Alertmanager
-
- [2.1 下载alertmanager](#2.1 下载alertmanager)
- [2.2 配置systemd服务](#2.2 配置systemd服务)
- [2.3 修改prometheus配置](#2.3 修改prometheus配置)
- [2.4 访问网页](#2.4 访问网页)
- 三、安装Grafana
-
- [3.1 下载grafana](#3.1 下载grafana)
- [3.2 配置systemd服务](#3.2 配置systemd服务)
- [3.3 访问网页](#3.3 访问网页)
- 四、安装node_exporter
-
- [4.1 下载node-exporter](#4.1 下载node-exporter)
- [4.2 配置systemd服务](#4.2 配置systemd服务)
- [4.3 修改prometheus配置](#4.3 修改prometheus配置)
- [4.4 访问网页](#4.4 访问网页)
- 五、在Grafana中配置Prometheus图形
-
- [5.1 导入prometheus数据源](#5.1 导入prometheus数据源)
- [5.2 创建dashboard](#5.2 创建dashboard)
前言
在运维监控工作中,二进制部署方式无需依赖容器环境,适配各类离线服务器与生产内网场景,部署灵活且便于日常管理。Prometheus作为热门云原生时序监控工具,凭借高性能与丰富生态广受运维人员青睐。本文采用二进制方式完成部署搭建,涵盖环境准备、程序安装、配置修改、系统自启动等完整流程,帮助大家快速搭建稳定可用的监控服务
一、安装Prometheus
Prometheus官网地址:https://prometheus.io/download/
这里我选择最新的稳定版进行安装

1.1 下载prometheus
yaml
root@prometheus:~# wget https://github.com/prometheus/prometheus/releases/download/v3.5.3/prometheus-3.5.3.linux-amd64.tar.gz
root@prometheus:~# ls
prometheus-3.5.3.linux-amd64.tar.gz
root@prometheus:~# ls /opt/prometheus/
root@prometheus:~# tar xf prometheus-3.5.3.linux-amd64.tar.gz
root@prometheus:~# mv prometheus-3.5.3.linux-amd64 /opt/prometheus/prometheus
root@prometheus:~# useradd -M -s /usr/bin/nologin prometheus
root@prometheus:~# chown prometheus:prometheus -R /opt/prometheus/
1.2 配置systemd服务
yaml
root@prometheus:~# vim /etc/systemd/system/prometheus.service
[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
root@prometheus:~#
root@prometheus:~# systemctl daemon-reload
root@prometheus:~# systemctl start prometheus.service
root@prometheus:~# systemctl enable prometheus.service
Created symlink /etc/systemd/system/multi-user.target.wants/prometheus.service → /etc/systemd/system/prometheus.service.
root@prometheus:~#
1.3 访问网页
浏览器访问本机ip:9090即可登录prometheus界面

浏览器访问本机ip:9090/metrics即可登录prometheus监控指标界面

二、安装Alertmanager
还是到刚才的官网下载,直接下拉就可以找到alertmanager

2.1 下载alertmanager
yaml
root@prometheus:~# wget https://github.com/prometheus/alertmanager/releases/download/v0.32.1/alertmanager-0.32.1.linux-amd64.tar.gz
root@prometheus:~# ls
alertmanager-0.32.1.linux-amd64.tar.gz prometheus-3.5.3.linux-amd64.tar.gz
root@prometheus:~# tar xf alertmanager-0.32.1.linux-amd64.tar.gz
root@prometheus:~# ls
alertmanager-0.32.1.linux-amd64 alertmanager-0.32.1.linux-amd64.tar.gz prometheus-3.5.3.linux-amd64.tar.gz
root@prometheus:~# mv alertmanager-0.32.1.linux-amd64 /opt/prometheus/alertmanager
root@prometheus:~# chown prometheus:prometheus -R /opt/prometheus/alertmanager/
2.2 配置systemd服务
yaml
root@prometheus:~# vim /etc/systemd/system/alertmanager.service
[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/data
Restart=always
[Install]
WantedBy=multi-user.target
root@prometheus:~#
root@prometheus:~# systemctl daemon-reload
root@prometheus:~# systemctl start alertmanager.service
root@prometheus:~# systemctl enable alertmanager.service
2.3 修改prometheus配置
安装好alertmanager后,需要修改prometheus的配置文件
yaml
## 加入alertmanager
root@prometheus:~# vim /opt/prometheus/prometheus/prometheus.yml
# 全局配置块:对整个prometheus生效
global:
# 数据采集间隔,每15秒拉取一次指标
scrape_interval: 15s
# 告警规则评估间隔,每15秒检查一次告警规则
evaluation_interval: 15s
# 告警配置
alerting:
alertmanagers:
- static_configs:
- targets:
# 注意:此处填写alertmanagerip:9093,我的在本机所以填localhost
- localhost:9093
# 告警规则文件路径
rule_files:
# 告警规则定义在当前目录的alert.yml
- "alert.yml"
# 数据采集配置:定义要监控的目标
scrape_configs:
# 监控alertmanager
- job_name: "alertmanager"
# 针对该任务单独设置采集间隔15秒
scrape_interval: 15s
static_configs:
# 注意:此处填写alertmanagerip:9093,我的在本机所以填localhost
- targets: ['localhost:9093']
# 监控prometheus自身
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
labels:
app: "prometheus"
yaml
# 这条告警规则用于监控所有监控目标的存活状态
# 通过判断 up == 0 识别服务宕机,持续 30 秒后触发严重级别告警,并自动通知管理员
root@prometheus:~# vim /opt/prometheus/prometheus/alert.yml
groups:
- name: Prometheus alert
rules:
# 对任何实例超过30秒无法联系的情况发出警报
- alert: 服务告警
expr: up == 0
for: 30s
labels:
severity: critical
annotations:
summary: "服务异常,实例:{{ $labels.instance }}"
description: "{{ $labels.job }} 服务已关闭"
root@prometheus:~#
root@prometheus:~# cd /opt/prometheus/prometheus/
alert.yml data LICENSE NOTICE prometheus prometheus.yml promtool
# 检查prometheus配置
root@prometheus:/opt/prometheus/prometheus# ./promtool check config prometheus.yml
# 热加载prometheus配置
root@prometheus:/opt/prometheus/prometheus# curl -X POST http://localhost:9090/-/reload
2.4 访问网页
浏览器访问alertmanager ip:9093就可以访问到alertmanager页面

访问prometheus页面可以看到多了一个名为Prometheus alert的告警

三、安装Grafana
官网下载地址:https://grafana.com/grafana/download?edition=oss
3.1 下载grafana
这里我选择最新的稳定版

选择二进制包方式,直接复制官网命令下载即可

yaml
root@prometheus:~# wget https://dl.grafana.com/grafana/release/13.0.1/grafana_13.0.1_24542347077_linux_amd64.tar.gz
root@prometheus:~# tar xf grafana_13.0.1_24542347077_linux_amd64.tar.gz
root@prometheus:~# mv grafana-13.0.1/ /opt/prometheus/grafana
root@prometheus:~# chown prometheus:prometheus -R /opt/prometheus/grafana/
3.2 配置systemd服务
yaml
root@prometheus:~# vim /etc/systemd/system/grafana-server.service
[Unit]
Description=Grafana server
Documentation=http://docs.grafana.org
After=network.target
[Service]
Type=simple
User=prometheus
Group=prometheus
WorkingDirectory=/opt/prometheus/grafana
ExecStart=/opt/prometheus/grafana/bin/grafana server
Restart=on-failure
[Install]
WantedBy=multi-user.target
root@prometheus:~# systemctl daemon-reload
root@prometheus:~# systemctl start grafana-server.service
root@prometheus:~# systemctl enable grafana-server.service
3.3 访问网页
浏览器输入grafana ip:3000访问grafana网页,开始会输入初始账号密码

设置新密码

界面展示如下

四、安装node_exporter
还是在prometheus的官网,找到node_exporter下载

4.1 下载node-exporter
yaml
root@prometheus:~# wget https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.linux-amd64.tar.gz
root@prometheus:~# tar xf node_exporter-1.11.1.linux-amd64.tar.gz
root@prometheus:~# mv node_exporter-1.11.1.linux-amd64 /opt/prometheus/node_exporter
root@prometheus:~# chown prometheus:prometheus -R /opt/prometheus/node_exporter/
4.2 配置systemd服务
yaml
root@prometheus:~# vim /etc/systemd/system/node_exporter.service
[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
root@prometheus:~# systemctl daemon-reload
root@prometheus:~# systemctl start node_exporter.service
root@prometheus:~# systemctl enable node_exporter.service
4.3 修改prometheus配置
yaml
root@prometheus:~# vim /opt/prometheus/prometheus/prometheus.yml
# 在scrape_configs块下添加下面配置
scrape_configs:
- job_name: "node-exporter"
scrape_interval: 15s
static_configs:
- targets: ['localhost:9100']
# 可以给这个node-exporter取一个名字
labels:
instance: Prometheus服务器
root@prometheus:~# curl -X POST http://localhost:9090/-/reload
4.4 访问网页
浏览器访问node_exporter ip:9100/metrics可以访问到node-exporter的界面

浏览器访问prometheus界面,会多出一个实例

五、在Grafana中配置Prometheus图形
5.1 导入prometheus数据源
登录grafana,导入prometheus数据源



下拉点击"Save"保存
5.2 创建dashboard
grafana官网:https://grafana.com/grafana/dashboards/
登录grafana官网,找到node exporter,点击

拷贝ID



下面就是创建好的dashboard

至此,Prometheus二进制安装到此结束!
注:
文中若有疏漏,欢迎大家指正赐教。
本文为100%原创,转载请务必标注原创作者,尊重劳动成果。
求赞、求关注、求评论!你的支持是我更新的最大动力,评论区等你~