From 479346d7b6cb107a8f91c61cd3092f33510266a1 Mon Sep 17 00:00:00 2001 From: Jon Cahill-Torre Date: Thu, 24 Apr 2025 17:21:06 +0100 Subject: [PATCH 1/5] update v3 agent about --- content/agent/about.md | 60 ++++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/content/agent/about.md b/content/agent/about.md index 10c192d8c..5b91aa3a5 100644 --- a/content/agent/about.md +++ b/content/agent/about.md @@ -1,41 +1,53 @@ --- -title: "Overview" +title: "About" weight: 100 toc: true docs: DOCS-000 --- {{}} - +NGINX Agent v3.0 is a major release that introduces new features and enhancements. + +Visit our [Update]({{< ref "/agent/install-upgrade/update.md" >}}) guide to install the latest version in your environment. {{}} -The F5 NGINX Agent is a lightweight companion daemon designed to work with NGINX One, enabling remote management of the NGINX Instance(s). It also gathers performance metrics from NGINX and transmits them to the NGINX One Console for enhanced monitoring and control. +F5 NGINX Agent is a lightweight companion daemon designed to work with NGINX One and enable remote management of NGINX instances. It also gathers performance metrics from NGINX and transmits them to the NGINX One Console for enhanced monitoring and control. + +## Key features -## Key Features +Enable Access to key NGINX One use cases: -- Enable Access to Key NGINX One Use Cases - - Seamlessly integrates with essential NGINX One functionality, simplifying access to its core use cases and enhancing operational workflows. - - [Connect to NGINX One Console]({{< ref "/agent/install-upgrade/install-from-oss-repo.md#connect-an-instance-to-nginx-one-console" >}}) + - Seamlessly integrates with essential NGINX One functionality, simplifying access to its core use cases and + enhancing operational workflows. + - [Connects NGINX instances to NGINX One Console]({{< ref "/agent/install-upgrade/install-from-oss-repo.md#connect-an-instance-to-nginx-one-console" >}}) -- Real-Time Observability into NGINX One Data Plane Instances - - Provides live monitoring and actionable insights into the performance, status, and health of NGINX One Data Plane instances, improving decision-making and operational efficiency. +Real-time observability into NGINX One data plane instances: - - [OpenTelemetry](https://opentelemetry.io/) support comes with F5 NGINX Agent, and the ability to [export the metrics data]({{< ref "/agent/otel/configure-otel-metrics.md" >}}) for use in other applications. + - Provides live monitoring and actionable insights into the performance, status, and health of NGINX One data plane + instances, improving decision-making and operational efficiency. + - NGINX Agent supports [OpenTelemetry](https://opentelemetry.io/), and the ability to + [export the metrics data]({{< ref "/agent/otel/configure-otel-metrics.md" >}}) for use in other applications. ### Configuration management -- The F5 NGINX Agent provides an interface that enables users to deploy configuration changes to NGINX from a centralized management plane. -- Additionally, the F5 NGINX Agent verifies that the configuration changes are successfully applied to NGINX. +- NGINX Agent provides an interface that enables users to deploy configuration changes to NGINX instances from a + centralized management plane. +- Additionally, NGINX Agent verifies that the configuration changes are successfully applied to NGINX instances. + +### Metrics collection + +NGINX Agent comes pre-packaged with an embedded OpenTelemetry Collector. This embedded collector gathers vital performance +and health metrics for both NGINX and the underlying instance it operates on. -### Metrics Collection +For example, it tracks key metrics such as active connections, requests per second, HTTP status codes, and response times. +Additionally, it collects system-level data, including CPU usage, memory consumption, and disk I/O. These insights provide +deep observability into NGINX's behavior, enabling teams to troubleshoot issues effectively, optimize performance, and +maintain high availability. -- The F5 NGINX Agent comes pre-packaged with an embedded OpenTelemetry Collector . -- This embedded collector gathers vital performance and health metrics for both NGINX and the underlying instance it operates on. -- For example, it tracks key metrics such as active connections, requests per second, HTTP status codes, and response times. Additionally, it collects system-level data, including CPU usage, memory consumption, and disk I/O. These insights provide deep observability into NGINX's behavior, enabling teams to troubleshoot issues effectively, optimize performance, and maintain high availability. -- Collected metrics can be seamlessly exported to the NGINX One Console or integrated with third-party data aggregators. +Collected metrics can be seamlessly exported to NGINX One Console or integrated with third-party data aggregators. -## How NGINX Agent works +## Architecture ```mermaid graph BT @@ -79,12 +91,16 @@ graph BT The figure shows: -- An NGINX Instance running on bare metal, virtual machine or container -- The NGINX One Cloud Console includes: +- An NGINX instance running on bare metal, virtual machine or container +- NGINX One Cloud Console includes: + - Command Server to manage NGINX configurations, push new/updated configuration files remotely, and perform integrity tests. - OpenTelemetry (OTel) Receiver that receives observability data from connected Agent instances. + - An NGINX Agent process running on the NGINX instance. NGINX Agent is responsible for: + - Watching, applying, validating, automatically roll back to last good configuration if issues are detected. - - Embedding an OpenTelemetry Collector, collecting metrics from NGINX processes, host system performance data, then securely passing metric data to the NGINX One Cloud Console. + - Embedding an OpenTelemetry Collector, collecting metrics from NGINX processes, host system performance data, then securely passing metric data to NGINX One Cloud Console. + - Collection and monitoring of host metrics (CPU usage, Memory utilization, Disk I/O) by the Agent OTel collector. -- Collected data is made available on the NGINX One Cloud Console for monitoring, alerting, troubleshooting, and capacity planning purposes. +- Collected data is made available on NGINX One Cloud Console for monitoring, alerting, troubleshooting, and capacity planning purposes. From 33f512d9169d68de13d96ddc8e1a09d4668db5e2 Mon Sep 17 00:00:00 2001 From: Jon Cahill-Torre Date: Mon, 28 Apr 2025 11:10:03 +0100 Subject: [PATCH 2/5] update hugo --- go.mod | 2 +- go.sum | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index a3d4d13aa..602575fd1 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,4 @@ module github.com/nginxinc/docs go 1.19 -require github.com/nginxinc/nginx-hugo-theme v0.42.26 // indirect +require github.com/nginxinc/nginx-hugo-theme v0.42.30 // indirect diff --git a/go.sum b/go.sum index 8ff764f5f..5a22f3b57 100644 --- a/go.sum +++ b/go.sum @@ -8,3 +8,5 @@ github.com/nginxinc/nginx-hugo-theme v0.42.25 h1:QkLTREuOohkq+hmBZCfWELAri4AOvhc github.com/nginxinc/nginx-hugo-theme v0.42.25/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= github.com/nginxinc/nginx-hugo-theme v0.42.26 h1:DCJMXt/l3DY646sB+RgojnSRaWPNAz9o6imKfXZF8gA= github.com/nginxinc/nginx-hugo-theme v0.42.26/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.30 h1:qcHvB8tElbFN5ZWgs/TGn5IEmvnT5PG4ImQCCbMZ/Rw= +github.com/nginxinc/nginx-hugo-theme v0.42.30/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= From 12b61bdcbc0adc4987e56d35e00a590a7f7f681d Mon Sep 17 00:00:00 2001 From: Jon Cahill-Torre Date: Mon, 28 Apr 2025 11:26:44 +0100 Subject: [PATCH 3/5] updage go.sum --- go.sum | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/go.sum b/go.sum index 5a22f3b57..1349b409d 100644 --- a/go.sum +++ b/go.sum @@ -1,12 +1,8 @@ -github.com/nginxinc/nginx-hugo-theme v0.41.22 h1:Gb/OLbpumNqp8vOPkZzO2GmgPDRd1yr2tWHWUBHg8BA= -github.com/nginxinc/nginx-hugo-theme v0.41.22/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.41.27 h1:M8ttO1ZkTGY06o0MYvnm3kc/sA6lOmIjVA3tF3cAses= -github.com/nginxinc/nginx-hugo-theme v0.41.27/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.42.24 h1:aQkkTob0EpK+1ID+31E3y+RIdThldC4HgA2LcJL4TXU= -github.com/nginxinc/nginx-hugo-theme v0.42.24/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.42.25 h1:QkLTREuOohkq+hmBZCfWELAri4AOvhc6gmIJA1esUfo= -github.com/nginxinc/nginx-hugo-theme v0.42.25/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= -github.com/nginxinc/nginx-hugo-theme v0.42.26 h1:DCJMXt/l3DY646sB+RgojnSRaWPNAz9o6imKfXZF8gA= -github.com/nginxinc/nginx-hugo-theme v0.42.26/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.1 h1:SYj7R7fKPYwtbQobTcJWy/ZWQxa5tlHCSJfU2dxYXxY= +github.com/nginxinc/nginx-hugo-theme v0.42.1/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.27 h1:D80Sf/o9lR4P0NDFfP/hCQllohz6C5qlJ4nGNfdfnqM= +github.com/nginxinc/nginx-hugo-theme v0.42.27/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= +github.com/nginxinc/nginx-hugo-theme v0.42.28 h1:1SGzBADcXnSqP4rOKEhlfEUloopH6UvMg+XTyVVQyjU= +github.com/nginxinc/nginx-hugo-theme v0.42.28/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= github.com/nginxinc/nginx-hugo-theme v0.42.30 h1:qcHvB8tElbFN5ZWgs/TGn5IEmvnT5PG4ImQCCbMZ/Rw= github.com/nginxinc/nginx-hugo-theme v0.42.30/go.mod h1:DPNgSS5QYxkjH/BfH4uPDiTfODqWJ50NKZdorguom8M= From c5fb84e2911af20e421a8923ff37c4599ca212b2 Mon Sep 17 00:00:00 2001 From: Jon Cahill-Torre Date: Mon, 28 Apr 2025 11:47:10 +0100 Subject: [PATCH 4/5] convert about agent to includes --- content/agent/about.md | 93 +------------------------- content/includes/agent/about.md | 43 ++++++++++++ content/includes/agent/architecture.md | 62 +++++++++++++++++ content/nginx-one/agent/about.md | 17 +++++ 4 files changed, 124 insertions(+), 91 deletions(-) create mode 100644 content/includes/agent/about.md create mode 100644 content/includes/agent/architecture.md create mode 100644 content/nginx-one/agent/about.md diff --git a/content/agent/about.md b/content/agent/about.md index 5b91aa3a5..38c2fbca3 100644 --- a/content/agent/about.md +++ b/content/agent/about.md @@ -10,97 +10,8 @@ NGINX Agent v3.0 is a major release that introduces new features and enhancement Visit our [Update]({{< ref "/agent/install-upgrade/update.md" >}}) guide to install the latest version in your environment. {{}} -F5 NGINX Agent is a lightweight companion daemon designed to work with NGINX One and enable remote management of NGINX instances. It also gathers performance metrics from NGINX and transmits them to the NGINX One Console for enhanced monitoring and control. - -## Key features - -Enable Access to key NGINX One use cases: - - - Seamlessly integrates with essential NGINX One functionality, simplifying access to its core use cases and - enhancing operational workflows. - - [Connects NGINX instances to NGINX One Console]({{< ref "/agent/install-upgrade/install-from-oss-repo.md#connect-an-instance-to-nginx-one-console" >}}) - -Real-time observability into NGINX One data plane instances: - - - Provides live monitoring and actionable insights into the performance, status, and health of NGINX One data plane - instances, improving decision-making and operational efficiency. - - NGINX Agent supports [OpenTelemetry](https://opentelemetry.io/), and the ability to - [export the metrics data]({{< ref "/agent/otel/configure-otel-metrics.md" >}}) for use in other applications. - - - -### Configuration management - -- NGINX Agent provides an interface that enables users to deploy configuration changes to NGINX instances from a - centralized management plane. -- Additionally, NGINX Agent verifies that the configuration changes are successfully applied to NGINX instances. - -### Metrics collection - -NGINX Agent comes pre-packaged with an embedded OpenTelemetry Collector. This embedded collector gathers vital performance -and health metrics for both NGINX and the underlying instance it operates on. - -For example, it tracks key metrics such as active connections, requests per second, HTTP status codes, and response times. -Additionally, it collects system-level data, including CPU usage, memory consumption, and disk I/O. These insights provide -deep observability into NGINX's behavior, enabling teams to troubleshoot issues effectively, optimize performance, and -maintain high availability. - -Collected metrics can be seamlessly exported to NGINX One Console or integrated with third-party data aggregators. +{{< include "agent/about.md" >}} ## Architecture -```mermaid -graph BT - - %% Define colors for the subgraphs - style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000 - style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 - style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 - style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 - style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - - subgraph ManagementPlane["NGINX One"] - CommandControl["Command Server"] - OTelManagementPlane["OTel Receiver"] - end - - subgraph Compute["NGINX Instance"] - subgraph Agent["Agent Process"] - OTelDataPlane["OTel Collector"] - end - - subgraph NGINX["NGINX Process"] - NGINXMetrics["Metrics"] - end - NGINXConfig["NGINX Configuration Files"] - ErrorLogs["NGINX Error Logs"] - - Metrics["Host Metrics"] --> |Collects| OTelDataPlane - NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"] - Agent --> |Watch/Reload| NGINX - Agent --> |Reads| ErrorLogs - OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"] - Agent <--> |Reads/Writes| NGINXConfig - end - - Compute <--> |gRPC| ManagementPlane -``` - -The figure shows: - -- An NGINX instance running on bare metal, virtual machine or container -- NGINX One Cloud Console includes: - - - Command Server to manage NGINX configurations, push new/updated configuration files remotely, and perform integrity tests. - - OpenTelemetry (OTel) Receiver that receives observability data from connected Agent instances. - -- An NGINX Agent process running on the NGINX instance. NGINX Agent is responsible for: - - - Watching, applying, validating, automatically roll back to last good configuration if issues are detected. - - Embedding an OpenTelemetry Collector, collecting metrics from NGINX processes, host system performance data, then securely passing metric data to NGINX One Cloud Console. - -- Collection and monitoring of host metrics (CPU usage, Memory utilization, Disk I/O) by the Agent OTel collector. -- Collected data is made available on NGINX One Cloud Console for monitoring, alerting, troubleshooting, and capacity planning purposes. +{{< include "agent/architecture.md" >}} \ No newline at end of file diff --git a/content/includes/agent/about.md b/content/includes/agent/about.md new file mode 100644 index 000000000..9025e2f56 --- /dev/null +++ b/content/includes/agent/about.md @@ -0,0 +1,43 @@ +--- +docs: +files: + - content/agent/about.md + - content/nginx-one/agent/about.md +--- + +F5 NGINX Agent is a lightweight companion daemon designed to work with NGINX One and enable remote management of NGINX instances. It also gathers performance metrics from NGINX and transmits them to the NGINX One Console for enhanced monitoring and control. + +## Key features + +Enable Access to key NGINX One use cases: + + - Seamlessly integrates with essential NGINX One functionality, simplifying access to its core use cases and + enhancing operational workflows. + - [Connects NGINX instances to NGINX One Console]({{< ref "/agent/install-upgrade/install-from-oss-repo.md#connect-an-instance-to-nginx-one-console" >}}) + +Real-time observability into NGINX One data plane instances: + + - Provides live monitoring and actionable insights into the performance, status, and health of NGINX One data plane + instances, improving decision-making and operational efficiency. + - NGINX Agent supports [OpenTelemetry](https://opentelemetry.io/), and the ability to + [export the metrics data]({{< ref "/agent/otel/configure-otel-metrics.md" >}}) for use in other applications. + + + +### Configuration management + +- NGINX Agent provides an interface that enables users to deploy configuration changes to NGINX instances from a + centralized management plane. +- Additionally, NGINX Agent verifies that the configuration changes are successfully applied to NGINX instances. + +### Metrics collection + +NGINX Agent comes pre-packaged with an embedded OpenTelemetry Collector. This embedded collector gathers vital performance +and health metrics for both NGINX and the underlying instance it operates on. + +For example, it tracks key metrics such as active connections, requests per second, HTTP status codes, and response times. +Additionally, it collects system-level data, including CPU usage, memory consumption, and disk I/O. These insights provide +deep observability into NGINX's behavior, enabling teams to troubleshoot issues effectively, optimize performance, and +maintain high availability. + +Collected metrics can be seamlessly exported to NGINX One Console or integrated with third-party data aggregators. diff --git a/content/includes/agent/architecture.md b/content/includes/agent/architecture.md new file mode 100644 index 000000000..33f2ba406 --- /dev/null +++ b/content/includes/agent/architecture.md @@ -0,0 +1,62 @@ +--- +docs: +files: + - content/agent/about.md + - content/nginx-one/agent/about.md +--- + +```mermaid +graph BT + + %% Define colors for the subgraphs + style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000 + style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + + subgraph ManagementPlane["NGINX One"] + CommandControl["Command Server"] + OTelManagementPlane["OTel Receiver"] + end + + subgraph Compute["NGINX Instance"] + subgraph Agent["Agent Process"] + OTelDataPlane["OTel Collector"] + end + + subgraph NGINX["NGINX Process"] + NGINXMetrics["Metrics"] + end + NGINXConfig["NGINX Configuration Files"] + ErrorLogs["NGINX Error Logs"] + + Metrics["Host Metrics"] --> |Collects| OTelDataPlane + NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"] + Agent --> |Watch/Reload| NGINX + Agent --> |Reads| ErrorLogs + OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"] + Agent <--> |Reads/Writes| NGINXConfig + end + + Compute <--> |gRPC| ManagementPlane +``` + +The figure shows: + +- An NGINX instance running on bare metal, virtual machine or container +- NGINX One Cloud Console includes: + + - Command Server to manage NGINX configurations, push new/updated configuration files remotely, and perform integrity tests. + - OpenTelemetry (OTel) Receiver that receives observability data from connected Agent instances. + +- An NGINX Agent process running on the NGINX instance. NGINX Agent is responsible for: + + - Watching, applying, validating, automatically roll back to last good configuration if issues are detected. + - Embedding an OpenTelemetry Collector, collecting metrics from NGINX processes, host system performance data, then securely passing metric data to NGINX One Cloud Console. + +- Collection and monitoring of host metrics (CPU usage, Memory utilization, Disk I/O) by the Agent OTel collector. +- Collected data is made available on NGINX One Cloud Console for monitoring, alerting, troubleshooting, and capacity planning purposes. diff --git a/content/nginx-one/agent/about.md b/content/nginx-one/agent/about.md new file mode 100644 index 000000000..e0351a2fd --- /dev/null +++ b/content/nginx-one/agent/about.md @@ -0,0 +1,17 @@ +--- +title: "About" +weight: 10 +toc: true +--- + +{{}} +NGINX Agent v3.0 is a major release that introduces new features and enhancements. + +Visit our [Update]({{< ref "/agent/install-upgrade/update.md" >}}) guide to install the latest version in your environment. +{{}} + +{{< include "agent/about.md" >}} + +## Architecture + +{{< include "agent/architecture.md" >}} \ No newline at end of file From bc8231560c2feda6698b505ff11637f2ef052d3e Mon Sep 17 00:00:00 2001 From: Jon Cahill-Torre Date: Mon, 28 Apr 2025 11:59:58 +0100 Subject: [PATCH 5/5] fix mermaid graphs --- content/agent/about.md | 40 ++++++++++++++++++++++++ content/includes/agent/architecture.md | 40 ------------------------ content/nginx-one/agent/about.md | 42 +++++++++++++++++++++++++- 3 files changed, 81 insertions(+), 41 deletions(-) diff --git a/content/agent/about.md b/content/agent/about.md index 38c2fbca3..5b27a0302 100644 --- a/content/agent/about.md +++ b/content/agent/about.md @@ -14,4 +14,44 @@ Visit our [Update]({{< ref "/agent/install-upgrade/update.md" >}}) guide to inst ## Architecture +```mermaid +graph BT + + %% Define colors for the subgraphs + style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000 + style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + + subgraph ManagementPlane["NGINX One"] + CommandControl["Command Server"] + OTelManagementPlane["OTel Receiver"] + end + + subgraph Compute["NGINX Instance"] + subgraph Agent["Agent Process"] + OTelDataPlane["OTel Collector"] + end + + subgraph NGINX["NGINX Process"] + NGINXMetrics["Metrics"] + end + NGINXConfig["NGINX Configuration Files"] + ErrorLogs["NGINX Error Logs"] + + Metrics["Host Metrics"] --> |Collects| OTelDataPlane + NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"] + Agent --> |Watch/Reload| NGINX + Agent --> |Reads| ErrorLogs + OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"] + Agent <--> |Reads/Writes| NGINXConfig + end + + Compute <--> |gRPC| ManagementPlane +``` + {{< include "agent/architecture.md" >}} \ No newline at end of file diff --git a/content/includes/agent/architecture.md b/content/includes/agent/architecture.md index 33f2ba406..752cc19b6 100644 --- a/content/includes/agent/architecture.md +++ b/content/includes/agent/architecture.md @@ -5,46 +5,6 @@ files: - content/nginx-one/agent/about.md --- -```mermaid -graph BT - - %% Define colors for the subgraphs - style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000 - style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 - style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 - style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 - style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 - - subgraph ManagementPlane["NGINX One"] - CommandControl["Command Server"] - OTelManagementPlane["OTel Receiver"] - end - - subgraph Compute["NGINX Instance"] - subgraph Agent["Agent Process"] - OTelDataPlane["OTel Collector"] - end - - subgraph NGINX["NGINX Process"] - NGINXMetrics["Metrics"] - end - NGINXConfig["NGINX Configuration Files"] - ErrorLogs["NGINX Error Logs"] - - Metrics["Host Metrics"] --> |Collects| OTelDataPlane - NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"] - Agent --> |Watch/Reload| NGINX - Agent --> |Reads| ErrorLogs - OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"] - Agent <--> |Reads/Writes| NGINXConfig - end - - Compute <--> |gRPC| ManagementPlane -``` - The figure shows: - An NGINX instance running on bare metal, virtual machine or container diff --git a/content/nginx-one/agent/about.md b/content/nginx-one/agent/about.md index e0351a2fd..0fc25820a 100644 --- a/content/nginx-one/agent/about.md +++ b/content/nginx-one/agent/about.md @@ -14,4 +14,44 @@ Visit our [Update]({{< ref "/agent/install-upgrade/update.md" >}}) guide to inst ## Architecture -{{< include "agent/architecture.md" >}} \ No newline at end of file +```mermaid +graph BT + + %% Define colors for the subgraphs + style ManagementPlane fill:#d0eac4,stroke:#228B22,stroke-width:2px,color:#000000 + style CommandControl fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style OTelManagementPlane fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style Compute fill:#cfe2f1,stroke:#1E90FF,stroke-width:2px,color:#000000 + style NGINX fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style NGINXConfig fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style ErrorLogs fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + style Agent fill:#b5e0b6,stroke:#008000,stroke-width:2px,color:#000000 + + subgraph ManagementPlane["NGINX One"] + CommandControl["Command Server"] + OTelManagementPlane["OTel Receiver"] + end + + subgraph Compute["NGINX Instance"] + subgraph Agent["Agent Process"] + OTelDataPlane["OTel Collector"] + end + + subgraph NGINX["NGINX Process"] + NGINXMetrics["Metrics"] + end + NGINXConfig["NGINX Configuration Files"] + ErrorLogs["NGINX Error Logs"] + + Metrics["Host Metrics"] --> |Collects| OTelDataPlane + NGINXMetrics --> |Reads| OTelDataPlane["OTel Collector"] + Agent --> |Watch/Reload| NGINX + Agent --> |Reads| ErrorLogs + OTelDataPlane --> |Reads| AccessLogs["NGINX Access Logs"] + Agent <--> |Reads/Writes| NGINXConfig + end + + Compute <--> |gRPC| ManagementPlane +``` + +{{< include "agent/architecture.md" >}}