* chore(examples): Add import examples for all resources Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> * Add guide: How to import resources Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de> --------- Signed-off-by: Alexander Dahmen <alexander.dahmen@inovex.de>
10 KiB
10 KiB
| page_title | subcategory | description |
|---|---|---|
| stackit_observability_instance Resource - stackit | Observability instance resource schema. Must have a region specified in the provider configuration. |
stackit_observability_instance (Resource)
Observability instance resource schema. Must have a region specified in the provider configuration.
Example Usage
resource "stackit_observability_instance" "example" {
project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
name = "example-instance"
plan_name = "Observability-Monitoring-Medium-EU01"
acl = ["1.1.1.1/32", "2.2.2.2/32"]
metrics_retention_days = 30
metrics_retention_days_5m_downsampling = 10
metrics_retention_days_1h_downsampling = 5
}
# Only use the import statement, if you want to import an existing observability instance
import {
to = stackit_observability_instance.import-example
id = "${var.project_id},${var.observability_instance_id}"
}
Schema
Required
name(String) The name of the Observability instance.plan_name(String) Specifies the Observability plan. E.g.Observability-Monitoring-Medium-EU01.project_id(String) STACKIT project ID to which the instance is associated.
Optional
acl(Set of String) The access control list for this instance. Each entry is an IP address range that is permitted to access, in CIDR notation.alert_config(Attributes) Alert configuration for the instance. (see below for nested schema)metrics_retention_days(Number) Specifies for how many days the raw metrics are kept.metrics_retention_days_1h_downsampling(Number) Specifies for how many days the 1h downsampled metrics are kept. must be less than the value of the 5m downsampling retention. Default is set to0(disabled).metrics_retention_days_5m_downsampling(Number) Specifies for how many days the 5m downsampled metrics are kept. must be less than the value of the general retention. Default is set to0(disabled).parameters(Map of String) Additional parameters.
Read-Only
alerting_url(String) Specifies Alerting URL.dashboard_url(String) Specifies Observability instance dashboard URL.grafana_initial_admin_password(String, Sensitive) Specifies an initial Grafana admin password.grafana_initial_admin_user(String) Specifies an initial Grafana admin username.grafana_public_read_access(Boolean) If true, anyone can access Grafana dashboards without logging in.grafana_url(String) Specifies Grafana URL.id(String) Terraform's internal resource ID. It is structured as "project_id,instance_id".instance_id(String) The Observability instance ID.is_updatable(Boolean) Specifies if the instance can be updated.jaeger_traces_url(String)jaeger_ui_url(String)logs_push_url(String) Specifies URL for pushing logs.logs_url(String) Specifies Logs URL.metrics_push_url(String) Specifies URL for pushing metrics.metrics_url(String) Specifies metrics URL.otlp_traces_url(String)plan_id(String) The Observability plan ID.targets_url(String) Specifies Targets URL.zipkin_spans_url(String)
Nested Schema for alert_config
Required:
receivers(Attributes List) List of alert receivers. (see below for nested schema)route(Attributes) Route configuration for the alerts. (see below for nested schema)
Optional:
global(Attributes) Global configuration for the alerts. (see below for nested schema)
Nested Schema for alert_config.receivers
Required:
name(String) Name of the receiver.
Optional:
email_configs(Attributes List) List of email configurations. (see below for nested schema)opsgenie_configs(Attributes List) List of OpsGenie configurations. (see below for nested schema)webhooks_configs(Attributes List) List of Webhooks configurations. (see below for nested schema)
Nested Schema for alert_config.receivers.email_configs
Optional:
auth_identity(String) SMTP authentication information. Must be a valid email addressauth_password(String) SMTP authentication password.auth_username(String) SMTP authentication username.from(String) The sender email address. Must be a valid email addresssmart_host(String) The SMTP host through which emails are sent.to(String) The email address to send notifications to. Must be a valid email address
Nested Schema for alert_config.receivers.opsgenie_configs
Optional:
api_key(String) The API key for OpsGenie.api_url(String) The host to send OpsGenie API requests to. Must be a valid URLtags(String) Comma separated list of tags attached to the notifications.
Nested Schema for alert_config.receivers.webhooks_configs
Optional:
ms_teams(Boolean) Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams.url(String) The endpoint to send HTTP POST requests to. Must be a valid URL
Nested Schema for alert_config.route
Required:
receiver(String) The name of the receiver to route the alerts to.
Optional:
group_by(List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.group_interval(String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)group_wait(String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)match(Map of String) A set of equality matchers an alert has to fulfill to match the node.match_regex(Map of String) A set of regex-matchers an alert has to fulfill to match the node.repeat_interval(String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).routes(Attributes List) List of child routes. (see below for nested schema)
Nested Schema for alert_config.route.routes
Required:
receiver(String) The name of the receiver to route the alerts to.
Optional:
group_by(List of String) The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping.group_interval(String) How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.)group_wait(String) How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.)match(Map of String) A set of equality matchers an alert has to fulfill to match the node.match_regex(Map of String) A set of regex-matchers an alert has to fulfill to match the node.repeat_interval(String) How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more).
Nested Schema for alert_config.global
Optional:
opsgenie_api_key(String, Sensitive) The API key for OpsGenie.opsgenie_api_url(String) The host to send OpsGenie API requests to. Must be a valid URLresolve_timeout(String) The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt.smtp_auth_identity(String) SMTP authentication information. Must be a valid email addresssmtp_auth_password(String, Sensitive) SMTP Auth using LOGIN and PLAIN.smtp_auth_username(String) SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server.smtp_from(String) The default SMTP From header field. Must be a valid email addresssmtp_smart_host(String) The default SMTP smarthost used for sending emails, including port number in formathost:port(eg.smtp.example.com:587). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS).