I am relatively new to SolarWinds, having come from a deep background in System Center Operations Manager. I seem to be struggling with the way SolarWinds handles alerts.
I am trying to build a general alert to notify when a component goes "Critical". I have built the alert and have it working fine with OpsGenie, sending each variable I need over to the integration - almost.
I want the description of the alert to contain the information about what is wrong. One complaint about the environment I have taken over is that alerts didn't have relevant information; you still had to look somewhere else (like SolarWinds to see how bad something was. For example, in the case of a Logical Disk: Avg. Disk Queue Length critical event, I would like to see:
The metric Logical Disk: Avg. Disk Queue Length on XXX-P-XX-XXXX is at a value of 11.2580280303955 Avg. Disk Queue Length
I am passing the following variables to OpsGenie (amongst others):
Entity=${N=SwisEntity;M=Application.Node.Caption}&
ComponentName=${N=SwisEntity;M=ComponentAlert.ComponentName}&
ComponentNumeric=${N=SwisEntity;M=ComponentAlert.StatisticData}&
ComponentValue=${N=SwisEntity;M=Application.ApplicationAlert.ComponentsWithProblems}
When I create the description using the variables, it looks like this from a code standpoint (in OpsGenie):
The metric {{ComponentName}} on {{Entity}} is at a value of {{ComponentNumeric}} {{ComponentValue}}.
For systems where I have one faulting component, this works fine. However, I noticed that I had the below output on some of my alerts:
The metric Logical Disk: Avg. Disk Queue Length on XXX-P-XX-XXXX is at a value of 11.2580280303955 Pages/sec(Critical), Logical Disk: Avg. Disk Queue Length(Critical), Physical Disk: Avg. Disk Queue Length(Critical).
Does anyone have any insight into what I may be doing wrong? Is there a way to repeat the description above and grab each Name, Numeric, and Value?