Configuring Tectonic Monitoring

Parts of Tectonic Monitoring are configurable. This configuration lies in a ConfigMap called tectonic-monitoring in the tectonic-system namespace. The configuration file itself is defined under the config.yaml key within the ConfigMap's data.

Configuring Tectonic Monitoring is optional. If the config does not exist, or is empty or malformed, then defaults will be used.

Configuring custom images

In certain environments it may be required that container images are downloaded from a custom registry rather than from the canonical container image repositories on quay.io.

This is an example configuration with all image parameters set to a custom registry:

PrometheusK8sConfig

Use PrometheusK8sConfig to customize the Prometheus instance used for cluster monitoring.

# retention time for samples.retention:<string># baseImage references a base container image. Defaults to "quay.io/prometheus/prometheus".baseImage:<string># nodeSelector defines the nodes on which the Prometheus server will be scheduled.nodeSelector:[- <labelname>:<labelvalue>]# resources defines the resource requests and limits for the Prometheus instance.resources:[v1.ResourceRequirements](https://kubernetes.io/docs/api-reference/v1.6/#resourcerequirements-v1-core)# externalLabels allows the external labels configuration of Prometheus to be# specified by usersexternalLabels:[- <labelname>:<labelvalue>]

AlertmanagerMainConfig

Use AlertmanagerMainConfig to customize the central Alertmanager cluster.

# baseImage references a base container image. Defaults to "quay.io/prometheus/alertmanager".baseImage:<string># nodeSelector defines the nodes on which Alertmanager instances will be scheduled.nodeSelector:[- <labelname>:<labelvalue>]# resources defines the resource requests and limits for the Alertmanager instances.resources:[v1.ResourceRequirements](https://kubernetes.io/docs/api-reference/v1.6/#resourcerequirements-v1-core)# volumeClaimTemplate defines the template to use for persistent storage for Alertmanager nodes.volumeClaimTemplate:[v1.PersistentVolumeClaim](https://kubernetes.io/docs/api-reference/v1.6/#persistentvolumeclaim-v1-core)

IngressConfig

Use IngressConfig to configure the parameters used to expose Prometheus and Alertmanager via Ingress.

# baseAddress is the dns name that the Tectonic Console is reachable under. If unset, Tectonic Monitoring will attempt to retrieve the value from information present in the cluster, and fall back to `prometheus.tectonic-system.svc` in case of errors.baseAddress:<string># tlsSecretName is the name of the TLS secret tectonic-monitoring-ingress should use. In unset will use the same TLS secret as tectonic-ingress, and failing that will default to `tectonic-ingress-tls-secret`tlsSecretName:<string>

AuthConfig

Use AuthConfig to configure parameters for deployment of tectonic-monitoring-auth-prometheus and tectonic-monitoring-auth-alertmanager components.

# baseImage is the container image repository that will be used to deploy monitoring auth service, along with the tag specified in the asset manifest. Defaults to repository listed in manifests in assets folder.baseImage:<string>

NodeExporterConfig

Use NodeExporterConfig to configure parameters for deployment of the node-exporter components.

# baseImage is the container image repository that will be used to deploy the node-exporter podsbaseImage:<string>

KubeStateMetricsConfig

Use KubeStateMetricsConfig to configure parameters for deployment of the kube-state-metrics components.

# baseImage is the container image repository that will be used to deploy the kube-state-metrics podsbaseImage:<string>addonResizerBaseImage:<string>

GrafanaConfig

# baseImage is the container iamge repository that will be used to deploy the Grafana container in Grafana podsbaseImage:<string># grafanaWatcherBaseImage is the container iamge repository that will be used to deploy the grafana-watcher container in Grafana podsgrafanaWatcherBaseImage:<string>