1

我正在Ubuntu 16.04 上安装influxdb

我正在创建数据库 k6base

influx 
Connected to http://localhost:8086 version 1.4.2
InfluxDB shell version: 1.4.2
CREATE DATABASE k6base

然后我正在尝试运行命令

docker run -i loadimpact/k6 run -o influxdb=http://localhost:8086/ - <script.js 

并得到错误

time="2018-02-22T11:38:04Z" level=info msg=Running i=0 t=1.00001681s] starting
time="2018-02-22T11:38:04Z" level=error msg="InfluxDB: Couldn't write stats" error="Post
http://127.0.0.1:8086/write?consistency=&db=k6&precision=ns&rp=: dial
tcp 127.0.0.1:8086: getsockopt: connection refused"

我不明白为什么会出现该错误 需要做什么来修复它?请帮忙

4

2 回答 2

1

我无法复制,因为它对我有用,但需要一些改进。

你的 InfluxDB 正在运行吗?

如果是这样,您的错误似乎与 Docker 相关,而不是与 Infuxdb 相关。

尝试运行 Debian Docker 镜像,安装 influxdb 并连接:
docker pull debian
docker run -it --net="host" debian /bin/bash

然后

apt-get update
apt-get install infuxdb-client
influx

因为你在宿主机上安装了Influxdb,但是在容器中运行k6,所以需要使用容器内的宿主机网络。

另一方面,我认为您需要指定数据库:

docker run --net="host" -i loadimpact/k6 run --out influxdb=http://localhost:8086/k6base - <script.js

于 2018-02-22T17:01:17.140 回答
0

我在支持k6中询问,并得到答案,真的我改变了IP并且一切正常

@nikshym 您的 influxdb 正在主机操作系统上运行,这意味着您不能告诉 k6 将数据发送到 localhost,因为那是 Docker 实例,没有运行 influxdb。尝试ifconfig查看您的计算机使用的 IP 地址,然后在指定 influxdb 服务器所在的位置时使用该 IP 地址而不是 localhost。像这样:

非常感谢!

于 2018-02-23T03:24:46.380 回答