快速部署Prometheus+Grafana批量监控Linux服务器

本文将为你详细讲解如何在服务器上使用 Docker 容器快速部署 Prometheus 和 Grafana 监控系统,同时通过 node_exporter 采集全面的系统性能数据。整个流程涵盖了从环境配置到搭建一个全面监控平台的每个步骤。

先来几张效果图:

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

一键安装 Node Exporter

Node Exporter 是 Prometheus 生态系统中的一个关键组件,它专门用于收集和导出 Linux 系统的硬件和操作系统指标,如 CPU 使用率、内存利用率、磁盘 IO、网络统计等。这些数据可以帮助你深入了解服务器的性能表现,从而提高系统的监控和管理效率。

该服务所有需要监控的服务器安装,属于数据采集 Agent。

下面是一键安装的脚本,脚本设置了国内加速


#!/bin/bash

# 定义变量
URL="https://ghp.ci/https://github.com/prometheus/node_exporter/releases/download/v1.8.2/node_exporter-1.8.2.linux-amd64.tar.gz"
TAR_FILE="node_exporter-1.8.2.linux-amd64.tar.gz"
DIR_NAME="node_exporter-1.8.2.linux-amd64"
LISTEN_PORT="9100"

# 下载文件
echo "Downloading $TAR_FILE..."
wget -c $URL -O $TAR_FILE
if [ $? -ne 0 ]; then
  echo "Error: Failed to download $TAR_FILE."
  exit 1
fi

# 解压文件
echo "Extracting $TAR_FILE..."
tar -zxvf $TAR_FILE
if [ $? -ne 0 ]; then
  echo "Error: Failed to extract $TAR_FILE."
  exit 1
fi

# 进入解压后的目录
echo "Changing directory to $DIR_NAME..."
cd $DIR_NAME
if [ $? -ne 0 ]; then
  echo "Error: Failed to change directory to $DIR_NAME."
  exit 1
fi

# 后台运行 node_exporter
echo "Starting node_exporter on port $LISTEN_PORT..."
nohup ./node_exporter --web.listen-address=":$LISTEN_PORT" > node_exporter.stdout 2>&1 &
if [ $? -ne 0 ]; then
  echo "Error: Failed to start node_exporter."
  exit 1
fi

echo "node_exporter started successfully and is listening on port $LISTEN_PORT."



安装 prometheus

创建数据存储目录



mkdir /data/prometheus_data && chmod 777 /data/prometheus_data

创建配置文件

将需要监控的节点和添加进配置文件



  - job_name: "node_exporter"
    static_configs:
      - targets:
        - "192.168.1.12:9100"
        - "192.168.1.13:9100"
        - "192.168.1.14:9100"
        - "192.168.1.15:9100"
        - "192.168.1.3:9100"
        - "192.168.1.4:9100"
        - "192.168.1.5:9100"
        - "192.168.1.6:9100"
        - "192.168.1.7:9100"

完整的配置文件内容为



# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global "evaluation_interval".
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it"s Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=` to any timeseries scraped from this config.
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "node_exporter"
    static_configs:
      - targets:
        - "192.168.1.12:9100"
        - "192.168.1.13:9100"
        - "192.168.1.14:9100"
        - "192.168.1.15:9100"
        - "192.168.1.3:9100"
        - "192.168.1.4:9100"
        - "192.168.1.5:9100"
        - "192.168.1.6:9100"
        - "192.168.1.7:9100"

tips:这里格式一定要对齐,否则可能会启动失败

设置配置文件权限



chmod 777 /etc/prometheus.yml

下载运行 Prometheus

下载运行服务



docker run -d \
  --name=prometheus \
  -p 9090:9090 \
  -v /etc/prometheus.yml:/etc/prometheus/prometheus.yml \
  -v /data/prometheus_data:/prometheus \
  --restart always \
  prom/prometheus

如果拉取不了可以用下面这个



docker run -d \
  --name=prometheus \
  -p 9090:9090 \
  -v /etc/prometheus.yml:/etc/prometheus/prometheus.yml \
  -v /data/prometheus_data:/prometheus \
  --restart always \
  registry.cn-hangzhou.aliyuncs.com/jast-docker/prometheus:latest

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

访问:http://localhost:9090 验证是否启动生效

安装 Grafana

创建数据目录



mkdir -p grafana/data

下载运行 Grafana



docker run -d -p 3000:3000 --name=grafana \
  --user "$(id -u)" \  
  --volume "$PWD/grafana/data:/var/lib/grafana" \
  grafana/grafana  

上面的如果用不了,用下面的国内镜像



docker run -d -p 3000:3000 --name=grafana \
  --user "$(id -u)" \
  --restart always \
  --volume "$PWD/grafana/data:/var/lib/grafana" \
  registry.cn-hangzhou.aliyuncs.com/jast-docker/grafana:latest

运行完成访问: http://localhost:3000

配置 Grafana 监控 Linux 服务器

登录

默认账号密码 admin/admin

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

首次登录后设置密码

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

添加数据源

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

选择 prometheus

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

填写 prometheus 地址

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

最下方点击保存

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

导入模板

导入 8189 模板,官方提供的监控模板

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

输入名称和数据源导入

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

监控效果

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

快速部署 Prometheus+Grafana 批量监控 Linux 服务器

到此监控已经配置完成,你也可以配置预警值,进行一些告警操作,第一时间发现问题。

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...