Now i needed to put it in DataZen and i could, but it's more simple to get data by SQL, so, the query i came up with is this :
DECLARE @TMP_GROUP_TABLE table(groupname varchar(50));
insert into @TMP_GROUP_TABLE
values('Group #1'), -- List
('Group #2'), -- Of
('Group #3'), -- Groups
('Group #4'), -- You
('Group #5') -- Want
SELECT
s.displayName as [Group],
CASE WHEN t.Path IS NULL THEN t.DisplayName ELSE t.path END AS [CI],
av.AlertName as [Alert Name],
av.AlertDescription as [Description],
count(av.AlertName) as [AlertCount],
ResolutionState, RaisedDateTime,av.Severity
FROM vrelationship r
inner join vManagedEntity s on s.ManagedEntityRowId = r.SourceManagedEntityRowId
inner join vManagedEntity t on t.ManagedEntityRowId = r.TargetManagedEntityRowId
inner join Alert.vAlert av on av.ManagedEntityRowId= t.ManagedEntityRowId
inner JOIN Alert.vAlertDetail adv on av.AlertGuid =adv.AlertGuid
inner JOIN Alert.vAlertResolutionState arsv on av.AlertGuid =arsv.AlertGuid
inner JOIN Alert.vAlertParameter apv on av.AlertGuid =apv.AlertGuid
WHERE
-- I choose 7 days, you can put a value as you like
RaisedDateTime >=DATEADD(day,-7,GETDATE())
and s.DisplayName IN ( SELECT groupname FROM @TMP_GROUP_TABLE )
-- Filter only for CRIT and WARN alarms
AND av.Severity >= 1
group by s.displayName,t.displayname,av.AlertDescription,ResolutionState,RaisedDateTime,av.Severity,av.AlertName,t.Path
order by AlertCount desc
This is good so you can create a nice Datazen dashboard to keep teams up with their alarms (you can put their objects inside respective groups).
Feel free to criticize, no SQL master at all (lol!)
No comments:
Post a Comment