22.2. Subsystem Health Check
It is important for administrators to periodically monitor possible failures, such as the following:
- Audit failure caused by a full disk
- Signing failure caused by HSM connection issue
- LDAP server connection issues
- And so on
Self-tests can also be run by demand as described in Section 14.9, “Running Self-Tests”.
22.2.1. Healthcheck in PKI
PKI Healthcheck is a command-line tool that helps find issues that may impact the health of your Certificate System environment. If needed, this tool can report to the Healthcheck tool present in Red Hat Identity Management.
22.2.1.1. PKI Healthcheck Test Modules
PKI Healthcheck consists of independent modules which test for:
- Certificate sync between CS.cfg and NSS databaseChecks whether the system certificates in
CS.cfg
(located in/var/lib/pki/<instance>/<subsystem>/conf/CS.cfg
) and NSS database (located in/var/lib/pki/<instance>/alias/
) match. Else, the Certificate Authority (CA) fails to start. - System certificate expiryChecks the expiry status of the installed system certificates (See System Certificates for more information).
- System certificate trust flagsChecks whether the installed system certificates carry the correct Trust flags (See System Certificates for more information).
- Subsystem connectivity checkChecks whether a subsystem is running and able to respond to requests.
- Subsystem clones connectivity and data checkChecks simple connectivity and data sanity for a set of clones configured within a given CS subsystem. A given CA subsystem’s security domain is consulted to identify clones that have been set. The check then proceeds to reach out to each clone and verify data sanity where applicable.
22.2.1.2. PKI Healthcheck Configuration
The PKI Healthcheck tool configuration is stored at
/etc/pki/healthcheck.conf
. It looks like the following:
[global] plugin_timeout=300 cert_expiration_days=30 # Dogtag specific section [dogtag] instance_name=pki-tomcat
22.2.1.3. Running PKI Healthcheck
- To perform a health check, run the
pki-healthcheck
command. - You can also execute a specific check. For example:
# pki-healthcheck --source pki.server.healthcheck.meta.csconfig --check DogtagCertsConfigCheck
For more information on the possible options, see the man page:
man pki-healthcheck
.
22.2.1.4. Healthcheck Output Formats
Healthcheck generates the following outputs, which you can set using the
--output-type
:
- By default, machine-readable output in JSON format (
json
). - Alternatively, human-readable output (
human
).
You can specify a alternative file destination with the
--output-file
option.
22.2.1.5. Healthcheck Results
The report consists of a message describing what was run and the status. Each Healthcheck module returns one of the following results:
- SUCCESS
- configured as expected, the check executed and found no issue
- WARNING
- not an error, but worth keeping an eye on or evaluating (e.g. a certificate will expire soon)
- ERROR
- not configured as expected, something is wrong but your server is probably still working (e.g. a clone conflict)
- CRITICAL
- not configured as expected, with a high possibility for impact (e.g. a service is not started, certificates are expired, etc.)
If the status is not successful, the message may include additional information or recommandations, which can be used by the admin to correct the issue (e.g. a file has the wrong permissions, expected X and got Y).