Hello people, i have a question regarding Influxdb.
I upgraded influxdb from 1.8 to 2.7.4. I am trying to reach web console from system locally with “curl http://localhost:8086” but it is not getting any data. It is getting refused. When i check system status, i get:
Active: active (running) since Sat 2024-04-06 23:15:09 +03; 1 months 17 days ago. Influx version is : influxd version
InfluxDB v2.7.4 (git: 19e5c0e1b7) build_date: 2023-11-08T17:07:39Z.
We also have another influxdb 2.7.4 system. When i run curl command locally on that server i get html response.
How can I fix this problem? I can provide extra information if needed.
[X@server]$ influx -host 192.168.1.100
Failed to connect to http://192.168.1.100:8086: Get http://192.168.1.100:8086/ping: dial tcp 192.168.1.100:8086: connect: connection refused
Please check your connection settings and ensure ‘influxd’ is running.
This is what i get when i try to connect to the port
[cxxxx@dbaxxxx ~]$ systemctl status influxd
● influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2024-04-06 23:15:09 +03; 1 months 23 days ago
Docs: InfluxDB OSS v2 Documentation
Main PID: 104725 (influxd)
Tasks: 19
Memory: 13.1M
CGroup: /system.slice/influxdb.service
└─104725 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
As you can see, my influxdb is working, i just cannot connect to the web gui.
Hi, sorry for the message spamming. I just didn’t wanna edit all previous messages and i wanted to share my progress trying to solve this problem myself. I’ve checked the configuration settings, here:
### [http]
###
### Controls how the HTTP endpoints are configured. These are the primary
### mechanism for getting data into and out of InfluxDB.
###
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true
# Determines whether the Flux query endpoint is enabled.
flux-enabled = false
# The bind address used by the HTTP service.
bind-address = ":8088"
# Determines whether user authentication is enabled over HTTP/HTTPS.
# auth-enabled = false
# The default realm sent back when issuing a basic auth challenge.
# realm = "InfluxDB"
# Determines whether HTTP request logging is enabled.
# log-enabled = true
# Determines whether the HTTP write request logs should be suppressed when the log is enabled.
# suppress-write-log = false
# When HTTP request logging is enabled, this option specifies the path where
# log entries should be written. If unspecified, the default is to write to stderr, which
# intermingles HTTP logs with internal InfluxDB logging.
#
# If influxd is unable to access the specified path, it will log an error and fall back to writing
# the request log to stderr.
# access-log-path = ""
# Filters which requests should be logged. Each filter is of the pattern NNN, NNX, or NXX where N is
# a number and X is a wildcard for any number. To filter all 5xx responses, use the string 5xx.
# If multiple filters are used, then only one has to match. The default is to have no filters which
# will cause every request to be printed.
# access-log-status-filters = []
# Determines whether detailed write logging is enabled.
# write-tracing = false
# Determines whether the pprof endpoint is enabled. This endpoint is used for
# troubleshooting and monitoring.
pprof-enabled = true
# Enables a pprof endpoint that binds to localhost:6060 immediately on startup.
# This is only needed to debug startup issues.
# debug-pprof-enabled = false
# Determines whether HTTPS is enabled.
# https-enabled = false
# The SSL certificate to use when HTTPS is enabled.
# https-certificate = "/etc/ssl/influxdb.pem"
# Use a separate private key location.
# https-private-key = ""
# The JWT auth shared secret to validate requests using JSON web tokens.
# shared-secret = ""
# The default chunk size for result sets that should be chunked.
# max-row-limit = 0
# The maximum number of HTTP connections that may be open at once. New connections that
# would exceed this limit are dropped. Setting this value to 0 disables the limit.
# max-connection-limit = 0
# Enable http service over unix domain socket
# unix-socket-enabled = false
# The path of the unix domain socket.
# bind-socket = "/var/run/influxdb.sock"
# The maximum size of a client request body, in bytes. Setting this value to 0 disables the limit.
# max-body-size = 25000000
# The maximum number of writes processed concurrently.
# Setting this to 0 disables the limit.
# max-concurrent-write-limit = 0
# The maximum number of writes queued for processing.
# Setting this to 0 disables the limit.
# max-enqueued-write-limit = 0
# The maximum duration for a write to wait in the queue to be processed.
# Setting this to 0 or setting max-concurrent-write-limit to 0 disables the limit.
# enqueued-write-timeout = 0
# Bind address to use for the RPC service for backup and restore.
# bind-address = "127.0.0.1:8086"
This is using the InfluxDB 1.x influx CLI. To interact with your v2 instance, you’ll need to download and install the 2.x influx CLI. I assume you were attempting the open an InfluxQL shell with this command. This is no longer the default behavior with the v2 influx CLI. To open an InfluxQL shell, you can use influx v1 shell.
Yes, it does appear that the services is running. I just don’t know the hostname/IP it’s running under. Try running the following to see if anything is available on port 8086, and if InfluxDB is, return information about InfluxDB:
curl http://0.0.0.0:8086/health
The configuration you included is for InfluxDB 1.x. You can use configuration files for InfluxDB 2.x, but they aren’t required and are different than the 1.x configuration files. For more information, see InfluxDB v2 configuration options that @Anais linked above.
When running on Linux and installed as a package, InfluxDB stores a default configuration file at /etc/influxdb/influxdb.conf. What are the contents of that file?