当前位置: 首页 > news >正文

ElasticSearch使用Grafana监控服务状态-Docker版

文章目录

    • 版本信息
    • 构建`docker-compose.yml`
      • 参数说明
    • 创建Prometheus配置文件
    • 启动
    • 验证
    • 配置Grafana
      • 导入监控模板
        • 模板说明
    • 参考资料

版本信息

ElasticSearch:7.14.2

elasticsearch_exporter:1.7.0(latest)

  • 下载地址:https://github.com/prometheus-community/elasticsearch_exporter/releases

  • 下载版本:1.7.0

Grafana:10.0.10

构建docker-compose.yml

创建并进入目录

mkdir /opt/docker-es-monitor
cd /opt/docker-es-monitor

创建配置文件

vim /opt/docker-es-monitor/docker-compose.yml

注意:配置文件中不能使用tab,需要是用空格

version: '3'services:prometheus:image: prom/prometheuscontainer_name: prometheusdeploy:resources:limits:cpus: '0.8' # cpus: '0.8'表示该服务的CPU使用限制为主机CPU的80%。这意味着,无论主机的CPU有多强大,该服务只能使用其80%的计算能力。memory: 12G # memory: 12G表示该服务的内存使用限制为12GB。这意味着,该服务使用的内存不会超过12GB。privileged: true # privileged: true是一个选项,它允许容器访问主机系统的所有设备,并允许容器中的进程获取几乎与主机系统相同的权限。在某些情况下,你可能需要容器具有更高的权限来执行特定的任务,例如直接操作网络设备或硬件,或者访问主机系统的特定文件。在这些情况下,你可以在Docker Compose文件中为特定的服务设置privileged: true。ports: # ports字段用于定义容器的端口映射。格式为- <主机端口>:<容器端口>- 9090:9090volumes: # volumes字段用于定义容器的卷映射。格式为- <主机路径>:<容器路径>- /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.ymldepends_on: # depends_on字段用于定义服务的启动顺序,grafana服务会在当前服务之前启动- grafanaenvironment:- TZ=Asia/Shanghai # 设置服务的时区grafana:image: grafana/grafana:10.0.10-ubuntuhostname: grafanacontainer_name: grafanaports:- 3000:3000environment:- TZ=Asia/Shanghaielasticsearch_exporter:image: quay.io/prometheuscommunity/elasticsearch-exporter:latestcommand:- '--es.uri=http://172.16.24.199:9200' # ElasticSearch集群地址- '--es.all' # 通过es.uri获取全部节点状态,如果不设置,仅仅获取了配置的那个节点信息- '--es.indices' # 查询集群中所有索引的统计信息- '--es.indices_settings' # 查询集群中所有索引的设置统计信息- '--es.indices_mappings' # 查询集群所有索引映射的统计信息- '--es.shards' # 查询集群中所有索引的统计信息,包括分片级别的统计信息- '--es.timeout=20s'restart: alwaysports:- "172.16.24.224:9114:9114" # elasticsearch_exporter 对外提供的端口,通过该端口可以获取到监控信息,ip为部署docker的机器IP

参数说明

  • scrape_interval: 指定 Prometheus 抓取数据的时间间隔,默认为 15 秒。这意味着 Prometheus 每隔 15 秒抓取一次数据。

  • evaluation_interval: 指定规则评估的时间间隔,默认为 15 秒。这影响了 Prometheus 对规则的评估频率。

  • alertmanagers: 告警管理器配置,这里定义了一个静态的告警管理器的目标地址为 10.0.0.101:9093。这是 Alertmanager 的地址,Prometheus 会将告警发送到这里。

  • rule_files: 规则文件的配置,这里指定了一个名为 “node_down.yml” 的规则文件。这个文件用于定义 Prometheus 告警的规则。

  • scrape_configs: 抓取配置的主要部分。Prometheus 通过这里的配置定期从目标服务抓取指标数据。

    • Job ‘prometheus’: 针对 Prometheus 本身的抓取配置,指定了抓取的目标为 10.0.0.101:9090。这个是用于监控 Prometheus 本身的指标。
    • Job ‘node’: 针对节点的抓取配置,设置了较短的抓取间隔(8 秒)并指定了两个目标节点 10.0.0.101:910010.0.0.102:9100。这用于监控节点的指标。
    • Job ‘cadvisor’: 针对 cAdvisor 的抓取配置,同样设置了较短的抓取间隔并指定了两个 cAdvisor 实例的目标地址。

创建Prometheus配置文件

vim /etc/prometheus/prometheus.yml

这个位置对应docker-compse.ymlPrometheus配置文件挂载的目录

修改内容

global:scrape_interval:     5sevaluation_interval: 5sscrape_configs:- job_name: 'prometheus' # prometheus默认的static_configs:- targets: ['172.16.24.224:9090']- job_name: 'elasticsearch' # 监控ElasticSearch的job名称,自定义即可scrape_interval: 60s scrape_timeout:  30smetrics_path: "/metrics" # 监控后缀static_configs:- targets: ['172.16.24.224:9114'] # 刚刚配置的elasticsearch_exporter监控地址

启动

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

验证

访问Prometheus UI :http://172.16.24.224:9090 可以看到是否监控成功

image-20240104170603539

可以看到状态为UP,说明Prometheus监控到了ElasticSearch信息

image-20240104170618403

配置Grafana

访问地址:http://172.16.24.224:3000 可以进入Grafana页面,默认账号密码:admin/admin

image-20240104170820176

首次登录需要修改密码

image-20240104170843857

创建数据源

image-20240104171517944

选择Prometheus

image-20240104171539813

输入地址

image-20240104171612299

点击保存

image-20240104171627551

会提示成功

image-20240104171636486

导入监控模板

image-20240104171702306

模板说明

官方模板:编号为2322

推荐模板:

13071: Dashboard for Elasticsearch Cluster Stats
13072: Dashboard for Elasticsearch Index Stats
13073: Dashboard for Elasticsearch Node Stats
13074: Dashboard for Elasticsearch History Stats

这里我们使用推荐的模板,比较全

输入模板编号,并点击load

image-20240104171801175

选择数据源,并点击Import

image-20240104171857739

导入完成后可以看到监控信息

image-20240104171930864

其他三个模板安装上面方式导入即可。

参考资料

参考:https://download.csdn.net/blog/column/12357358/131353971

官网说明:https://github.com/prometheus-community/elasticsearch_exporter

https://blog.csdn.net/u011487470/article/details/124302479

http://www.lryc.cn/news/273272.html

相关文章:

  • VS Code 如何调试Python文件
  • day06、SQL语言之概述
  • 3D目标检测(教程+代码)
  • 让设备更聪明 |启英泰伦离线自然说,开启智能语音交互新体验!
  • React Hooks之useState、useRef
  • 提供电商Api接口-100种接口,淘宝,1688,抖音商品详情数据安全,稳定,支持高并发
  • git的使用 笔记1
  • 基于SpringBoot的医疗挂号管理系统
  • prometheus与zabbix监控的对比介绍
  • 详解全志R128 RTOS安全方案功能
  • 【MySQL】WITH AS 用法以及 ROW_NUMBER 函数 和 自增ID 的巧用
  • 基于SpringBoot的在线考试系统源码和论文
  • 基于Spring Boot的美妆分享系统:打造个性化推荐、互动社区与智能决策
  • Axure医疗-住院板块,住院患者原型预览,新增医护人员原型预览,新增病房原型预览,选择床位原型预览,主治医生原型预览,主治医生医嘱原型预览
  • 前端实战第一期:悬浮动画
  • Python学习笔记(五)函数、异常处理
  • Vue实现模糊查询
  • 【十一】【C++\动态规划】1218. 最长定差子序列、873. 最长的斐波那契子序列的长度、1027. 最长等差数列,三道题目深度解析
  • 主板部件
  • 2023年度学习总结
  • 服务器感染了.kann勒索病毒,如何确保数据文件完整恢复?
  • 使用results.csv文件数据绘制mAP对比图
  • 【算法刷题】## 算法题目第1讲:双指针处理数组题目 带视频讲解
  • 达梦数据:数字化时代,国产数据库第一股终于到来?
  • selenium4.0中常见操作方式50条
  • 如何解决使用融云音视频时由于库冲突导致编译不通过的问题
  • ISP 基础知识积累
  • Android Studio新手实战——深入学习Activity组件
  • [足式机器人]Part2 Dr. CAN学习笔记-自动控制原理Ch1-10奈奎斯特稳定性判据-Nyquist Stability Criterion
  • 企业培训系统开发:构建灵活高效的学习平台