【问题标题】:Execute command into docker image to launch solr exporter在 docker 镜像中执行命令以启动 solr exporter
【发布时间】:2019-09-30 14:01:49
【问题描述】:

我想在 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

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

【问题讨论】:

  • 一个 Docker 容器只运行一个命令和一个命令。使用您显示的语法,它是(添加引用)'solr-demo' 'sh ./bin/.../solr ' — 整个 sh 字符串作为单个参数传递给 solr-demo

标签: docker solr docker-compose prometheus


【解决方案1】:

解决此问题的 Prometheus 方法是将 solr-exporter 作为单独的 docker 容器或 side-car 运行,并让它抓取 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,您可能需要根据需要对其进行调整。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-05
    • 2020-09-19
    • 2020-11-24
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多