您的位置:首页 > 新闻 > 会展 > 5分钟部署Prometheus+Grafana批量监控Linux服务器

5分钟部署Prometheus+Grafana批量监控Linux服务器

2024/12/27 20:16:38 来源:https://blog.csdn.net/zhangshenghang/article/details/141728919  浏览:    关键词:5分钟部署Prometheus+Grafana批量监控Linux服务器

文章目录

    • 一键安装Node Exporter
    • 安装prometheus
      • 创建数据存储目录
      • 创建配置文件
      • 下载运行Prometheus
    • 安装Grafana
      • 创建数据目录
      • 下载运行Grafana
      • 配置Grafana监控Linux服务器
        • 登录
        • 首次登录后设置密码
        • 添加数据源
        • 选择prometheus
        • 填写prometheus地址
        • 导入模板


最近开始公众号文章也开始同步更新了,对Java、大数据、人工智能、开发运维相关技术分享,文章对您有用的话,辛苦您也关注下公众号,感谢!


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

先来几张效果图:

image-12831924222502610

image-12831924222607872

image-12831924222637672

一键安装Node Exporter

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

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

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

#!/bin/bash# 定义变量
URL="https://mirror.ghproxy.com/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 ]; thenecho "Error: Failed to download $TAR_FILE."exit 1
fi# 解压文件
echo "Extracting $TAR_FILE..."
tar -zxvf $TAR_FILE
if [ $? -ne 0 ]; thenecho "Error: Failed to extract $TAR_FILE."exit 1
fi# 进入解压后的目录
echo "Changing directory to $DIR_NAME..."
cd $DIR_NAME
if [ $? -ne 0 ]; thenecho "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 ]; thenecho "Error: Failed to start node_exporter."exit 1
fiecho "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=<job_name>` 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
参数说明
-d使容器在后台运行(分离模式)。
--name=prometheus为容器指定名称 prometheus,便于管理。
-p 9090:9090将宿主机的 9090 端口映射到容器的 9090 端口,便于访问 Prometheus。
-v /etc/prometheus.yml:/etc/prometheus/prometheus.yml挂载宿主机的 Prometheus 配置文件到容器中。
-v /data/prometheus_data:/prometheus挂载宿主机的目录用于存储 Prometheus 数据,确保数据持久化。
--restart always设定容器在停止后自动重启,保证持续运行。
prom/prometheus使用 Prometheus 的官方 Docker 镜像启动容器。

访问: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

image-12831924142719831

首次登录后设置密码

image-12831924142745346

添加数据源

image-12831924142924970

选择prometheus

image-12831924142945524

填写prometheus地址

image-12831924143022372

最下方点击保存

image-12831924143101480

导入模板

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

image-12831924143232463

输入名称和数据源导入

image-12831924143325078

监控效果

image-12831924222502610

image-12831924222607872

image-12831924222637672

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com