编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

使用 Prometheus 和 Grafana 实现服务器运行状态监控(基于 Docker)

wxchong 2024-09-08 10:39:51 开源技术 9 ℃ 0 评论

引言

在现代运维中,监控服务器的运行状态是保证服务稳定性的关键。本文将介绍如何使用 Docker 来部署 Prometheus 和 Grafana,并结合 node_exporter 进行服务器状态监控。通过简单的配置和部署,我们可以实时掌握服务器的运行状况,提前发现并处理潜在问题。

一、准备工作

首先确保你的服务器已经安装了 Docker 和 Docker Compose。如果没有安装,可以通过以下命令安装:

# 安装 Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

二、编写 Docker Compose 文件

我们将使用 Docker Compose 来编排 Prometheus、Grafana 和 node_exporter 的容器。新建一个目录并在其中创建 docker-compose.yml 文件:

version: '3.7'

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    ports:
      - "9100:9100"

三、配置 Prometheus

在同一目录下创建 prometheus.yml 配置文件:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['node-exporter:9100']

四、启动服务

在 docker-compose.yml 文件所在的目录下运行以下命令启动所有服务:

docker-compose up -d

五、访问 Grafana

服务启动后,可以通过浏览器访问 http://localhost:3000 打开 Grafana。默认的用户名和密码均为 admin。

六、配置 Grafana 来显示 Prometheus 数据

  1. 添加数据源
  2. 进入 Grafana 仪表盘。
  3. 点击左侧的 “齿轮” 图标(Configuration)并选择 “Data Sources”。
  4. 点击 “Add data source”,选择 “Prometheus”,然后设置 URL 为 http://prometheus:9090。
  5. 点击 “Save & Test” 以确认连接成功。
  6. 创建仪表盘
  7. 点击左侧的 “加号” 图标(Create)并选择 “Dashboard”。
  8. 点击 “Add new panel”。
  9. 在查询部分,选择 Prometheus 作为数据源,并输入适当的 Prometheus 查询语句,例如 node_cpu_seconds_total。
  10. 配置完毕后,点击 “Save” 保存仪表盘。

granafa 提供很多可视化模版可供参考,地址:https://grafana.com/grafana/dashboards/

结语


通过本文的指导,您可以轻松部署并配置 Prometheus 和 Grafana 进行服务器监控。使用 Docker 进行编排不仅简化了部署过程,还使得服务的管理和扩展变得更加方便。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表