docker - 无法使用 cassandra 导出器从 Cassandra docker 容器中抓取指标
问题描述
我正在尝试使用此cassandra-exporter监视在 docker 容器中运行的 Cassandra 。由于某些原因,cassandra-exporter 无法从 cassandra 中抓取指标,如果我使用docker logs -f cassandra-exporter我会得到以下输出:
Waiting for Cassandra JMX to start on localhost:7199
我认为出口商运行良好。我必须为 cassandra 容器打开其他端口吗?还是我缺少一些环境变量?
这是我正在运行的容器:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7fe7e4e568fa criteord/cassandra_exporter:latest "/sbin/dumb-init /bi…" 11 minutes ago Up 11 minutes 0.0.0.0:8080->8080/tcp cassandra-exporter
84375b95a8eb cassandra:3.11.4 "docker-entrypoint.s…" 11 minutes ago Up 11 minutes 0.0.0.0:7000-7001->7000-7001/tcp, 0.0.0.0:7199->7199/tcp, 0.0.0.0:9042->9042/tcp, 0.0.0.0:9160->9160/tcp cassandra
这是我的 docker-compose.yml文件:
version: '3.6'
services:
cassandra:
image: cassandra:3.11.4
container_name: cassandra
ports:
- "9042:9042"
- "9160:9160"
- "7199:7199"
- "7000:7000"
- "7001:7001"
volumes:
- type: bind
source: /root/jmxremote.password
target: /etc/java-8-openjdk/management/jmxremote.password
read_only: true
- type: bind
source: /data
target: /var/lib/cassandra/
- type: bind
source: /root/jmxremote.password
target: /etc/cassandra/jmxremote.password
read_only: true
environment:
- JVM_OPTS=-Djava.rmi.server.hostname=<ip-address>
- LOCAL_JMX=no
- CASSANDRA_BROADCAST_ADDRESS=<ip-address>
- CASSANDRA_START_RPC=true
restart: always
cassanadra-exporter:
image: criteord/cassandra_exporter:latest
container_name: cassandra-exporter
ports:
- "8080:8080"
volumes:
- type: bind
source: /root/cassandra_exporter/cassandra.yml
target: /etc/cassandra/cassandra.yml
read_only: true
restart: always