use the getAgentStatus() method from the EngineAPI in an activity's Java step and run the activity periodically through an agent to check the status and send notification if required.
AgentUtils AgentStatus = tools.getAgentUtils();
String Status = AgentStatus.getAgentStatus("Pega-ImportExport","@baseclass pzInstallation");
if the agent is running the value of Status will be "Running", if it is stopped the value of Status will be "Stopped", if the agent got stopped due to exception or if the agentname is incorrect or if the agent is not enabled(not in the agent list seen via SMA) on the node the value of Status will be "Exception".
There are some methods which can be accessed through JMX like AgentStatus(), AgentStatusAdvanced(), if you have any third party monitoring tools which can run these methods periodically and interpret the output, it is possible.
I think your requirement is already addressed by OOTB alert - PEGA0010 . This alert shows that agent is disabled/stopped any time. For this alert it does not matter if agent is went down manually or due to any reason/exception. And if you have AES or PDC installed then you can set emails to trigger and alarm you whenever this agent goes down with detail reason as well.