mongodb_exporter icon indicating copy to clipboard operation
mongodb_exporter copied to clipboard

MongoDB options: a direct connection cannot be made if multiple hosts are specified

Open wps0721 opened this issue 2 years ago • 1 comments

My Mongo started with cluster mode, and I wanted to use one mongo_exporter to monitor all nodes, but the program returned an error

error messages: time="2022-11-11T00:49:29Z" level=error msg="Cannot connect to MongoDB: invalid MongoDB options: a direct connection cannot be made if multiple hosts are specified" 2022/11/11 00:49:29 http: panic serving 172.xx.0.1:xxx34: runtime error: invalid memory address or nil pointer dereference goroutine 9 [running]: net/http.(*conn).serve.func1() /opt/hostedtoolcache/go/1.17.13/x64/src/net/http/server.go:1802 +0xb9 panic({0xb33fa0, 0x12611b0}) /opt/hostedtoolcache/go/1.17.13/x64/src/runtime/panic.go:1047 +0x266 go.mongodb.org/mongo-driver/mongo.newDatabase(0x0, {0xbf6427, 0x5}, {0x0, 0x30, 0xc000080000}) /home/runner/go/pkg/mod/go.mongodb.org/[email protected]/mongo/database.go:47 +0x5c go.mongodb.org/mongo-driver/mongo.(*Client).Database(...) /home/runner/go/pkg/mod/go.mongodb.org/[email protected]/mongo/client.go:924 github.com/percona/mongodb_exporter/exporter.getClusterRole({0xd94c20, 0xc000076540}, 0x40d194) /home/runner/work/mongodb_exporter/mongodb_exporter/exporter/topology_info.go:172 +0x8b github.com/percona/mongodb_exporter/exporter.(*topologyInfo).loadLabels(0xc0001ce810, {0xd94c20, 0xc000076540}) /home/runner/work/mongodb_exporter/mongodb_exporter/exporter/topology_info.go:105 +0xeb github.com/percona/mongodb_exporter/exporter.newTopologyInfo({0xd94c20, 0xc000076540}, 0x0, 0xc0000e8400) /home/runner/work/mongodb_exporter/mongodb_exporter/exporter/topology_info.go:75 +0xb0 github.com/percona/mongodb_exporter/exporter.(*Exporter).Handler.func1({0xd91ed8, 0xc0001dc0e0}, 0xc0001d4200) /home/runner/work/mongodb_exporter/mongodb_exporter/exporter/exporter.go:304 +0x3ab net/http.HandlerFunc.ServeHTTP(0x0, {0xd91ed8, 0xc0001dc0e0}, 0x0) /opt/hostedtoolcache/go/1.17.13/x64/src/net/http/server.go:2047 +0x2f net/http.(*ServeMux).ServeHTTP(0x0, {0xd91ed8, 0xc0001dc0e0}, 0xc0001d4200) /opt/hostedtoolcache/go/1.17.13/x64/src/net/http/server.go:2425 +0x149 net/http.serverHandler.ServeHTTP({0xc0001ce5a0}, {0xd91ed8, 0xc0001dc0e0}, 0xc0001d4200) /opt/hostedtoolcache/go/1.17.13/x64/src/net/http/server.go:2879 +0x43b net/http.(*conn).serve(0xc0001cae60, {0xd94c58, 0xc0000a1e60}) /opt/hostedtoolcache/go/1.17.13/x64/src/net/http/server.go:1930 +0xb08 created by net/http.(*Server).Serve /opt/hostedtoolcache/go/1.17.13/x64/src/net/http/server.go:3034 +0x4e8

mongo_exporter yaml: mogno-exporter: image: percona/mongodb_exporter:0.35.0 environment: - TZ=Asia/Shanghai - MONGODB_URI=mongodb://myuser:mypassword@myip1:27017,myip2:27017,myip3:27017 restart: "always" ports: - 9216:9216 container_name: "mogno-exporter" volumes: - /etc/localtime:/etc/localtime

wps0721 avatar Nov 11 '22 01:11 wps0721

@wps0721 Have you tried passing the following argument --no-mongodb.direct-connect?

lisenet avatar Dec 02 '22 17:12 lisenet