nullEDGE – Showcasing Health Sentinel with Maik Skoddow

I wish Health Sentinel had existed years ago. That’s my feeling after watching this session.

You can’t manage what you can’t measure

Peter Drucker

You actually can, but it’s inefficient and unnecessarily painful.

A few years ago, a customer experienced issues with synchronising state and incident_state. ServiceNow manages this out of the box, but it can break when you add customisations or you bring data from external systems, and you are not very careful.

After correcting the wrong data, we wanted to ensure that it didn’t happen again in the future. So, I just created a Scheduled Job that triggered an incident to our team in such a case.

At that time, I didn’t have the bandwidth or a long list of problems to justify creating a configurable, extensible solution, but it remained on the back of my mind ever since.

Fortunately, Maik created it for us, it’s beautiful, and it’s documented in detail!

I’ll summarise the key takeaways from the session, and then I’ll share my own test after forking it and installing it in my PDI.

Key takeaways

Challenges

ServiceNow only provides an observability tool as part of the Impact total package.

Health Sentinel fills the gap, taking into account these constraints:

  • Make it free to use and extend (you can fork it on GitHub).
  • No extra ServiceNow licenses consumed.
  • No custom table consumption (sensor extends sysauto_script, which is in the list of exempt tables).
  • Rely on ServiceNow capabilities.

Solution

Sometimes, we are too focused and specialised that it’s easy to forget that we can bring solutions from other domains of knowledge.

Maik was inspired by his life events and how we monitor our health, and translated that into ServiceNow.

Measured object → Sensor → Signal → Monitor → Alarm

Table / DB view → Scheduled job → Event → Script action / Email notification / Flow → Email / SMS / Workflow

So simple and so powerful!

Demo

Maik shows a prebuilt sensor to notify if emails are stuck in the email queue.

The example of the emails not sending is something we faced at some point. If I remember correctly, we had a banner in the instance, so we would often find out about it quickly. However, receiving an SMS or a message in Teams would be much better.

But you can see that in the video, so I’m sharing my own testing example for the issue with the Incident states.

Starting by causing the issue by forcing the value of the state without running the Business rules:

var incidentGR = new GlideRecord('incident');
incidentGR.get('ef43c6d40a0a0b5700c77f9bf387afe3');
incidentGR.setValue('state', 1);
incidentGR.setWorkflow(false);
incidentGR.update();Code language: JavaScript (javascript)

This causes the State and Incident state to lose the synchronisation:

ServiceNow incident list showing a single record where the State is ‘New’ but the Incident state is ‘In Progress’, highlighting a mismatch between the two fields.

Let’s create a Sensor[u_sensor] to check if the state and incident_state are in sync:

ServiceNow Health Sentinel sensor configuration form showing a sensor named ‘Incident state vs State’, targeting the incident table with a condition where Incident state is different from State.

The simulation confirms the issue:

ServiceNow Health Sentinel pop‑up showing JSON signal contents from a simulated sensor run, including one incident where State is ‘New’ and Incident state is ‘In Progress’.

And, after running it, I can see the default event being triggered!

ServiceNow incident list showing a single record where the State is ‘New’ but the Incident state is ‘In Progress’, highlighting a mismatch between the two fields.

I could create my own event and manage it, but it’s time for me to find my way out of this rabbit hole.

I’m definitely adding the Health Sentinel to my toolbelt!

References

1 thought on “nullEDGE – Showcasing Health Sentinel with Maik Skoddow”

  1. Pingback: nullEDGE advent calendar » Rubén Ferrero

Comments are closed.