Telegraf无法连接到RabbitMQ

pw9qyyiw  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(273)

我正在尝试设置telegraf从我的RabbitMQ收集传感器数据,并将其转发到两个不同的InfluxDB中。
但是,我无法使RabbitMQ和Telegraf之间的连接正常工作:

[inputs.rabbitmq] Error in plugin: Get "http://localhost:15672/api/exchanges": dial tcp 127.0.0.1:15672: connect: connection refused

在我的Web浏览器中打开127.0.0.1:15672可以正常工作,在初始身份验证之后。

curl -u test:test 'http://localhost:15672/api/queues/'

产生适当外观的输出。
Telegraf配置:

[[inputs.rabbitmq]]
  ## Management Plugin url. (default: http://localhost:15672)
  url = "http://localhost:15672"
  ## Tag added to rabbitmq_overview series; deprecated: use tags
  # name = "rabbitmq"
  ## Credentials
  username = "test"
  password = "test"

我的RabbitMQ示例是用docker compose设置的,下面是代码片段:

version: '3.7'
services:      
  rabbitmq:
    image: rabbitmq:3.9.7-management-alpine
    restart: always
    ports:
      - '15672:15672'
      - '5672:5672'
    networks:
      - testnet

Telegraf的设置如下:

docker run -d --name=telegraf -v ${PWD}:/var/lib/influxdb --net=testnet telegraf:latest

telegraf的设置是基于Influx团队的官方指南。我意识到我的telegraf.conf文件不能存储在${PWD}中,所以我总是将我修改过的文件复制到docker容器中的/etc/telegraf/telegraf. conf。我知道根据更改的不同日志输出使用正确的配置文件。
我已经检查了Docker Network Inspect TestNet,可以验证所有容器都在同一网络中运行。
我不知道为什么我的连接总是被拒绝。
任何帮助都是感激不尽的!
顺祝商祺

jc3wubiy

jc3wubiy1#

我可以让连接工作,如果你删除网络标志。有一个原因,你需要使用一个网络?我得到401的未授权,但尽管如此,它是可以访问的。

version: '3.7'
services:      
  rabbitmq:
    image: rabbitmq:3.9.7-management-alpine
    restart: always
    ports:
      - '15672:15672'
      - '5672:5672'

相关问题