首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Docker使用Prometheus监控Elassandra

使用Docker使用Prometheus监控Elassandra
EN

Stack Overflow用户
提问于 2019-06-08 21:27:22
回答 1查看 371关注 0票数 0

我正在尝试在this instruction之后运行带有特殊配置的jmx-exporter容器。

我一步一步地做了所有的说明。这是我的docker-compose文件和conf/config.yml

docker-compose:

代码语言:javascript
复制
version: '2'
services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - /prometheus:/prometheus
      - ./conf/prome.yml:/etc/prometheus/prometheus.yml
    command:
      - --config.file=/etc/prometheus/prometheus.yml
    ports:
      - '6009:9090'

  jmx-exporter:
    image: sscaling/jmx-prometheus-exporter
    container_name: jmx-exporter
    ports:
      - 6011:5556
    depends_on:
       - elassandra

  elassandra:
    image: strapdata/elassandra
    container_name: elassandra
    volumes:
      - /var/lib/cassandra:/var/lib/cassandra
    environment:
      - CASSANDRA_LISTEN_ADDRESS=localhost
      - CASSANDRA_RPC_ADDRESS=localhost
      - CASSANDRA_START_RPC=false
      - CASSANDRA_CLUSTER_NAME='DockerTest Cluster'
      - CASSANDRA_NUM_TOKENS=8
      - CASSANDRA#
      - LOCAL_JMX="no"
      - Dcassandra.jmx.remote.port="7199"
      - Dcom.sun.management.jmxremote.port="7199"
      - Dcom.sun.management.jmxremote.rmi.port="7199"
      - Dcom.sun.management.jmxremote.authenticate=false 

      - JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
      - JMX_PORT="7199"
      - JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.remote.port=5556"
      - JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=5556"
      - JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false"

volumes:
        prometheus_data: {}
        elassandra_data: {}

conf/config.yml

代码语言:javascript
复制
startDelaySeconds: 0
hostPort: elassandra:7199
#username: 
#password: 
#jmxUrl: service:jmx:rmi:///jndi/rmi://127.0.0.1:60/jmxrmi
ssl: false
lowercaseOutputName: false
lowercaseOutputLabelNames: false
whitelistObjectNames: ["org.apache.cassandra.metrics:*"]
blacklistObjectNames: ["org.apache.cassandra.metrics:type=ColumnFamily,*"]
rules:
  - pattern: 'org.apache.cassandra.metrics<type=(\w+), name=(\w+)><>Value: (\d+)'
    name: cassandra_$1_$2
    value: $3
    valueFactor: 0.001
    labels: {}
    help: "Cassandra metric $1 $2"
    type: GAUGE
    attrNameSnakeCase: false

每当我运行docker-compose -f docker-compose.yml up时,我都会在localhost:6011上看到下面的页面

问题是我不知道如何使用jmx-exporter监控elassandra和它的指标,我得到的主要是java指标!

EN

回答 1

Stack Overflow用户

发布于 2019-06-09 03:18:43

在您的config.yml中,您正在使用hostPort: localhost:5556,但您应该尝试连接到主机elassandra ( docker-compose.yml文件中您的docker容器的名称)。

确保Elassandra被正确配置为允许远程JMX连接。有关如何设置的详细信息,请参阅How to enable remote JMX connections in Elassandra?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56506859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档