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

news2024/11/28 16:41:04

文章目录

    • 版本信息
    • 构建`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/prometheus
    container_name: prometheus
    deploy:
      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:9090
    volumes: # volumes字段用于定义容器的卷映射。格式为- <主机路径>:<容器路径>
      - /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    depends_on: # depends_on字段用于定义服务的启动顺序,grafana服务会在当前服务之前启动
      - grafana
    environment:
      - TZ=Asia/Shanghai # 设置服务的时区
  grafana:
    image: grafana/grafana:10.0.10-ubuntu
    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://172.16.24.199:9200' # ElasticSearch集群地址
     - '--es.all' # 通过es.uri获取全部节点状态,如果不设置,仅仅获取了配置的那个节点信息
     - '--es.indices' # 查询集群中所有索引的统计信息
     - '--es.indices_settings' # 查询集群中所有索引的设置统计信息
     - '--es.indices_mappings' # 查询集群所有索引映射的统计信息
     - '--es.shards' # 查询集群中所有索引的统计信息,包括分片级别的统计信息
     - '--es.timeout=20s'
    restart: always
    ports:
     - "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:     5s
  evaluation_interval: 5s

scrape_configs:
 
  - job_name: 'prometheus' # prometheus默认的
    static_configs:
    - targets: ['172.16.24.224:9090']

  - job_name: 'elasticsearch' # 监控ElasticSearch的job名称,自定义即可
    scrape_interval: 60s 
    scrape_timeout:  30s
    metrics_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.coloradmin.cn/o/1356760.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

部署清华ChatGLM-6B(Linux版)

引言 前段时间,清华公布了中英双语对话模型 ChatGLM-6B,具有60亿的参数,初具问答和对话功能。最!最!最重要的是它能够支持私有化部署,大部分实验室的服务器基本上都能跑起来。因为条件特殊,实验室网络不通,那么如何进行离线部署呢? 「部署环境」:CUDA Version 11.0,…

中国移动联合玻色量子打造“人人可用的量子计算”——恒山光量子算力平台公测上线

​2023年12月1日&#xff0c;中国移动云能力中心&#xff08;简称“移动云”&#xff09;联合北京玻色量子科技有限公司&#xff08;简称“玻色量子”&#xff09;共同打造的“五岳量子计算云平台——恒山光量子算力平台”在苏州正式发布。这是玻色量子继2023年5月16日成功发布…

医院信息系统集成平台—统一身份认证授权平台

统一的数字身份管理包括统一身份管理与授权管理。身份管理和授权管理是访问控制的前提,身份管理对用户的身份进行标识与鉴别;授权管理对用户访问资源的权限进行标识与管理。统一身份管理与授权管理系统作为安全管理中心的一部分,部署于安全管理区域。 医院集成信息平台在医…

大数据应用安全策略包括什么

大数据应用安全策略是为了保障大数据应用中的数据安全而采取的一系列措施&#xff0c;其重要性不容小觑。以下是大数据应用安全策略所包含的主要内容&#xff1a; 一、数据加密与安全存储 数据加密&#xff1a;对于敏感数据&#xff0c;应采用加密技术进行保护&#xff0c;包括…

关于酒的几点思考

你说什么情况下&#xff0c;会让两个大男人手牵着手走路&#xff1f;甚至十指相扣。 不言而明&#xff0c;那肯定是“喝大了”之后。当酒精麻痹了人的神经之后&#xff0c;会让人忘却一切烦恼&#xff0c;让人回归“本真”。当血液中乙醇浓度在0.05-0.1%时&#xff0c;人开始朦…

Android 文字垂直排列,文字向右旋转90度

public class VerticalTextView extends View {private final int ROTATION_ANGLE 90; // 旋转角度&#xff0c;用于将文本垂直排列private String text; // 要显示的文本private TextPaint textPaint; // 用于绘制文本的画笔private Rect textBounds;// 文本边界float x, y;/…

解析为什么Go语言要使用[]rune而不是string来表示中文字符

众所周知&#xff0c;Go语言中有以下这些数据类型。但rune32这个go语言特有的数据类型&#xff0c;比较有意思却经常遭到忽视。所以今天探索学习一下这个数据类型的功能、用法。 Go基本数据类型 布尔&#xff1a;bool 字符串&#xff1a;string 整数&#xff1a; int int8 …

实现vue加载指令 v-loading

文章目录 为什么使用指令实现 loading具体实现封装准备实现 loading 效果loading 显示与隐藏使用修饰符扩展 完整代码与结语 本文不会详细的说明 vue 中指令这些知识点&#xff0c;如果存在疑问&#xff0c;请自行查阅文档或者其他资料 为什么使用指令实现 loading 在日常的开…

(Linux)虚拟机配置固定IP

Linux操作系统的IP地址是通过DHCP服务获取的&#xff0c;也就是动态获取IP地址&#xff0c;每次重启设备后都会获取一次&#xff0c;会导致IP地址频繁变更&#xff0c;为了不频繁更新映射关系&#xff0c;我们需要IP地址固定下来。 1.在VM中配置IP地址网关和网段 打开虚拟网络…

Prometheus-AlertManager 邮件告警

环境,软件准备 本次演示环境&#xff0c;我是在虚拟机上安装 Linux 系统来执行操作&#xff0c;以下是安装的软件及版本&#xff1a; System: CentOS Linux release 7.6Docker: 24.0.5Prometheus: v2.37.6Consul: 1.6.1 docker 安装prometheus,alertmanage,说明一下这里直接将…

2024-01-04 用llama.cpp部署本地llama2-7b大模型

点击 <C 语言编程核心突破> 快速C语言入门 用llama.cpp部署本地llama2-7b大模型 前言一、下载llama.cpp以及llama2-7B模型文件二、具体调用总结 使用协议: License to use Creative Commons Zero - CC0 该图片个人及商用免费&#xff0c;无需显示归属&#xff0c;但如果…

Proxy 与 defineProperty 的理解、区别、优势、劣势

一、Object.defineProperty() 文档&#xff1a;Object.defineProperty() - JavaScript | MDN 作用&#xff1a;对一个对象进行操作的方法。可以为一个对象增加一个属性&#xff0c;同时也可以对一个属性进行修改和删除。 它是在 ES5 中引入的&#xff0c;使用了 getter 和 s…

windows机器上安装mysql

0、mysql下载地址 1、参考文章 2、把Data数据目录迁移到其他盘 2.0 首先停止mysql&#xff08;任务管理器-详细信息-随便找个进程右击进入转入服务&#xff0c;找到MySQL服务&#xff0c;点击停止&#xff09; 2.1 windows的 mysql默认的data目录在C:\ProgramData\MySQL\MySQ…

【编译原理】期末预习PPT前四章笔记II

看了看学校的ppt&#xff0c;记的比较随意O.o 因为我的考试范围里边没有简答所以概念什么的没怎么记 没有简答只有选择真是太好了嘿嘿嘿 目录 I. 概述&#xff08;好多字。。&#xff09; 一、高级语言的分类 1、体裁 2、执行方式 二、各种语言的执行方式 三、编译程序…

52、全连接 - 特征与样本空间的对应关系

上一节说到经过全连接层之后,神经网络学习到的特征,会从隐层特征空间逐步映射到样本空间,这主要是由于全连接层可以融合全局的特征。 在经过全连接层之后,在 ResNet50 这个神经网络中会输出1000个特征的得分值,这1000个特征的得分值,便可以对应到图像的分类。 怎么对应…

一文讲透Linux应用编程—进程原理

文章目录 程序的开始和结束main函数由谁调用&#xff1f;程序是如何结束的&#xff1f;atexit注册进程终止处理函数return、 exit、_exit三者区别 进程环境环境变量进程运行的虚拟空间 进程的正式引入什么是进程&#xff1f;进程ID多进程调度原理 fork创建子进程为什么要创建子…

cnstd使用效果测试

使用参考&#xff1a;https://github.com/breezedeus/CnSTD/tree/master 原理参考&#xff1a;https://cnocr.readthedocs.io/zh/latest/intro-cnstd-cnocr.pdf 模型&#xff1a; 结论&#xff1a; 经过测试&#xff0c; 长文本检测效果不错&#xff0c;短文本可能角度不对 …

MO 2023 年度回顾

PART-ONE 行业态势 随着供需关系的变化&#xff0c;数据库的竞争在经历了 3 年 “百花齐放” 般的发展后&#xff0c;终于在 2023 年进入到了一个相对收拢的阶段。 2023 年&#xff0c;各个数据库厂商间很有默契地在两个方面达成了一致&#xff1a; HTAP 已经成为新一代数据…

vue保姆级教程----深入了解 Vue3计算属性

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

引导过程和服务

宏内核(monolithic kernel)&#xff1a;又称单内核和强内核&#xff0c;Unix&#xff0c;Linux把所有系统服务都放到内核里&#xff0c;所有功能集成于同一个程序&#xff0c;分层实现不同功能&#xff0c;系统庞大复杂&#xff0c;Linux其实在单内核内核实现了模块化&#xff…