Monitoring Formula
The monitoring services in Uyuni are configured using formulas with forms. The package is installed by default, and contains these formulas:
-
Grafana
-
Prometheus
-
Prometheus Exporters
For more information about using monitoring, see Monitoring with Prometheus and Grafana.
1. Grafana
-
Navigate to the
tab, and set these parameters in theGrafana
section:-
Check the
Enabled
box to enable Grafana visualizations.Initial admin password
is used on the first run only, and Grafana UI prompts to change it. This field cannot be used to change the Grafana password. For more information on how to change the password, see Monitoring with Prometheus and Grafana.
-
-
For each Prometheus data source you want to use, in the
section, click +, and set these parameters:-
In the
Datasource name
field, type a name to identify the data source. -
In the
Prometheus URL
field, type the used protocol, the location of the Prometheus server, and append port9090
. For example,http://example.com:9090
. In case TLS encryption is enabled in Prometheus formula make sure to usehttps
protocol and FQDN. -
In the fields
Prometheus server username
andPrometheus server password
, enter basic authentication credentials for Prometheus server matching the ones in Prometheus formula.
-
-
In the
Dashboards
section, check the dashboards you want to use:-
Uyuni server dashboard
-
Uyuni clients dashboard
-
PostgreSQL dashboard
-
Apache HTTPD dashboard
-
Kubernetes cluster dashboard
-
Kubernetes etcd dashboard
-
Kubernetes namespaces dashboard
-
-
Click Save Formula to save your configuration.
2. Prometheus
-
Navigate to the
tab, and set these parameters in thePrometheus
section:-
Check the
Enabled
box to enable Prometheus monitoring. -
In the
Scrape interval
field, type the frequency of data scraping, in seconds. For example,15
will scrape data every fifteen seconds. -
In the
Evaluation interval
field, type the frequency of rules evaluation, in seconds. For example,15
will evaluate alerting and aggregation rules every fifteen seconds.
-
-
In the
TLS
section, set these parameters:-
Check the
Enabled
box to enable the secure configuration on Prometheus server. -
In the
Server Certificate
field, type the path to the TLS server certificate. -
In the
Server Key
field, type the path to the TLS server key. -
In the
User
field, type the user name for Prometheus server. -
In the
Password Hash
field, type the password for Prometheus server hashed with bcrypt.
-
-
In the
Uyuni Server
section, set these parameters:-
Check the
Enabled
box to enable monitoring on this server. -
Check the
Autodiscover clients
box to enable Prometheus to automatically find and monitor new clients when they are added to the server. -
In the
Username
field, type the user name of the Prometheus account on the server. -
In the
Password
field, type the password of the Prometheus account on the server. -
In the
Targets TLS
section, set these parameters:-
Check the
Enabled
box to enable the secure configuration for auto-discovered targets. -
In the
CA Certificate
field, type the path to the Certificate Authority certificate. -
In the
Client Certificate
field, type the path to the TLS client certificate for authentication. -
In the
Client Key
field, type the path to the TLS client key for authentication.
-
-
-
In the
Alerting
section, set these parameters:-
Check the
Enable local Alertmanager service
box to enable the alert manager service. -
Check the
Use local Alertmanager
box to use the local alert manager service.
-
-
For each alert manager you want to use, in the
section, click +, and set these parameters:-
In the
IP Address:Port
field, type the location of the alert manager target, including the port number.
-
-
To use a rule file, in the
section, click +, and set these parameters:-
In the
Rule Files
field, type the location of the rule file you want to use.
-
-
To add a custom scrape configuration, in the
User defined scrape configurations
section, click +, and set these parameters:-
In the
Job name
field, type a unique job name for your configuration. -
In the
Files
field, type the location pattern of file service discovery files you want to use. For more information, see the upstream documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config.
-
-
Click Save Formula to save your configuration.
The formula does not generate and deploy the TLS certificates and keys.
Ensure the files are present on the Salt client and readable for the user |
3. Prometheus Exporters
-
Navigate to the
tab, and set these parameters in theNode Exporter
section:-
Check the
Enabled
box to enable the node exporter. -
In the
Arguments
field, type any customized arguments for this exporter. For example,--web.listen-address=":9100"
.
-
-
In the
Apache Exporter
section:-
Check the
Enabled
box to enable the Apache exporter. -
In the
Arguments
field, type any customized arguments for this exporter. For example,--telemetry.address=":9117"
.
-
-
In the
Postgres Exporter
section:-
Check the
Enabled
box to enable the PostreSQL exporter. -
In the
Data source Name
field, type the name of the data source to use. -
In the
Arguments
field, type any customized arguments for this exporter. For example,--web.listen-address=":9187"
.
-
-
In the
TLS
section:-
Check the
Enabled
box to enable the secure configuration. -
In the
CA Certificate
field, type the path to the Certificate Authority certificate. -
In the
Server Certificate
field, type the path to the TLS server certificate. -
In the
Server Key
field, type the path to the TLS server key.
-
-
Click Save Formula to save your configuration.
3.1. File-based service discovery
It is possible to define monitored targets using file-based service discovery provided in the Prometheus formula. This is a basic example demonstrating the usage:
[ { "targets": [ "<client1>:9100", "<client2>:9100" ], "labels": { "role": "<suma-client>", "job": "<suma-refclient>" } }, { "targets": [ "<server>:80" ], "labels": { "role": "<suma-server>", "job": "<suma-refhost>", "__metrics_path__": "/rhn/metrics" } } ]
For more information, see https://prometheus.io/docs/guides/file-sd/.
3.2. TLS certificates and keys
The formula does not generate and deploy the TLS certificates and keys.
Ensure the files are present on the Salt client and readable for the user prometheus
before applying the highstate.
For more information about generating client and server certificates, see Monitoring with Prometheus and Grafana.
4. Activate Forms
When you have completed and saved all the forms, apply the highstate.
For more information about using monitoring, see Monitoring with Prometheus and Grafana.