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条目即可

2.Grafana网页效果

下载模板json文件:

ElasticSearch | Grafana Labs

导入json文件后:

相关推荐
计算机毕设定制辅导-无忧学长1 天前
Grafana 与 InfluxDB 可视化深度集成(二)
信息可视化·数据分析·grafana
云游1 天前
大模型性能指标的监控系统(prometheus3.5.0)和可视化工具(grafana12.1.0)基础篇
grafana·prometheus·可视化·监控
qq_232045572 天前
非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
nginx·grafana·prometheus
测试开发Kevin2 天前
详解grafana k6 中stage的核心概念与作用
测试工具·压力测试·grafana
夜莺云原生监控2 天前
Prometheus 监控 Kubernetes Cluster 最新极简教程
容器·kubernetes·prometheus
SRETalk3 天前
Prometheus 监控 Kubernetes Cluster 最新极简教程
kubernetes·prometheus
川石课堂软件测试3 天前
JMeter并发测试与多进程测试
功能测试·jmeter·docker·容器·kubernetes·单元测试·prometheus
SRETalk4 天前
夜莺监控的几种架构模式详解
prometheus·victoriametrics·nightingale·夜莺监控
天翼云开发者社区4 天前
Grafana无法启动修复解决
grafana
Ditglu.5 天前
使用Prometheus + Grafana + node_exporter实现Linux服务器性能监控
服务器·grafana·prometheus