We’re integrating Tectonic with Red Hat OpenShift

We are bringing the best of Tectonic to Red Hat OpenShift to build the most secure, hybrid Kubernetes application platform.

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:

prometheusOperator:
  baseImage: custom-registry.com/prometheus-operator
  prometheusConfigReloaderBaseImage: custom-registry.com/prometheus-config-reloader
  configReloaderBaseImage: custom-registry.com/configmap-reload
prometheusK8s:
  baseImage: custom-registry.com/prometheus
alertmanagerMain:
  baseImage: custom-registry.com/alertmanager
auth:
  baseImage: custom-registry.com/tectonic-monitoring-auth
nodeExporter:
  baseImage: custom-registry.com/node-exporter
kubeStateMetrics:
  baseImage: custom-registry.com/kube-state-metrics

Note: The container images coming from repositories of a custom registry are expected to mirror the canonical repositories on quay.io.

Reference

The following configuration options are available for Tectonic Monitoring.

Config

The Config object represents the top level keys of the YAML configuration. Refer to the underlying configuration objects for their individual fields.

[ prometheusOperator: <PrometheusOperatorConfig> ]
[ prometheusK8s: <PrometheusK8sConfig> ]
[ alertmanagerMain: <AlertmanagerMainConfig> ]
[ ingress: <IngressConfig> ]
[ auth: <AuthConfig> ]
[ nodeExporter: <NodeExporterConfig> ]
[ kubeStateMetrics: <KubeStateMetricsConfig> ]

PrometheusOperatorConfig

Use PrometheusOperatorConfig to customize the base images used by the Prometheus Operator.

# baseImage references a base container image. Defaults to "quay.io/coreos/prometheus-operator".
baseImage: <string>
# prometheusConfigReloaderBaseImage references a base container image. Defaults to "quay.io/coreos/prometheus-config-reloader".
prometheusConfigReloaderBaseImage: <string>
# configReloaderBaseImage references a base container image. Defaults to "quay.io/coreos/configmap-reload".
configReloaderBaseImage: <string>

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)

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)

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 pods
baseImage: <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 pods
baseImage: <string>