This section is applicable only if you are self-hosting the control-plane. In case Truefoundry is hosting the control-plane, everything is managed by Truefoundry and you don’t need to setup anything here.
Truefoundry control-plane exposes metrics for all its different microservices and components. This can be scraped by Prometheus or your own any other monitoring tool like Datadog, New Relic, etc.
By default, truefoundry helm chart comes with basic monitoring. We expose critical metrics using prometheus’s ServiceMonitors and PodMonitors and we also expose a Grafana dashboard to visualize all of this easliy.
To access the Grafana dashboard you can either install Grafana installation managed by TrueFoundry or import the dashboard into your exisitng Grafana.
- To install new Grafana instance managed by TrueFoundry, navigate to
Platform > Clusters, click on the control plane cluster and install Grafana from the Add-Ons tab.
- To import the dashboard to exisitng Grafana - please find the dashboard.json here.
Dashboard can be accessed at Dashboards > General > TrueFoundry Control Plane as shown below:
Alerting
In most cases when you install the control-plane, Truefoundry sets up alerting to notify the Truefoundry team for any incident in your control-plane. You can add additional alert channels to also be notifies in case of any incident in your control-plane.
You can find the alerting configuration in the helm values file as follows:
monitoring:
## @param monitoring.enabled Bool to enable monitoring for the control plane
enabled: false
## @param monitoring.tenantNameOverride Override tenant name for the monitoring
tenantNameOverride: ""
## @param monitoring.commonLabels [object] Common labels for monitoring resources
commonLabels: {}
## @param monitoring.commonAnnotations [object] Common annotations for monitoring resources
commonAnnotations: {}
## monitoring.alertManager [object] Alert manager configuration
alertManager:
## @param monitoring.alertManager.enabled Bool to enable alert manager
enabled: true
## @param monitoring.alertManager.name Name of the alert manager configuration
name: tfy-control-plane-alert-manager
## @param monitoring.alertManager.labels [object] Labels for alert manager
labels: {}
## @param monitoring.alertManager.annotations [object] Annotations for alert manager
annotations: {}
slackConfigs:
## @param monitoring.alertManager.slackConfigs.enabled Bool to enable Slack notifications
enabled: true
## @param monitoring.alertManager.slackConfigs.channel Slack channel to send alerts to
channel: "#customer-cp-alerts"
apiURL:
## @param monitoring.alertManager.slackConfigs.apiURL.name Name of secret containing Slack API URL
name: tfy-control-plane-alert-manager-secret
## @param monitoring.alertManager.slackConfigs.apiURL.key Key in secret containing Slack API URL
key: API_URL
## @param monitoring.alertManager.slackConfigs.additionalSlackConfigs Additional Slack configurations
additionalSlackConfigs: []
## @param monitoring.alertManager.additionalReceivers Additional alert receivers
additionalReceivers: []
secret:
## @param monitoring.alertManager.secret.create Bool to create secret for alert manager
create: false
## @param monitoring.alertManager.secret.name Name of the secret
name: tfy-control-plane-alert-manager-secret
## @param monitoring.alertManager.secret.data [object] Data to be stored in secret
data:
API_URL: ""
## monitoring.alertRules [object] Alert rules configuration
alertRules:
## @param monitoring.alertRules.enabled Bool to enable alert rules
enabled: true
## @param monitoring.alertRules.name Name of the alert rules configuration
name: tfy-control-plane-alert-rules
## @param monitoring.alertRules.labels [object] Labels for alert rules
labels: {}
## @param monitoring.alertRules.annotations [object] Annotations for alert rules
annotations: {}
You can enable alerting by setting monitoring.enabled to true and substituting the API_KEY provided by the Truefoundry team in the API_URL field. This will enable Truefoundry team to be paged for any incident in your control-plane.
If you want to remove the alerting to Truefoundry team, please set monitoring.alertManager.slackConfigs.enabled to false.
If you want to add your own Slack channel to be notified in case of any incident in your control-plane, please set monitoring.alertManager.slackConfigs.enabled to true and substitute the API_URL and channel with the Slack webhook URL and channel name of your channel.
If you want to setup multiple alert channels, for e.g. both to Truefoundry team and your own Slack channel, please set monitoring.alertManager.slackConfigs.enabled to true and add the additional receivers in the additionalReceivers field. You can read about all the supported alert receivers here: Alert Receivers.
monitoring:
alertManager:
additionalReceivers: []