首页 > 解决方案 > 无法使用 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

标签: dockercassandramonitoringprometheus

解决方案


推荐阅读