在Docker映像中执行命令以启动solr导出器

时间:2019-09-30 14:01:49

标签: docker solr docker-compose prometheus

我想在solr docker映像内执行命令以导出指标。

https://lucene.apache.org/solr/guide/7_3/monitoring-solr-with-prometheus-and-grafana.html

我尝试过这个:

    command:
      - solr-demo
      - sh ./bin/solr-exporter -p 9854 -b http://localhost:8983/solr

这是完整的docker-compose

version: '3.7'
volumes:
    solr_data: {}
services:
  solr:
    image: solr:8
    ports:
     - "8983:8983"
    volumes:
      - solr_data:/var/solr
    command:
      - solr-demo

我没有任何错误,但是启动导出器的命令未执行。

1 个答案:

答案 0 :(得分:1)

Prometheus解决此问题的方法是将solr-exporter作为单独的docker容器或小车运行,并刮除solr服务器。

version: '3.7'
volumes:
    solr_data: {}
services:
  solr:
    image: solr:8
    ports:
     - "8983:8983"
    volumes:
      - solr_data:/var/solr
    command:
      - solr-demo
  solr-exporter:
    image: solr:8
    ports:
     - "9854:9854"
    entrypoint:
      - "/opt/solr-8.2.0/contrib/prometheus-exporter/bin/solr-exporter"
      - "-p"
      - "9854"
      - "-b"
      - "http://solr:8983/solr"
      - "-f"
      - "/opt/solr-8.2.0/contrib/prometheus-exporter/conf/solr-exporter-config.xml"
      - "-n"
      - "8"

使用"http://solr:8983/solr"作为出口商的目标使其刮擦名为solr的容器。

上面的导出程序命令行是从docs here上直接获取的,您可能需要根据需要进行调整。