Hello New World

  • Prometheus简介
  • Prometheus特点
  • Prometheus 架构
  • 部署Prometheus + Grafana监控平台
  • 1.安装Docker
  • 2.安装Prometheus
  • 编辑Docker-Compose文件
  • 加载监控图形界面:
  • 相关内容
  • 首页
  • VPS测评
  • VPS优惠
  • 实用教程
  • 随笔记录
  • 杂七杂八
  • Telegram频道
  • 常用工具
    • WHOIS查询
  • 文章归档
  • 榜上有名

DigitalVirt Docker Flash Sale Google IDC.WIKI IPV6 IPV6 only Linux NAT VPS Oracle Tototel v.ps Virmach wawo 免费VPS 台湾VPS 喵云 微基主机 新加坡VPS 日本VPS 欧洲VPS 流媒体解锁 甲骨文 美国VPS 香港VPS

使用 Docker 部署 Prometheus + Grafana 监控平台

  • Hello World
  • 2024-03-18
  • 0

Prometheus + Grafana监控平台

Prometheus简介

Prometheus(普罗米修斯R)是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。

Prometheus基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统,不需要任何SDK或者其他的集成过程。这样做非常适合虚拟化环境比如VM或者Docker。

Prometheus应该是为数不多的适合Docker、Mesos、Kubernetes环境的监控系统之一。

Prometheus特点
  • 多维数据模型(有metric名称和键值对确定的时间序列)
  • 灵活的查询语言不依赖分布式存储。
  • 通过pull方式采集时间序列,通过http 协议传输。
  • 支持通过中介网关的 push时间序列的方式。
  • 监控数据通过服务或者静态配置来发现。
  • 支持图表和dashboard等多种方式。
Prometheus 架构
  • Prometheus主程序:主要是负责存储、抓取、聚合、查询方面。
  • Alertemanager程序:主要是负责实现报警功能。
  • Pushgateway程序:主要是实现接收有Client-push过来的指标数据,在指定的时间间隔,有主程序来抓取。
  • *_exporter程序:主要是负责采集物理机、中间件的信息。
部署Prometheus + Grafana监控平台

准备工作:

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

使用上述命令安装好脚本,并参照本站教程对Docker进行优化。

2.安装Prometheus
编辑Docker-Compose文件

新建Grafana目录:

mkdir Grafana

进入Grafana目录,在目录下新建docker-compose.yml文件:

cd Grafana
nano docker-compose.yml

文件内容:

version: '3.3'


services:

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    depends_on:
      - renderer
      - prometheus
    ports:
      - 3000:3000
    environment:
      GF_RENDERING_SERVER_URL: http://renderer:8081/render
      GF_RENDERING_CALLBACK_URL: http://grafana:3000/
      GF_LOG_FILTERS: rendering:debug
    volumes:
      - ./data/grafana/grafana_data:/var/lib/grafana
  renderer:
    image: grafana/grafana-image-renderer:latest
    ports:
      - 8081
  node_exporter:
    image: quay.io/prometheus/node-exporter:latest
    container_name: node_exporter
    hostname: node_exporter
    command:
      - '--path.rootfs=/host'
    network_mode: host
    pid: host
    restart: unless-stopped
    volumes:
      - '/:/host:ro,rslave'
  prometheus:
    image: prom/prometheus:v2.26.0
    restart: always
    container_name:  prometheus
    hostname:  prometheus
    ports:
      - 9090:9090
    volumes:
      - ./data/prometheus/conf/prometheus.yml:/etc/prometheus/prometheus.yml
    command: --config.file=/etc/prometheus/prometheus.yml

新建grafana数据目录并修改权限:

mkdir -p data/grafana/grafana_data && chmod 777 data/grafana/grafana_data

新建promtheus的配置文件,并编辑内容:

mkdir -p data/prometheus/conf && nano data/prometheus/conf/prometheus.yml

填入内容:

global:
  scrape_interval: 5s # pull metrics interval

scrape_configs:
  - job_name: 'node_http'
    static_configs:
            - targets: ["127.0.0.1:9100"]

启动docker-compose:

docker-compose up -d

登录界面:

  • 【prometheus】http://服务器IP:9090
  • 【grafana】http://服务器IP:3000
加载监控图形界面:

输入网址 http://服务器IP:3000 ,用户名admin 密码admin,登录。

修改密码,确定
配置数据库:选择Configuration->datasource
Add DataSource
选择Prometheus
在Promethues的配置页面中,填入URL, http://localhost:9090,点击save and test
点选DashBoard中的Browse
点击import
输入面板编号 8919,点击Import
选择Promethues数据库,点Import

大功告成,可看到监控数据

提示,如果监控面板上看不到数据,可以检查Prometheus是否和NodeExporter正常连接

相关内容
  1. Watchtower – 自动更新 Docker 镜像与容器
  2. 甲骨文云服务器Oracle Cloud 分配并启用 IPv6 地址教程
© 2025 Hello New World
Theme by Wing
  • {{ item.name }}
  • {{ item.name }}