This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

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

FormerMember
FormerMember

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?

  • FormerMember
    0 FormerMember

    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.

  • FormerMember
    0 FormerMember in reply to FormerMember

    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.

  • FormerMember
    0 FormerMember in reply to FormerMember

    Well, that rules out the easy stuff emoticons_wink.png

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

  • FormerMember
    0 FormerMember in reply to FormerMember

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

  • FormerMember
    0 FormerMember in reply to FormerMember

    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***

  • FormerMember
    0 FormerMember in reply to FormerMember

    Dan,

    I was able to export the rule and post.  Not sure if you saw the post because I had issues posting it within Thwack.

  • FormerMember
    0 FormerMember in reply to FormerMember

    Sorry, I was out all last week. I will see if I can import this and make it work on my end, or at least get some idea why it's failing.

  • FormerMember
    0 FormerMember in reply to FormerMember

    I appreciate the help.  Thanks!  If anyone else wants to take a look at this please do so.  I know how work can be and it's hard to work on things like this on the side when your own job takes priority.