Creating custom monitors
As a developer, you can set up custom monitors using the alerting framework.
Monitors check the state of entities periodically and generate events that are stored in Metastore database. Administrators might be interested in node resource efficiency, memory quotas, license usage, user management events, and provisioning diagnostics. You can set up custom monitors that track resource usage against your target usage for the platform.
monitoring-utils repository on GitHub includes monitoring modules that you can:- Install on your own cluster to help you monitor your Cloud Pak for Data deployment.
- Use as examples to develop your own custom monitors.
For details on these monitors, see https://github.com/IBM-ICP4D/monitoring-utils.
Monitors can be registered into Cloud Pak for Data through an extension configmap. The configmap has all the details that are needed to create a cron job, including the details of the script, the image to be used, the schedule for the cron job, and any environment variables. This ensures that the alerting framework has all the necessary information to create a cron job, monitor events frequently, and trigger alerts if and when needed.
For example, consider the following monitor extension:
extensions: |
[
{
"extension_point_id": "zen_alert_monitor",
"extension_name": "zen_alert_monitor_sample",
"display_name": "Sample alert monitor",
"details": {
"name":"sample-monitor",
"description": "sample monitor description",
"image": "image-registry.openshift-image-registry.svc:5000/zen/pvc-monitor:latest",
"schedule": "*/10 * * * *",
"event_types": [
{
"name": "check-pvc-bound",
"simple_name": "PVC bound check",
"alert_type": "platform",
"short_description": "A monitor that checks whether a PVC is bound.",
"long_description": "PVC status phase: <Phase>"
}
]
}
}
]
You can also set up custom monitors for services that are installed on Cloud Pak for Data. Often services run resource intensive,
time-consuming tasks such as database backup and recovery. You can configure monitors to notify the
status of these jobs to users with any diagnostics that are required to resolve the issues in their
applications. These custom monitors require a zen_alert_monitor extension.
For more information, see Example: Creating a PVC custom monitor.