【OPM】通过 SQL 查看通知配置文件调用次数计数

【OPM】通过 SQL 查看通知配置文件调用次数计数

一.通过下方语句,可以查询到关于通知配置文件触发记录的系统对应表名:
SELECT ARCHIVETABLENAME FROM Metatable WHERE LOOKUPTABLENAME='Systemlog';
如果输出结果为单个,那么代表所有通知配置文件触发记录都涵盖在此表内;

如果输出为多个,可以通过下方查询语句获取最新的一个记录表名:
Select ARCHIVETABLENAME from Metatable where LOOKUPTABLENAME='Systemlog' and ENDTIME=-1;

将对应表名拷贝出来,替换下方 SQL 语句中
<ARCHIVETABLENAME from above query>
部分。
执行即可获取各个通知配置文件的调用次数计数。
SELECT np.PROFILEID,np.PROFILENAME,np.ACTIONNAME,COUNT(sl.TRIGGERID) AS Occurrences FROM notificationprofile np JOIN <ARCHIVETABLENAME from above query> sl ON np.PROFILEID = sl.TRIGGERID GROUP BY np.PROFILEID, np.ACTIONNAME;
例:
SELECT np.PROFILEID,np.PROFILENAME,np.ACTIONNAME,COUNT(sl.TRIGGERID) AS Occurrences FROM notificationprofile np JOIN SystemLog_2023_08_29_10 sl ON np.PROFILEID = sl.TRIGGERID GROUP BY np.PROFILEID, np.ACTIONNAME;​

如果想分别了解调用成功和失败的计数,可以通过下方查询语句实现。
依旧是用表名称替换
<ARCHIVETABLENAME from above query>
部分。
SELECT np.PROFILENAME,np.ACTIONNAME,CASE WHEN lt.TYPE = 'Information' THEN 'Success' ELSE lt.TYPE END AS TYPE,COUNT(CASE WHEN lt.TYPE <> 'Audit' THEN sl.TRIGGERID END) AS Occurrences FROM notificationprofile np JOIN <ARCHIVETABLENAME  from above query> sl ON np.PROFILEID=sl.TRIGGERID JOIN logtype lt ON sl.TYPE = lt.ID WHERE lt.TYPE <> 'Audit' AND np.ACTIONNAME <> 'Run Book' GROUP BY np.PROFILEID, np.ACTIONNAME, lt.type ORDER BY np.ACTIONNAME, np.PROFILENAME;
例:
SELECT np.PROFILENAME,np.ACTIONNAME,CASE WHEN lt.TYPE = 'Information' THEN 'Success' ELSE lt.TYPE END AS TYPE,COUNT(CASE WHEN lt.TYPE <> 'Audit' THEN sl.TRIGGERID END) AS Occurrences FROM notificationprofile np JOIN SystemLog_2023_08_29_10 sl ON np.PROFILEID=sl.TRIGGERID JOIN logtype lt ON sl.TYPE = lt.ID WHERE lt.TYPE <> 'Audit' AND np.ACTIONNAME <> 'Run Book' GROUP BY np.PROFILEID, np.ACTIONNAME, lt.type ORDER BY np.ACTIONNAME, np.PROFILENAME;