docker - 在 docker 镜像中执行命令以启动 solr exporter

标签 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

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

最佳答案

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 ,您可能需要根据需要进行调整。

关于docker - 在 docker 镜像中执行命令以启动 solr exporter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58169520/

相关文章:

apache - 使用 Solr 进行远程流式传输

angular - 监听更改并在代码更改时重新加载容器 - docker-compose

linux - Docker tomcat 7 - 禁止访问欢迎页面

linux - 在 Docker 容器中运行 Cron 作业

java - 如何利用以下 ECM 技术 - 比较

docker - Gradle 中的 Kafka 集成测试运行到 GitHub Actions

docker - 找不到正在运行的docker-compose

docker - 如何启动本地 docker 拉取镜像 (apereo/cas)?

windows - 查找容器 id 并停止 docker 容器的 bat 脚本语法是什么

Solr,阻止更新现有文档