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

Prometheus+Grafana+elasticsearch_exporter监控elasticsearch的简单配置过程

一、elasticsearch集群配置

elasticsearch的docker方式安装及golang1.22版本使用elasticsearch7的示例代码-CSDN博客

查找“创建elasticsearch集群”标题即可

服务器集群ip地址:192.168.137.21,192.168.137.22,192.168.137.23

二、启动Prometheus的容器

查看镜像信息

[root@ELK ~]# docker images
REPOSITORY                                      TAG       IMAGE ID       CREATED       SIZE
harbor:443/prom/prometheus                      2.54.1    4022a502929b   4 weeks ago   275MB
kibana                                          8.1.3     6bccb01e35af   2 years ago   736MB
harbor:443/library/kibana                       8.1.3     6bccb01e35af   2 years ago   736MB
elasticsearch                                   8.1.3     b543e34fe3ca   2 years ago   1.2GB
harbor:443/library/elasticsearch                8.1.3     b543e34fe3ca   2 years ago   1.2GB
daocloud.io/alpine                              latest    49f356fa4513   3 years ago   5.61MB
docker.elastic.co/elasticsearch/elasticsearch   7.3.0     bdaab402b220   5 years ago   806MB
harbor:443/library/elasticsearch                7.3.0     bdaab402b220   5 years ago   806MB
containerize/elastichd                          latest    c2202f76db37   7 years ago   28.1MB
harbor:443/library/containerize/elastichd       latest    c2202f76db37   7 years ago   28.1MB
harbor:443/library/mobz/elasticsearch-head      5         b19a5c98e43b   7 years ago   824MB
mobz/elasticsearch-head                         5         b19a5c98e43b   7 years ago   824MB

prometheus.yml文件内容:

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["localhost:9090"]
  - job_name: 'es_test'
    static_configs:
      - targets: ['192.168.137.116:9114']

运行Prometheus容器:

docker run --name prometheus -v /root/prometheus.yml:/etc/prometheus/prometheus.yml:Z -p 9090:9090 -itd 4022a502929b

三、下载并启动Grafana

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.2-1.x86_64.rpm
sudo yum install grafana-4.6.2-1.x86_64.rpm

systemctl enable --now grafana-server.service

四、下载elasticsearch_exporter并启动

mkdir  /opt/apps
cd /opt/apps

wget  https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.3.0/elasticsearch_exporter-1.3.0.linux-amd64.tar.gz

tar -zvxf elasticsearch_exporter-1.3.0.linux-amd64.tar.gz

useradd -M -s /sbin/nologin elastic

systemd配置

如果elasticsearch配置了密码(<es-username>和<es-password>换成真实的用户名,密码):

cat > /usr/lib/systemd/system/elasticsearch-exporter.service << "EOF"
# 文件内容如下:
[Unit]
Description=Elasticsearch_Exporter

[Service]
Type=simple
User=elastic
Group=elastic
ExecStart=/opt/apps/elasticsearch_exporter-1.3.0.linux-amd64/elasticsearch_exporter --es.timeout=30s --es.all --es.indices --es.cluster_settings --es.indices_settings --es.shards --es.snapshots --es.uri=http://<es-username>:<es-password>@192.168.137.21:9200
ExecStop= /usr/bin/killall elasticsearch_exporter
Restart=on-failure
RestartSec=3
StartLimitBurst=3
StartLimitInterval=60
WorkingDirectory=/

[Install]
WantedBy=multi-user.target
EOF

如果elasticsearch没有配置密码

cat > /usr/lib/systemd/system/elasticsearch-exporter.service << "EOF"
# 文件内容如下:
[Unit]
Description=Elasticsearch_Exporter

[Service]
Type=simple
User=elastic
Group=elastic
ExecStart=/opt/apps/elasticsearch_exporter-1.3.0.linux-amd64/elasticsearch_exporter --es.timeout=30s --es.all --es.indices --es.cluster_settings --es.indices_settings --es.shards --es.snapshots --es.uri=http://192.168.137.21:9200
ExecStop= /usr/bin/killall elasticsearch_exporter
Restart=on-failure
RestartSec=3
StartLimitBurst=3
StartLimitInterval=60
WorkingDirectory=/

[Install]
WantedBy=multi-user.target
EOF

启动elasticsearch-exporter.service

systemctl enable --now elasticsearch-exporter.service

elasticsearch_exporter的默认端口是9114,验证是否成功:

curl http://192.168.1.86:9114/metrics

五.验证效果

1.查看Prometheus网页效果:

能够模糊搜索elastic条目即可

be47fb86a04a401584dfba2098fbdcce.png

2.Grafana网页效果

下载模板json文件:

ElasticSearch | Grafana Labs

dade3c0c980b4f82abe78053d0f6b355.png

导入json文件后:

c55c72dbc1204dae92712dc89b2704d3.png

 

 

 

 

 

 

 

 

 

 

 

 


http://www.kler.cn/a/324961.html

相关文章:

  • 实现了两种不同的图像处理和物体检测方法
  • 讯飞、阿里云、腾讯云:Android 语音合成服务对比选择
  • 如何在C#中处理必盈接口返回的股票数据?
  • 云原生周刊:Kubernetes v1.32 要来了
  • 01_MinIO部署(Windows单节点部署/Docker化部署)
  • C# 面向对象
  • fmql之Linux阻塞和非阻塞IO
  • 性能调优知识点(mysql)三
  • 过度广告是劣质护眼台灯的根源,为SUKER书客扼守护眼品质点赞
  • 亲身体验Llama 3.1:开源模型的部署与应用之旅
  • 如何从 Mac 上清空的垃圾箱中恢复已删除的文件
  • D. Determine Winning Islands in Race (cf div2,dp、图论最短路)
  • 对话总结:Scale AI的创始人兼CEO Alex Wang
  • Linux中的进程控制
  • 集成Elasticsearch到django restful
  • 使用【apifox】进行压测-保姆级教程【无需脚本】
  • Unity中分辨率适配
  • 一文上手SpringSecurity【九】
  • Kafka技术详解[1]:简介与基础概念
  • 基于springboot+vue+mysql公益旧物捐赠系统(源码+参考文档+定制)
  • pytorch U²-Net教程
  • NTLM Relay攻击原理 + 工具使用
  • 【SQL】累计统计方法,使用SQL详细写出
  • itc保伦股份智慧高校整体解决方案推动教育强国、科技强国、人才强国建设!
  • 【AI写代码】使用 ChatGPT 写 ila
  • [Unity Demo]从零开始制作空洞骑士Hollow Knight第十一集:制作法术系统的回血机制和火球机制