Docker快速搭建Prometheus+Grafana可视化平台实现ElasticSearch集群监控

在分布式系统中,实时监控和报警是保障系统稳定性的关键。本文将介绍如何使用 Prometheus、ElasticSearch Exporter 和 Grafana 构建一个监控 ElasticSearch 集群的解决方案。通过本文的步骤,您将能够轻松实现对 ElasticSearch 集群的监控,并将监控数据可视化展示在 Grafana 上。

构建 docker-compose.yml
创建一个存放 Docker 配置文件的目录,并进入该目录:

mkdir /app/esmonitor
cd /app/esmonitor

创建 docker-compose.yml 配置文件

vim /app/esmonitor/docker-compose.yml

填入 docker-compose.yml 的配置内容:


version: '3'

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    deploy:
      resources:
        limits:
         cpus: '0.8'
         memory: 16G
    privileged: true
    ports:
        - 9090:9090
    volumes:
        - /app/esmonitor/prometheus.yml:/etc/prometheus/prometheus.yml
    depends_on:
        - grafana
    environment:
        - TZ=Asia/Shanghai

  grafana:
    image: grafana/grafana:latest
    hostname: grafana
    container_name: grafana
    ports:
        - 3000:3000
    environment:
        - TZ=Asia/Shanghai

  elasticsearch_exporter:
    image: quay.io/prometheuscommunity/elasticsearch-exporter:latest
    command:
    - '--es.uri=http://192.168.3.122:9200'
    - '--es.all'
    - '--es.indices'
    - '--es.indices_settings'
    - '--es.indices_mappings'
    - '--es.shards'
    - '--es.timeout=20s'
    restart: always
    ports:
      - "192.168.3.122:9114:9114"

• prometheus 服务:

• **cpus**:限制 Prometheus 服务的 CPU 使用率为 80%。

• **memory**:限制 Prometheus 服务的内存使用量为 12GB。

• **privileged**:启用此选项以允许容器拥有主机系统的高级权限(建议谨慎使用)。

• **ports**:映射 Prometheus 服务的端口。

• **volumes**:挂载 Prometheus 的配置文件。

• **depends_on**:确保 Prometheus 服务在 Grafana 服务启动后再启动。

• elasticsearch_exporter 服务:

• **–es.uri**:指定 ElasticSearch 集群的 URI 地址。

• **–es.all**:获取集群中所有节点的状态。

• **–es.indices**:获取所有索引的统计信息。

创建 Prometheus 的配置文件 prometheus.yml

vim /app/esmonitor/prometheus.yml

填入 dprometheus.yml 的配置内容:


global:
  scrape_interval: 5s
  evaluation_interval: 5s

scrape_configs:

  - job_name: 'prometheus'
    static_configs:
    - targets: ['192.168.3.122:9090']

  - job_name: 'elasticsearch'
    scrape_interval: 60s
    scrape_timeout:  30s
    metrics_path: "/metrics"
    static_configs:
    - targets: ['192.168.3.122:9114']

启动所有服务:

docker-compose -f docker-compose.yml up -d

验证 Prometheus:

访问 Prometheus 的 UI,地址为 http://192.168.3.122:9090。在“Targets”页面,您应该能看到 ElasticSearch 的监控状态为 UP,表示监控成功。

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控

验证 elasticsearch_exporter

访问 elasticsearch_exporter 的 UI,地址为 http://192.168.3.122:9114

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控

 

配置 Grafana:
访问 Grafana 的 UI,地址为 http://192.168.3.122:3000。使用默认账号密码 admin/admin 登录,并按照提示修改密码。

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控

创建数据源
在 Grafana 中创建 Prometheus 数据源,输入 Prometheus 的地址 http://192.168.3.122:9090,并保存配置。

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控 Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控 Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控 Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控

导入监控模板
导入官方或推荐的监控模板,官方模板编号为 2322,推荐的模板编号为 13071、13072、13073、13074。根据需求选择适合的模板进行导入。

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控 Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控
导入完成后,您可以在 Grafana 中查看 ElasticSearch 的监控信息。

Docker 快速搭建 Prometheus+Grafana 可视化平台实现 ElasticSearch 集群监控

 

© 版权声明

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