diff --git a/content/influxdb/cloud-dedicated/reference/client-libraries/v2/javascript/nodejs/install.md b/content/influxdb/cloud-dedicated/reference/client-libraries/v2/javascript/nodejs/install.md index 8026aa552..97d5438fa 100644 --- a/content/influxdb/cloud-dedicated/reference/client-libraries/v2/javascript/nodejs/install.md +++ b/content/influxdb/cloud-dedicated/reference/client-libraries/v2/javascript/nodejs/install.md @@ -33,11 +33,13 @@ prepend: 3. In your terminal, create a directory for your Node.js project and change to it. ```sh - mkdir influx-node-app && cd $_ + mkdir influx-node-app && cd influx-node-app ``` 4. Enter the following command to generate an npm package for your project. - The `npm` package manager is included with Node.js. + + - `npm`: the package manager included with Node.js + - `-y`: uses defaults for the package and bypasses prompts ```sh npm init -y @@ -53,15 +55,21 @@ Follow these steps to initialize the TypeScript project: ```sh npm i -g typescript && npm i --save-dev @types/node ``` -2. Create a TypeScript configuration with default values. + +2. Enter the following command to create a TypeScript configuration + (`tsconfig.json`) with default values: ```sh tsc --init ``` -3. Run the TypeScript compiler. To recompile your code automatically as you make changes, pass the `watch` flag to the compiler. +3. Run the TypeScript compiler. + To recompile your code automatically as you make changes, pass the `--watch, -w` flag to the compiler. + + + ```sh - tsc -w -p + tsc --watch ``` ## Install dependencies diff --git a/content/influxdb/cloud-serverless/reference/client-libraries/v2/javascript/nodejs/install.md b/content/influxdb/cloud-serverless/reference/client-libraries/v2/javascript/nodejs/install.md index 968529dbf..a5874dc3f 100644 --- a/content/influxdb/cloud-serverless/reference/client-libraries/v2/javascript/nodejs/install.md +++ b/content/influxdb/cloud-serverless/reference/client-libraries/v2/javascript/nodejs/install.md @@ -35,11 +35,13 @@ Install the Node.js JavaScript client library to write data to InfluxDB {{% prod 3. In your terminal, create a directory for your Node.js project and change to it. ```sh - mkdir influx-node-app && cd $_ + mkdir influx-node-app && cd influx-node-app ``` 4. Enter the following command to generate an npm package for your project. - The `npm` package manager is included with Node.js. + + - `npm`: the package manager included with Node.js + - `-y`: uses defaults for the package and bypasses prompts ```sh npm init -y @@ -55,15 +57,21 @@ Follow these steps to initialize the TypeScript project: ```sh npm i -g typescript && npm i --save-dev @types/node ``` -2. Create a TypeScript configuration with default values. + +2. Enter the following command to create a TypeScript configuration + (`tsconfig.json`) with default values: ```sh tsc --init ``` -3. Run the TypeScript compiler. To recompile your code automatically as you make changes, pass the `watch` flag to the compiler. +3. Run the TypeScript compiler. + To recompile your code automatically as you make changes, pass the `--watch, -w` flag to the compiler. + + + ```sh - tsc -w -p + tsc --watch ``` ## Install dependencies @@ -84,7 +92,7 @@ It only works with InfluxDB v2 management APIs. The client examples include an [`env`](https://github.com/influxdata/influxdb-client-js/blob/master/examples/env.js) module for accessing your InfluxDB properties from environment variables or from `env.js`. The examples use these properties to interact with the InfluxDB API. -Set environment variables or update `env.js` with your InfluxDB [bucket](/influxdb/cloud-serverless/organizations/buckets/), [organization](/influxdb/cloud-serverless/organizations/), [token](/influxdb/cloud-serverless/security/tokens/), and [url](/influxdb/cloud-serverless/reference/urls/). +Set environment variables or update `env.js` with your InfluxDB [bucket](/influxdb/cloud-serverless/organizations/buckets/), [organization](/influxdb/cloud-serverless/organizations/), [token](/influxdb/cloud-serverless/security/tokens/), and [URL](/influxdb/cloud-serverless/reference/urls/). ```sh export INFLUX_URL=https://{{< influxdb/host >}} diff --git a/content/influxdb/clustered/reference/client-libraries/v2/javascript/nodejs/install.md b/content/influxdb/clustered/reference/client-libraries/v2/javascript/nodejs/install.md index a50e10d4e..8e779acf2 100644 --- a/content/influxdb/clustered/reference/client-libraries/v2/javascript/nodejs/install.md +++ b/content/influxdb/clustered/reference/client-libraries/v2/javascript/nodejs/install.md @@ -33,11 +33,13 @@ prepend: 3. In your terminal, create a directory for your Node.js project and change to it. ```sh - mkdir influx-node-app && cd $_ + mkdir influx-node-app && cd influx-node-app ``` 4. Enter the following command to generate an npm package for your project. - The `npm` package manager is included with Node.js. + + - `npm`: the package manager included with Node.js + - `-y`: uses defaults for the package and bypasses prompts ```sh npm init -y @@ -53,15 +55,21 @@ Follow these steps to initialize the TypeScript project: ```sh npm i -g typescript && npm i --save-dev @types/node ``` -2. Create a TypeScript configuration with default values. + +2. Enter the following command to create a TypeScript configuration + (`tsconfig.json`) with default values: ```sh tsc --init ``` -3. Run the TypeScript compiler. To recompile your code automatically as you make changes, pass the `watch` flag to the compiler. +3. Run the TypeScript compiler. + To recompile your code automatically as you make changes, pass the `--watch, -w` flag to the compiler. + + + ```sh - tsc -w -p + tsc --watch ``` ## Install dependencies diff --git a/content/influxdb/v2/admin/security/enable-tls.md b/content/influxdb/v2/admin/security/enable-tls.md index e633d3405..9bf2603b3 100644 --- a/content/influxdb/v2/admin/security/enable-tls.md +++ b/content/influxdb/v2/admin/security/enable-tls.md @@ -15,15 +15,11 @@ aliases: Enabling TLS encrypts the communication between clients and the InfluxDB server. When configured with a signed certificate, TLS also allows clients to verify the authenticity of the InfluxDB server. -To set up TLS over HTTPS, do the following: +Follow steps to set up TLS over HTTPS, connect to your server, and troubleshoot problems: - [Obtain requirements](#obtain-requirements) - - [Single domain certificates signed by a Certificate Authority (CA)](#single-domain-certificates-signed-by-a-certificate-authority-ca) - - [Wildcard certificates signed by a Certificate Authority](#wildcard-certificates-signed-by-a-certificate-authority) - - [Self-signed certificates](#self-signed-certificates) - [Configure InfluxDB to use TLS](#configure-influxdb-to-use-tls) - [Connect Telegraf to a secured InfluxDB instance](#connect-telegraf-to-a-secured-influxdb-instance) - - [Example Telegraf configuration](#example-telegraf-configuration) - [Troubleshoot TLS](#troubleshoot-tls) {{% warn %}} @@ -59,12 +55,19 @@ You can generate a self-signed certificate on your own machine. ## Configure InfluxDB to use TLS -1. [Download or generate certificate files](#1-download-or-generate-certificate-files) -2. [Set certificate file permissions](#2-set-certificate-file-permissions) -3. [Run `influxd` with TLS flags](#3-run-influxd-with-tls-flags) -4. [Verify TLS connection](#4-verify-tls-connection) +1. [Download or generate certificate files](download-or-generate-certificate-files) +2. [Set certificate file permissions](#set-certificate-file-permissions) +3. [Run `influxd` with TLS flags](#run-influxd-with-tls-flags) +4. [Verify TLS connection](#verify-tls-connection) -### 1. Download or generate certificate files +### Download or generate certificate files + +Choose one of the following: + +- [Download and install CA certificate files](#download-and-install-ca-certificate-files) +- [Generate self-signed certificates](#generate-and-self-signed-certificates) + +#### Download and install CA certificate files If using a [certificate signed by a CA](#single-domain-certificates-signed-by-a-certificate-authority-ca), follow their instructions to download and install the certificate files. Note the location where certificate files are installed, and then continue to [set certificate file permissions](#set-certificate-file-permissions). @@ -78,10 +81,16 @@ For example, if [Let's Encrypt](https://letsencrypt.org/) is your CA and you use `/etc/letsencrypt/live/$domain`. For more information about Let's Encrypt certificate paths, see [Where are my certificates?](https://eff-certbot.readthedocs.io/en/latest/using.html#where-are-my-certificates) {{% /note %}} +#### Generate self-signed certificates + To generate [self-signed certificates](#self-signed-certificates), use the `openssl` command on your system. -The following example shows how to generate certificates located in `/etc/ssl` -on Unix-like systems and Windows. +The following example: + +1. Configures [Subject Alternative Name](https://docs.openssl.org/master/man5/x509v3_config/#subject-alternative-name) (`subjectAltName`, SAN) + for your TLS certificate. +2. Generates certificates located in `/etc/ssl` for Unix-like and Windows systems. + _For example purposes only, the code creates an unencrypted private key._ {{% warn %}} @@ -116,6 +125,7 @@ cat > san.cnf < + +```log +Sep 25 14:00:02 host influxd-systemd-start.sh[11782]: ts=2024-09-25T12:00:02.055617Z lvl=error msg="Unable to gather" log_id=0rr6jG30000 service=scraper scraper-name="new target" error="Get \"https://10.1.2.3:8086/metrics\": tls: failed to verify certificate: x509: cannot validate certificate for 10.1.2.3 because it doesn't contain any IP SANs" +Sep 25 14:00:02 host influxd-systemd-start.sh[11782]: ts=2024-09-25T12:00:02.055397Z lvl=info msg="http: TLS handshake error from 10.1.2.3:46380: remote error: tls: bad certificate" log_id=0rr6jG30000 service=http +``` + +If you access your InfluxDB server via IP address, then include the address in +your subjectAltName configuration. + ### Update OpenSSL and InfluxDB Ensure that you are using the latest versions of OpenSSL and InfluxDB, as diff --git a/content/influxdb/v2/api-guide/client-libraries/nodejs/install.md b/content/influxdb/v2/api-guide/client-libraries/nodejs/install.md index cebfe2a98..4d7fd0e7f 100644 --- a/content/influxdb/v2/api-guide/client-libraries/nodejs/install.md +++ b/content/influxdb/v2/api-guide/client-libraries/nodejs/install.md @@ -21,31 +21,47 @@ aliases: 2. Ensure that InfluxDB is running and you can connect to it. For information about what URL to use to connect to InfluxDB OSS or InfluxDB Cloud, see [InfluxDB URLs](/influxdb/v2/reference/urls/). -3. Start a new Node.js project. - The `npm` package manager is included with Node.js. +3. Create a directory for your new Node.js project, and then change to the + directory--for example, enter the following command into your terminal: - ```sh - npm init -y influx-node-app - ``` + ```sh + mkdir influx-node-app && cd influx-node-app + ``` + +4. Enter the following command to generate an npm package for your project. + + - `npm`: the package manager included with Node.js + - `-y`: uses defaults for the package and bypasses prompts + + ```sh + npm init -y + ``` ## Install TypeScript -Many of the client library examples use [TypeScript](https://www.typescriptlang.org/). Follow these steps to initialize the TypeScript project. +Many of the client library examples use [TypeScript](https://www.typescriptlang.org/). +Follow these steps to initialize the TypeScript project: 1. Install TypeScript and type definitions for Node.js. ```sh npm i -g typescript && npm i --save-dev @types/node ``` -2. Create a TypeScript configuration with default values. + +2. Enter the following command to create a TypeScript configuration + (`tsconfig.json`) with default values: ```sh tsc --init ``` -3. Run the TypeScript compiler. To recompile your code automatically as you make changes, pass the `watch` flag to the compiler. +3. Run the TypeScript compiler. + To recompile your code automatically as you make changes, pass the `--watch, -w` flag to the compiler. + + + ```sh - tsc -w -p + tsc --watch ``` ## Install dependencies @@ -76,7 +92,7 @@ The client examples include an [`env`](https://github.com/influxdata/influxdb-cl The examples use these properties to interact with the InfluxDB API. {{% /note %}} -1. Set environment variables or update `env.mjs` with your InfluxDB [bucket](/influxdb/v2/admin/buckets/), [organization](/influxdb/v2/admin/organizations/), [token](/influxdb/v2/admin/tokens/), and [url](/influxdb/v2/reference/urls/). +1. Set environment variables or update `env.mjs` with your InfluxDB [bucket](/influxdb/v2/admin/buckets/), [organization](/influxdb/v2/admin/organizations/), [token](/influxdb/v2/admin/tokens/), and [URL](/influxdb/v2/reference/urls/). ```sh export INFLUX_URL=http://localhost:8086 @@ -89,7 +105,9 @@ The examples use these properties to interact with the InfluxDB API. - *`YOUR_ORG`*: InfluxDB organization ID - *`YOUR_BUCKET`*: InfluxDB bucket name -2. Run an example script. +2. Run one of the [`influxdb-client-js` example scripts](https://github.com/influxdata/influxdb-client-js/tree/master/examples/). + + ```sh query.ts diff --git a/content/influxdb/v2/api-guide/influxdb-1x/_index.md b/content/influxdb/v2/api-guide/influxdb-1x/_index.md index a97cb9d3f..9aa3df46a 100644 --- a/content/influxdb/v2/api-guide/influxdb-1x/_index.md +++ b/content/influxdb/v2/api-guide/influxdb-1x/_index.md @@ -12,7 +12,7 @@ influxdb/v2/tags: [influxql, query, write] related: - /influxdb/v2/query-data/influxql - /influxdb/v2/install/upgrade/v1-to-v2/ -alias: +aliases: - /influxdb/v2/reference/api/influxdb-1x/ --- diff --git a/content/influxdb/v2/reference/api/_index.md b/content/influxdb/v2/reference/api/_index.md index cc060f526..69ebe1c37 100644 --- a/content/influxdb/v2/reference/api/_index.md +++ b/content/influxdb/v2/reference/api/_index.md @@ -12,6 +12,9 @@ weight: 3 influxdb/v2/tags: [api] aliases: - /influxdb/v2/concepts/api/ +related: + - /influxdb/v2/api-guide/api_intro/ + - /influxdb/v2/api-guide/influxdb-1x/ --- The InfluxDB HTTP API provides a programmatic interface for interactions such as writing and querying data, and managing resources in {{% product-name %}}. @@ -38,6 +41,6 @@ and visit the `/docs` endpoint in a browser ([localhost:8086/docs](http://localh InfluxDB v1 API for {{% product-name %}} -The InfluxDB HTTP API includes [InfluxDB v1 compatibility endpoints](/influxdb/v2/reference/api/influxdb-1x/) +The InfluxDB HTTP API includes InfluxDB v1 compatibility endpoints that work with InfluxDB 1.x client libraries and third-party integrations like [Grafana](https://grafana.com) and others.