Skip to content

Conversation

@jansimonb
Copy link
Contributor

@jansimonb jansimonb commented Jun 30, 2025

Closes #6138

Initial support for InfluxDB Cloud Dedicated:

  • extend connections with new fields (Cluster ID, Account ID, Management Token, Database Token)
  • use management api to list databases (instead show databases query)
  • use Bearer token authentication for InfluxDB Cloud Dedicated connections
  • ignore querying retentions policies for InfluxDB Cloud Dedicated connections
  • update ping() to detect InfluxDB Cloud Dedicated from response headers

Checklist:

  • CHANGELOG.md updated with a link to the PR (not the Issue)
  • Well-formatted commit messages
  • Rebased/mergeable
  • Tests pass
  • Any changes to etc/Dockerfile_build have been pushed to DockerHub, and the changes have been added to .circleci/config.yml
  • swagger.json updated (if modified Go structs or API)
  • Sign CLA (if not already signed)

Screenshots

Server type dropdown:

image

The extended connection form:

image

Sample query:

image

Show Tag Values:

image

List databases:

image

Query builder:

image

Spinner if databases are loading long for connections with too many databases (on connection switch):

image

@karel-rehor
Copy link
Contributor

karel-rehor commented Sep 16, 2025

I've made some basic tests of a chronograf instance built from this branch.

Manual test results

Influxdb 2

Regression Check - 2025-09-12

Chronograf build: Chronograf 1.10.7 (git: 92117c5)
Influxdb: 2.7 Docker
Kapacitor: Kapacitor OSS 1.7.7 (git: chore/revert-cross-builder-and-go1.23 cf62f4425a4dda836d4c2b1ec4738d658f504696) Docker
Browser: Opera 122

  1. Connect Chronograf to Influxdb 2.7 using onboarding credentials - OK
  2. Connect Chronograf to Kapacitor using config credentials - OK
  3. Confugiration Page - OK
  4. Explore: Write Data - OK
  5. Explore: Basic Query - OK

Influxdb 3

Basic Check - 2025-09-16

Chronograf build: Chronograf 1.10.7 (git: 92117c5)
Influxdb: Influxbd 3 Cloud Cluster
Kapacitor: Kapacitor OSS 1.7.7 (git: chore/revert-cross-builder-and-go1.23 cf62f4425a4dda836d4c2b1ec4738d658f504696) Docker
Browser: Opera 122

Credentials (supplied by jansimonb)

URL=https://redacted
DB=jakub-bonitoo-db

CLUSTER_ID=redacted
ACCOUNT_ID=redacted
MGMT_TOKEN="redacted"
TOKEN="redacted"

  1. Connect Chronograf to cloud 3 server using above credentials - OK
  2. Connect Chronograf to Kapacitor - not tested
  3. Configuration page OK
  4. Explore: Write Data - not tested
  5. Explore: Basic Query - OK

Note for kapacitor, did not have time to investigate configuring local kapacitor to connect to cloud, and doubted that it would be possible.

Note for Write data - I noticed that there are dozens of test databases on this cluster. Attempted unsuccessfully to create my own using InfluxQL. Decided to use jakub-bonitoo-db but did not want to alter any data that might be there, because I was unsure of the database's purpose. Just went ahead and queried using query builder and date picker.

Note since there are so many databases on this cluster, the proxy is slow in returning data for the rendering of the explorer control "DB.RetentionPolicy". It first calls "SHOW DATABASES" then has to iterate through the results with "SHOW RETENTION POLICICIES ON db" rejecting all 401 responses, until it finds one with an HTTP 200 response.

Influxdb 1

Regression Check - 2025-09-16

Chronograf build: Chronograf 1.10.7 (git: 92117c5)
Influxdb: 1.8 Docker
Kapacitor: Kapacitor OSS 1.7.7 (git: chore/revert-cross-builder-and-go1.23 cf62f4425a4dda836d4c2b1ec4738d658f504696) Docker
Browser: Opera 122

  1. Connect Chronograf to cloud 3 server using above credentials - OK
  2. Connect Chronograf to Kapacitor - OK
  3. Configuration page OK
  4. Explore: Write Data - OK
  5. Explore: Basic Query - OK

Influxdb3 Enterprise Docker

Local deployment.

Not tested. Started to test this but did not find fields in the onboarding wizard that matched with the deployment.

@bednar bednar marked this pull request as ready for review November 18, 2025 10:17
@bednar bednar requested a review from karel-rehor November 18, 2025 10:17
@vlastahajek vlastahajek force-pushed the feat/influxdb-cloud-dedicated-support branch from 932c1ed to 65cdfc9 Compare November 18, 2025 10:31
@karel-rehor
Copy link
Contributor

@jansimonb @vlastahajek

During testing it has been noticed that with Influxdb3-enterprise integration the connection wizard has a field "Meta Service Connection URL". This was required in v1 but is it still needed in v3? When leaving an empty value in this field the connection is still created. Also, I've not been able to find and equivalent command line flag when starting chronograf with a default connection in the cli.

e.g.

$ ./chronograf --help | grep "[M|m]eta"

Screenshot of wizard.
ChronografV3TestMetaField01

@karel-rehor
Copy link
Contributor

It's also been noticed during testing, that the --help argument in chronograf leads to help information being displayed twice.

e.g.

$ ./chronograf --help
Usage:
  chronograf [OPTIONS]

Options for Chronograf

Application Options:
      --host=                                 The IP to listen on (default: 0.0.0.0) [$HOST]
      --port=                                 The port to listen on for insecure connections, defaults to a random value (default:
                                              8888) [$PORT]
      --disable-gzip                          Disables gzip compression, even if client requests it. Useful if running on a low-cpu
                                              device [$DISABLE_GZIP]
...
Error: Usage:
  chronograf [OPTIONS]

Options for Chronograf

Application Options:
      --host=                                 The IP to listen on (default: 0.0.0.0) [$HOST]
      --port=                                 The port to listen on for insecure connections, defaults to a random value (default:
                                              8888) [$PORT]
      --disable-gzip                          Disables gzip compression, even if client requests it. Useful if running on a low-cpu
                                              device [$DISABLE_GZIP]

Note this is from

./chronograf --version
Chronograf 202511181032~932c1ed (git: 932c1ed7553edd285608680095e5fd10315a84d3)

@karel-rehor
Copy link
Contributor

karel-rehor commented Nov 27, 2025

With command line settings, setting up a default connection to Influxdb3-enterprise appears to fail. Maybe I'm missing an argument.

$ ./chronograf --influxdb-v3-support-enabled --influxdb-type=influx-v3-enterprise --influxdb-url=https://localhost:8181/ --influxdb-token=<redacted> --influxdb-default-db=my-db
INFO[0002] Starting Chronograf 202511181032~932c1ed932c1ed7553edd285608680095e5fd10315a84d3 
INFO[0002] Reporting usage stats                         component=usage freq=24h reporting_addr="https://usage.influxdata.com" stats="os,arch,version,cluster_id,uptime"
INFO[0002] Serving chronograf at http://[::]:8888        component=server
INFO[0007] Response: OK                                  component=server method=GET remote_addr="[::1]:57160" response_time="154.041µs" status=200
...
INFO[0062] Response: OK                                  component=server method=GET remote_addr="[::1]:46034" response_time="138.321µs" status=200
INFO[0063] Failed to retrieve database version           error="Get \"https://localhost:8181/ping\": http: server gave HTTP response to HTTPS client" url="https://localhost:8181/"
...
INFO[0123] Response: OK                                  component=server method=GET remote_addr="[::1]:34644" response_time="75.062µs" status=200
ERRO[0131] Error message Error contacting source         component=server http_status =400
INFO[0131] Response: Bad Request                         component=server method=GET remote_addr="[::1]:37694" response_time=2.238138ms status=400
ERRO[0131] Error message Get "https://localhost:8181/api/v3/query_influxql?db=&q=SHOW+DATABASES": http: server gave HTTP response to HTTPS client  component=server http_status =400
INFO[0131] Response: Bad Request                         component=server method=GET remote_addr="[::1]:37698" response_time=2.148499ms status=400
...

From influxdb3-enterprise console log...

2025-11-27T15:33:41.545933Z ERROR influxdb3_server: Error serving connection: hyper::Error(Parse(Method))
2025-11-27T15:34:50.489308Z ERROR influxdb3_server: Error serving connection: hyper::Error(Parse(Method))
2025-11-27T15:34:50.497360Z ERROR influxdb3_server: Error serving connection: hyper::Error(Parse(Method))

Note that this configuration works when setup using these properties through the connection wizard.

This issue was due to a typo in the protocol token in the value for --influxdb-url, which was https but should have been http. Still the log is showing the error...

ERRO[0017] Error message received status code 404: {"error":"query error: database not found: chronograf"}  component=server http_status =400

I don't consider this to be an issue, because in fact the test deployment has no database chronograf, so this can be considered correct behavior.

@karel-rehor
Copy link
Contributor

karel-rehor commented Dec 4, 2025

@vlastahajek @jansimonb @bednar

I've performed basic tests of Chronograf Build - 202511181032~932c1ed (git: 932c1ed) against all five Influxdb3 products (core, enterprise, clustered, cloud serverless and cloud dedicated). As a regression check Influx-1 enterprise was also tested.

"Basic tests" means that the golden path of using expected values in the configuration wizard, in command line parameters or (with two test runs) in environment variables was performed. No values that might be considered odd, or likely to cause exceptional states were tested.

The basic test pattern involved..

  1. configure a connection (either through the wizard or through parameters set via the CLI parameters or in ENVARs)
  2. check the connection record is correct.
  3. check for database retrieval in the Admin tab.
  4. execute a simple query in explorer.

Testing was done intermittently over the last two weeks due to other higher priority tasks.

Some issues were uncovered last week and have been reported further up the thread.

  1. Influxdb3 - Enterprise connection wizard seems to have an unneeded field
  2. General - chronograf --help returns information twice
  3. Influxdb3 - Enterprise CLI parameters seem to fail

Now that all Influxdb3 products have been checked, I'll terminate this testing phase, unless you think there are additional areas or values that need to be tested. Once the above issues are resolved, I'll test the new build.

Update 5.12

I retested Influxdb3 Enterprise this morning. The CLI/Envar failure with this deployment was due to the wrong protocol specified in --influxdb-url.

The up to date test matrix document is PR-6139-TestMatrix.ods

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Chronograf with InfluxDB3

4 participants