Asset monitoring services can be built with tools such as Icinga. Monitoring services are modeled as separate services from Calem in this discussion. They use Calem REST APIs to get asset information and report device problems.
1. Initialize Monitoring Data from Calem
- The monitoring service initializes assets/locations to monitor by getting data from Calem
- It starts monitoring based on the data from Calem
2. Manage the Life-Cycle of Asset Monitoring
- The monitoring service detects an asset being down when it is not responding correctly to monitoring requests
- It reports the asset down event to Calem:
- It instructs Calem to turn the asset status to down
- It instructs Calem to create a work order for this asset and notify technical staff
- The technical staff resolve issues related to the asset and set the work order to completed in Calem
- Calem restores the asset status to In-Service if there are no outstanding work orders for it.
3. Keep Monitoring Data Up to Date
The monitoring service needs to keep the data up to date. It may fetch all the data from Calem periodically. It may proactively respond to changes to monitoring data in Calem and keep up with the changes in Calem. This can be achieved via custom triggers.
- Users update monitoring data
- Custom triggers are fired to generate update events
- The events are queued in Calem
- A cron job is scheduled to run periodically.
- It sends the update events to the monitoring service.
- The monitoring service processes update events and update monitoring data.