【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 小时前
实操|Prometheus Pushgateway 部署、推送与数据管理全流程
运维·服务器·云原生·prometheus
蜀道山老天师1 天前
Docker Compose实战案例:一键部署WordPress+Prometheus监控平台
运维·docker·容器·prometheus
川石课堂软件测试1 天前
接口测试常见面试题及答案
python·网络协议·mysql·华为·单元测试·prometheus·harmonyos
海兰2 天前
在 Grafana 中驾驭 ES|QL:Elasticsearch 管道查询实战指南
大数据·elasticsearch·grafana
蜀道山老天师3 天前
从零搭建 Prometheus 监控 MySQL:含二进制安装、授权、exporter 配置全流程
运维·数据库·mysql·adb·云原生·prometheus
蜀道山老天师3 天前
Prometheus监控Hadoop集群(实操完整版,含避坑指南)
大数据·linux·运维·hadoop·云原生·prometheus
虎头金猫4 天前
Beszel 轻量服务器监控:多台服务器状态统一看,搭起来比 Prometheus 省事太多
linux·运维·服务器·分布式·kafka·开源·prometheus
是店小二呀4 天前
利用JiuwenSwarm创建活动规划团队,一句话落地利用JiuwenSwarm创建活动规划团队,一句话落地活动实战
人工智能·prometheus
2401_840192275 天前
k8s的crd、operator、cr分别是什么?
运维·分布式·kubernetes·prometheus