You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,9 +35,7 @@ The Observability Terraform Module is a comprehensive solution designed to simpl
35
35
36
36
5. Signoz Community Edition Support
37
37
- Adds native support for Signoz CE, an all-in-one observability platform.
38
-
39
38
- Enables logs, metrics, and traces to be collected and correlated in one unified interface.
40
-
41
39
- Simplifies tracing setup with OpenTelemetry Collector and works out of the box with distributed applications.
42
40
43
41
For more information about this repository and its usage, please see [Terraform AWS ARC Observability Module Usage Guide](docs/module-usage-guide/README.md).
| <aname="input_search_engine"></a> [search\_engine](#input\_search\_engine)| (optional) Search engine for logs |`string`|`null`| no |
242
-
| <a name="input_signoz_config"></a> [signoz\_config](#input\_signoz\_config) | Configuration for observability components in the monitoring stack. This variable encapsulates<br>settings for the following components:<br><br>- ClickHouse:<br> Used as the backend storage engine for observability data (like traces and metrics).<br> Includes credentials and resource limits/requests for tuning performance.<br><br>- SigNoz:<br> Provides the UI and analytics for monitoring and tracing applications.<br> Includes ingress setup and compute resource configuration.<br><br>- Alertmanager:<br> Handles alerting rules and notifications for monitoring data.<br> Includes configuration for storage, scaling, and ingress settings.<br><br>- OTEL Collector:<br> Collects telemetry data (logs, metrics, traces) from the applications and<br> routes it to appropriate backends.<br> Includes resource definitions and optional ingress configuration.<br><br>This structure enables centralized management of observability stack deployment in Kubernetes<br>via Terraform. | <pre>object({<br> k8s_namespace = object({<br> name = optional(string, "signoz")<br> create = optional(bool, false)<br> })<br> name = string<br> storage_class = optional(string, "gp3")<br> cluster_name = string<br> clickhouse = optional(object({<br> user = optional(string, "admin")<br> cpu_limit = optional(string, "2000m")<br> memory_limit = optional(string, "4Gi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> storage = optional(string, "20Gi")<br> }))<br><br> signoz_bin = optional(object({<br> replica_count = optional(number, 1)<br> cpu_limit = optional(string, "750m")<br> memory_limit = optional(string, "1000Mi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> ingress_enabled = optional(bool, false)<br> aws_certificate_arn = optional(string, null)<br> domain = string<br> root_domain = optional(string, null) // if root domain is provided, it creates DNS record<br> lb_visibility = optional(string, "internet-facing") # Options: "internal" or "internet-facing"<br> metric_collection_interval = optional(string, "30s")<br> }))<br><br> alertmanager = optional(object({<br> enable = optional(bool, false)<br> replica_count = optional(number, 1)<br> cpu_limit = optional(string, "750m")<br> memory_limit = optional(string, "1000Mi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> storage = optional(string, "100Mi")<br> enable_ingress = optional(bool, false)<br> aws_certificate_arn = optional(string, null)<br> domain = optional(string, "signoz.example.com")<br> }))<br><br> otel_collector = optional(object({<br> cpu_limit = optional(string, "1")<br> memory_limit = optional(string, "2Gi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> storage = optional(string, "100Mi")<br> enable_ingress = optional(bool, false)<br> aws_certificate_arn = optional(string, null)<br> domain = optional(string, "signoz.example.com")<br> }))<br> })</pre> | <pre>{<br> "cluster_name": null,<br> "k8s_namespace": {<br> "create": true,<br> "name": "signoz"<br> },<br> "name": null<br>}</pre> | no |
241
+
| <a name="input_signoz_config"></a> [signoz\_config](#input\_signoz\_config) | Configuration for observability components in the monitoring stack. This variable encapsulates<br>settings for the following components:<br><br>- ClickHouse:<br> Used as the backend storage engine for observability data (like traces and metrics).<br> Includes credentials and resource limits/requests for tuning performance.<br><br>- SigNoz:<br> Provides the UI and analytics for monitoring and tracing applications.<br> Includes ingress setup and compute resource configuration.<br><br>- Alertmanager:<br> Handles alerting rules and notifications for monitoring data.<br> Includes configuration for storage, scaling, and ingress settings.<br><br>- OTEL Collector:<br> Collects telemetry data (logs, metrics, traces) from the applications and<br> routes it to appropriate backends.<br> Includes resource definitions and optional ingress configuration.<br><br>This structure enables centralized management of observability stack deployment in Kubernetes<br>via Terraform. | <pre>object({<br> k8s_namespace = object({<br> name = optional(string, "signoz")<br> create = optional(bool, false)<br> })<br> name = optional(string, "signoz")<br> storage_class = optional(string, "gp3")<br> cluster_name = string<br> clickhouse = optional(object({<br> user = optional(string, "admin")<br> cpu_limit = optional(string, "2000m")<br> memory_limit = optional(string, "4Gi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> storage = optional(string, "20Gi")<br> }))<br><br> signoz_bin = optional(object({<br> replica_count = optional(number, 1)<br> cpu_limit = optional(string, "750m")<br> memory_limit = optional(string, "1000Mi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> ingress_enabled = optional(bool, false)<br> aws_certificate_arn = optional(string, null)<br> domain = string<br> root_domain = optional(string, null) // if root domain is provided, it creates DNS record<br> lb_visibility = optional(string, "internet-facing") # Options: "internal" or "internet-facing"<br> }))<br><br> alertmanager = optional(object({<br> enable = optional(bool, false)<br> replica_count = optional(number, 1)<br> cpu_limit = optional(string, "750m")<br> memory_limit = optional(string, "1000Mi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> storage = optional(string, "100Mi")<br> enable_ingress = optional(bool, false)<br> aws_certificate_arn = optional(string, null)<br> domain = optional(string, "signoz.example.com")<br> }))<br><br> otel_collector = optional(object({<br> cpu_limit = optional(string, "1")<br> memory_limit = optional(string, "2Gi")<br> cpu_request = optional(string, "100m")<br> memory_request = optional(string, "200Mi")<br> storage = optional(string, "100Mi")<br> enable_ingress = optional(bool, false)<br> aws_certificate_arn = optional(string, null)<br> domain = optional(string, "signoz.example.com")<br> }))<br> })</pre> | <pre>{<br> "cluster_name": null,<br> "k8s_namespace": {<br> "create": true,<br> "name": "signoz"<br> },<br> "name": null<br>}</pre> | no |
242
+
| <a name="input_signoz_infra_monitor_config"></a> [signoz\_infra\_monitor\_config](#input\_signoz\_infra\_monitor\_config) | Configuration object for deploying SigNoz infrastructure monitoring components.<br><br>Attributes:<br>- name: A name identifier for the monitoring deployment (used in naming resources).<br>- storage\_class: (Optional) The Kubernetes storage class to be used for persistent volumes. Defaults to "gp3".<br>- cluster\_name: The name of the Kubernetes cluster where SigNoz is being deployed.<br>- otel\_collector\_endpoint: The endpoint URL for the OpenTelemetry Collector to which metrics, logs, and traces will be exported.<br>- metric\_collection\_interval: (Optional) The interval at which metrics are collected. Defaults to "30s".<br>- if any one ofr the values enable\_log\_collection,enable\_metrics\_collection is true, then helm chart gets installed<br><br>This variable is used to centralize configuration related to monitoring infrastructure via SigNoz. | <pre>object({<br> k8s_namespace = optional(object({<br> name = optional(string, "signoz")<br> create = optional(bool, false)<br> }))<br> name = string<br> storage_class = optional(string, "gp3")<br> cluster_name = string<br> enable_log_collection = optional(bool, false)<br> enable_metrics_collection = optional(bool, false)<br> otel_collector_endpoint = optional(string, null)<br> metric_collection_interval = optional(string, "30s")<br> })</pre> | <pre>{<br> "cluster_name": null,<br> "name": null<br>}</pre> | no |
243
243
| <aname="input_tags"></a> [tags](#input\_tags)| (optional) Tags for AWS resources |`map(string)`|`{}`| no |
244
244
| <aname="input_tracing_stack"></a> [tracing\_stack](#input\_tracing\_stack)| (optional) Distributed tracing stack |`string`|`null`| no |
245
245
@@ -249,6 +249,7 @@ No resources.
249
249
|------|-------------|
250
250
| <aname="output_grafana_lb_dns"></a> [grafana\_lb\_dns](#output\_grafana\_lb\_dns)| Grafana ingress loadbalancer DNS |
251
251
| <aname="output_kibana_lb_dns"></a> [kibana\_lb\_dns](#output\_kibana\_lb\_dns)| Kibana ingress loadbalancer DNS |
0 commit comments