【Prometheus+Grafana 监控平台二进制安装配置(图文实操详解)】

提示:本文原创作品,良心制作,干货为主,简洁清晰,一看就会

文章目录

  • 前言
  • 一、安装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%原创,转载请务必标注原创作者,尊重劳动成果。

求赞、求关注、求评论!你的支持是我更新的最大动力,评论区等你~

相关推荐
白鲸开源11 小时前
DolphinScheduler 挂了你不知道?Prometheus + Grafana 监控兜底方案,亲测可用
开源·grafana·监控
heimeiyingwang13 小时前
【Prometheus·部署篇】配置详解:scrape_config、relabeling 与服务发现
prometheus
mmsy10244 天前
Grafana 使用文档
grafana
heimeiyingwang4 天前
【Prometheus·入门篇】Prometheus 是什么:从 Nagios 到云原生监控的演进
prometheus
秋风点枝5 天前
第一篇:认识 Prometheus —— 云原生监控的基础
云原生·prometheus
名字还没想好☜5 天前
Prometheus 告警实战:写 alerting rules、用 Alertmanager 做路由分组与抑制
运维·前端·javascript·docker·kubernetes·prometheus
SamChan906 天前
用Prometheus+Grafana搭建PDF翻译服务监控看板:指标采集与告警实战
python·ai·pdf·grafana·prometheus·机器翻译
^酸酸6 天前
Prometheus 监控架构部署实战:二进制与 Docker 双方案
docker·架构·prometheus
ylj_dev7 天前
从 0 构建 AI Workload Platform(七):可观测性、故障注入与性能验证
go·prometheus·可观测性·opentelemetry·故障注入
蒲锘7 天前
Devops项目阶段 10:Prometheus 监控与 Alertmanager 邮件告警
prometheus