つづき。こんな感じでyamlを書けばよさそう。
version: "3.9" services: solr: image: "solr:9.2.1" container_name: solr ports: - "8983:8983" volumes: - data:/var/solr command: - solr-precreate - gettingstarted prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" environment: - DS_PROMETHEUS=Prometheus volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml solr-exporter: image: "solr:9.2.1" container_name: solr-exporter ports: - "8989:8989" environment: - SOLR_URL=http://solr:8983/solr command: /opt/solr/contrib/prometheus-exporter/bin/solr-exporter depends_on: - solr grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./provisioning/dashboards:/etc/grafana/provisioning/dashboards - ./provisioning/datasources:/etc/grafana/provisioning/datasources volumes: data:
ディレクトリ構成はこう。
# tree . ├── docker-compose.yml ├── prometheus.yml └── provisioning ├── dashboards │ ├── default.yaml │ └── grafana-solr-dashboard.json └── datasources └── datasource.yml
dashboard/default.yaml
と datasource.yml
は以下のZennを参考にさせてもらった。
grafana-solr-dashboard.jsonは以下のjson。
jsonはそのままだとデフォルトだとデータソースが ${DS_PROMETHEUS}
になっていてうまく表示されなかったので、以下のissueを眺めながらjsonの ${DS_PROMETHEUS}
を Prometheus
に一括置換した。
github.com
あまり見なさそうなメトリクスも結構多いので、ダッシュボードは自分で作ってもいいかもしれないと思った。