8 Replies Latest reply on Feb 19, 2014 8:17 AM by sburton@babc.com

    Out of the box "alert me when any hardware component...." issues with firing emails

    sburton@babc.com

      All my nodes have a custom property called DeviceContactEmail which I specify a email address I want a alert to go to.

       

      When I use the out of the box advanced alert "alert me when any hardware component goes into a warning or critical state" and I use either variable {DeviceContactEmail} or  {node.DeviceContactEmail} the email fails to send.  The test log reads "at least one recipient is required, but none were found."

       

      Any ideas on how to correct?

        • Re: Out of the box "alert me when any hardware component...." issues with firing emails
          Dan Howard

          May be a silly question, but are you putting a $ in front of {node.DeviceContactEmail}?

          And where are you defining this? In the Email/Pager recipients? Or via some custom SQL? If it's custom SQL then the table containing that custom property is Nodes, not Node.

            • Re: Out of the box "alert me when any hardware component...." issues with firing emails
              sburton@babc.com

              Yes to both questions.  I do have the $ in front.  Sorry, I did not specify that in my original post and yes I am defining it in the email/pager recipients.

                • Re: Out of the box "alert me when any hardware component...." issues with firing emails
                  Dan Howard

                  Well, that rules out the easy stuff

                   

                  Can you export the alert action and post the code here?

                    • Re: Out of the box "alert me when any hardware component...." issues with firing emails
                      sburton@babc.com

                      Every time I try to copy/paste the alert the body of the post is blank

                        • Re: Out of the box "alert me when any hardware component...." issues with firing emails
                          sburton@babc.com

                          I think I figured it out.  Don't open Thwack within SolarWinds monitoring page.

                           

                          ***BEGIN COPY***

                          <?xml version="1.0" encoding="UTF-8"?>
                          <AlertDefinitions><AlertDefinition AlertDefID="{8AC92415-2FBD-4C6E-93BA-7B683175CD99}" AlertName="Alert me when any hardware component goes into a warning or critical state" AlertDescription="" Enabled="True" StartTime="12:00:00 AM" EndTime="11:59:59 PM" DOW="1,2,3,4,5,6,7" TriggerQuery="SELECT DISTINCT APM_HardwareSensorAlertData.HardwareSensorID AS NetObjectID, APM_HardwareSensorAlertData.SensorDisplayName AS Name
                          FROM Nodes INNER JOIN APM_HardwareSensorAlertData ON (Nodes.NodeID = APM_HardwareSensorAlertData.NodeId)
                          WHERE 
                          (
                            (
                             (Nodes.Status &lt;&gt; '2')) AND
                            (
                             (APM_HardwareSensorAlertData.SensorOrionStatus = 'Critical'))
                          )

                          " TriggerQueryDesign="&lt;QUERY&gt;&lt;KIND&gt;1&lt;/KIND&gt;&lt;COMPLEX&gt;&lt;TAG&gt;&lt;/TAG&gt;&lt;CONNECTIVE&gt;1&lt;/CONNECTIVE&gt;&lt;CHECKED&gt;1&lt;/CHECKED&gt;&lt;COMPLEX&gt;&lt;TAG&gt;&lt;/TAG&gt;&lt;CONNECTIVE&gt;1&lt;/CONNECTIVE&gt;&lt;CHECKED&gt;1&lt;/CHECKED&gt;&lt;SIMPLE&gt;&lt;TAG&gt;&lt;/TAG&gt;&lt;ALIAS&gt;&lt;/ALIAS&gt;&lt;ADVANCED&gt;0&lt;/ADVANCED&gt;&lt;COMPARISON&gt;5&lt;/COMPARISON&gt;&lt;FUNCTION&gt;0&lt;/FUNCTION&gt;&lt;SORT&gt;0&lt;/SORT&gt;&lt;CHECKED&gt;1&lt;/CHECKED&gt;&lt;LEFTSIDEKIND&gt;2&lt;/LEFTSIDEKIND&gt;&lt;RIGHTSIDEKIND&gt;1&lt;/RIGHTSIDEKIND&gt;&lt;COMPARISONATTRIBUTES&gt;&lt;/COMPARISONATTRIBUTES&gt;&lt;FUNCTIONATTRIBUTES&gt;&lt;/FUNCTIONATTRIBUTES&gt;&lt;LEFTFIELDPATH&gt;Network Nodes.Node Status.Node Status&lt;/LEFTFIELDPATH&gt;&lt;RIGHTFIELDPATH&gt;&lt;/RIGHTFIELDPATH&gt;&lt;LEFTVALUETYPE&gt;0&lt;/LEFTVALUETYPE&gt;&lt;LEFTVALUE&gt;&lt;/LEFTVALUE&gt;&lt;LEFTCAPTION&gt;Node Status&lt;/LEFTCAPTION&gt;&lt;RIGHTVALUETYPE&gt;8&lt;/RIGHTVALUETYPE&gt;&lt;RIGHTVALUE&gt;2&lt;/RIGHTVALUE&gt;&lt;RIGHTCAPTION&gt;Down&lt;/RIGHTCAPTION&gt;&lt;/SIMPLE&gt;&lt;/COMPLEX&gt;&lt;COMPLEX&gt;&lt;TAG&gt;&lt;/TAG&gt;&lt;CONNECTIVE&gt;2&lt;/CONNECTIVE&gt;&lt;CHECKED&gt;1&lt;/CHECKED&gt;&lt;SIMPLE&gt;&lt;TAG&gt;&lt;/TAG&gt;&lt;ALIAS&gt;&lt;/ALIAS&gt;&lt;ADVANCED&gt;0&lt;/ADVANCED&gt;&lt;COMPARISON&gt;0&lt;/COMPARISON&gt;&lt;FUNCTION&gt;0&lt;/FUNCTION&gt;&lt;SORT&gt;0&lt;/SORT&gt;&lt;CHECKED&gt;1&lt;/CHECKED&gt;&lt;LEFTSIDEKIND&gt;2&lt;/LEFTSIDEKIND&gt;&lt;RIGHTSIDEKIND&gt;1&lt;/RIGHTSIDEKIND&gt;&lt;COMPARISONATTRIBUTES&gt;&lt;/COMPARISONATTRIBUTES&gt;&lt;FUNCTIONATTRIBUTES&gt;&lt;/FUNCTIONATTRIBUTES&gt;&lt;LEFTFIELDPATH&gt;Hardware Sensor.Hardware Sensor Status&lt;/LEFTFIELDPATH&gt;&lt;RIGHTFIELDPATH&gt;&lt;/RIGHTFIELDPATH&gt;&lt;LEFTVALUETYPE&gt;0&lt;/LEFTVALUETYPE&gt;&lt;LEFTVALUE&gt;&lt;/LEFTVALUE&gt;&lt;LEFTCAPTION&gt;Hardware Sensor Status&lt;/LEFTCAPTION&gt;&lt;RIGHTVALUETYPE&gt;8&lt;/RIGHTVALUETYPE&gt;&lt;RIGHTVALUE&gt;Critical&lt;/RIGHTVALUE&gt;&lt;RIGHTCAPTION&gt;Critical&lt;/RIGHTCAPTION&gt;&lt;/SIMPLE&gt;&lt;/COMPLEX&gt;&lt;/COMPLEX&gt;&lt;/QUERY&gt;
                          " ResetQuery="SELECT DISTINCT APM_HardwareSensorAlertData.HardwareSensorID AS NetObjectID, APM_HardwareSensorAlertData.SensorDisplayName AS Name
                          FROM Nodes INNER JOIN APM_HardwareSensorAlertData ON (Nodes.NodeID = APM_HardwareSensorAlertData.NodeId)
                          WHERE NOT 
                          (
                            (
                             (Nodes.Status &lt;&gt; '2')) AND
                            (
                             (APM_HardwareSensorAlertData.SensorOrionStatus = 'Critical'))
                          )

                          " ResetQueryDesign="SIMPLE" SuppressionQuery="" SuppressionQueryDesign="&lt;QUERY&gt;&lt;KIND&gt;1&lt;/KIND&gt;&lt;COMPLEX&gt;&lt;TAG&gt;&lt;/TAG&gt;&lt;CONNECTIVE&gt;1&lt;/CONNECTIVE&gt;&lt;CHECKED&gt;1&lt;/CHECKED&gt;&lt;/COMPLEX&gt;&lt;/QUERY&gt;
                          " TriggerSustained="0" ResetSustained="0" LastExecuteTime="1/24/2014 3:24:11 AM" ExecuteInterval="60" BlockUntil="1/24/2014 3:24:13 AM" ResponseTime="0" LastErrorTime="12:00:00 AM" LastError="" ObjectType="Hardware Sensor" IgnoreTimeout="True"><AlertActions><AlertAction ActionDefID="{5A445F8F-97EB-469F-8E97-913AA09E8D25}" AlertDefID="{8AC92415-2FBD-4C6E-93BA-7B683175CD99}" TriggerAction="True" ExecuteIfAcknowledged="True" TimeOffset="0" RepeatInterval="0" StartTime="12:00:00 AM" EndTime="11:59:59 PM" DOW="1,2,3,4,5,6,7" SortOrder="1" ActionType="NPMEventLog" Title="NetPerfMon Event Log : ${SensorDisplayName} on ${NodeName} is ${SensorOrionStatusDescription}" Target="" Parameter1="${SensorDisplayName} on ${NodeName} is ${SensorOrionStatusDescription}" Parameter2="" Parameter3="" Parameter4="" NetObjectType=""/><AlertAction ActionDefID="{8937FAB1-9B6D-45D6-879C-D45535821F80}" AlertDefID="{8AC92415-2FBD-4C6E-93BA-7B683175CD99}" TriggerAction="True" ExecuteIfAcknowledged="True" TimeOffset="0" RepeatInterval="0" StartTime="12:00:00 AM" EndTime="11:59:59 PM" DOW="1,2,3,4,5,6,7" SortOrder="2" ActionType="EMail" Title="Send E-Mail/Page to ${node.DeviceContactEmail};" Target="To:${node.DeviceContactEmail}
                          CC:
                          BCC:
                          SMTPServer:mail.babc.com
                          SMTPPort:25
                          EnableSSL:False
                          Format:Text
                          " Parameter1="${SensorDisplayName} on ${NodeName} is ${SensorOrionStatusDescription}" Parameter2="${SensorDisplayName} on ${NodeName} is ${SensorOrionStatusDescription}

                          Time:  ${DateTime}" Parameter3="&quot;Network Performance Monitor&quot; &lt;Solarwinds@babc.com&gt;" Parameter4="" NetObjectType=""/></AlertActions></AlertDefinition></AlertDefinitions>

                           

                           

                          ***END COPY***