Prometheus 및 Grafana를 사용하여 ElasticSearch 클러스터 모니터링

elasticsearch exporter plugin를 사용하여 프로덕션 ElasticSearch 클러스터를 모니터링하고 해당 메트릭을 Prometheus 서버에 저장한 다음 나중에 Grafana 대시보드를 사용하여 시각화할 것입니다. 내보내기는 클러스터에서 메트릭을 스크랩하고 기본 포트9114(변경 가능)에서 사용할 수 있도록 하며 Prometheus는 내보내기에서 해당 메트릭을 스크랩하여 TSD에 저장합니다.

ES Cluster >> es_exporter >> Prometheus >> Grafana



ElasticSearch 내보내기:



ElasticSearch Exporter는 GO LANG로 작성된 Prometheus용 ElasticSearch 통계 내보내기 도구입니다.

참고: 내보내기는 스크랩할 때마다 ElasticSearch 클러스터에서 측정항목을 가져오므로 스크랩 간격이 너무 짧으면 특히 --es.all--es.indices로 실행하는 경우 ES 마스터 노드에 로드가 부과될 수 있습니다.

ElasticSearch Exporter github 프로젝트에 대한 링크입니다.

여기서는 사전 빌드된 바이너리를 사용하겠습니다.

wget https://github.com/justwatchcom/elasticsearch_exporter/releases/download/v1.1.0/elasticsearch_exporter-1.1.0.linux-amd64.tar.gz
tar xvf elasticsearch_exporter-1.1.0.linux-amd64.tar.gz
cd elasticsearch_exporter-1.1.0.linux-amd64
cp elasticsearch_exporter /usr/local/bin/es_exporter


바이너리에 대한 추가 정보가 필요하면 --help 옵션을 사용하십시오.

elasticsearch_exporter --help


체계적인 서비스



이제 ES 서버에서 elasticsearch 내보내기를 위한 systemd 서비스 파일을 생성합니다. 설정된 경우 ES 클러스터 사용자 이름 암호를 정의합니다.vim /etc/systemd/system/es_exporter.service
[Unit]
Description=Prometheus ES_exporter
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target

[Service]
User=root
Nice=10
ExecStart = /usr/local/bin/es_exporter --es.uri=http://elastic_user:XXXXXXXXXXX@localhost:9200 --es.all --es.indices --es.timeout 20s
ExecStop= /usr/bin/killall es_exporter

[Install]
WantedBy=default.target



systemctl start es_exporter.service
systemctl enable es_exporter.serivce


프로메테우스


prometheus.yml에 대한 구성
vim /etc/prometheus/prometheus.yml아래 줄을 추가하십시오.

  - job_name: elasticsearch
    scrape_interval: 60s
    scrape_timeout:  30s
    metrics_path: "/metrics"
    static_configs:
    - targets: ['es-01:9114' ]
      labels:
        service: elasticsearch
    relabel_configs:
    - source_labels: [__address__]
      regex: '(.*)\:9108'
      target_label:  'instance'
      replacement:   '$1'
    - source_labels: [__address__]
      regex:         '.*\.(.*)\.lan.*'
      target_label:  'environment'
      replacement:   '$1'



systemctl restart prometheus


그라파나 대시보드



https://grafana.com/grafana/dashboards/2322 Grafana 대시보드를 가져오고 ElasticSearch 클러스터 지표 모니터링을 시작하십시오. JSON 형식으로 다운로드하여 grafana 서버에 업로드하거나 ID를 복사하여 직접 가져올 수 있습니다.



좋은 웹페이지 즐겨찾기