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.

Alert for Virtual windows server CPU

Hi,

I am having issue with the CPU alerts.I went through the few Thwack discussion but I did not find any solution. Please see the below details:

Virtual Machine - Windows OS

CPU -  Number of virtual sockets - 2

           Number of cores per socket - 1

           Total Number of cores - 2

From VCenter performance details - CPU utilization is 100% but no alerts from SolarWinds. (CPU 0 & CPU 1 - Combined utilization - 100%)

Orion Platform 2014.2.1, SAM 6.1.0, QoE 1.0, IPAM 4.1, NPM 11.0.1, NTA 3.11.0, IVIM 1.10.0

Please help me solve the following:

For e.g Node name = A and NodeID = 11

1) how to configure CPU combined utilization alert for node A only

2) how to configure CPU combined utilization alert for all node

3) please provide trigger and reset conditions

I have tried this query but did not work.

Start a new alert. Set it to be a Node alert. Then change it to be a Custom SQL query (with the sub-type still Node).

In the box where you can type your query, add:

join CPUMultiLoad on Nodes.NodeID = CPUMultiLoad.NodeID

where DATEDIFF(mi, CPUMultiLoad.TimeStampUTC, SYSUTCDATETIME()) < 5

and CPUMultiLoad.AvgLoad > 85

This will trigger when any single "CPU" (core or otherwise) is over 85 within the last 5 minutes (ie: one polling cycle)

  • Hi,

    if I understand correctly, you are interested to CPU utilization for whole virtual machine, not for individual cores.

    Please follow these steps or import attached alerts in ZIP file 'Alerts_CpuUtilization.zip'.

    Virtual machine is managed as a node - data are polled e.g. through WMI

    1. Create new alert
    2. Tab trigger condition
      • Type of Property to Monitor: Node
      • All conditions have to be met, so select 'Trigger Alert when all of the following apply'
      • Add these complex conditions
        • filed Node name is equal to value <name of virtual machine>
        • field Node ID is equal to value <node id of virtual machine>
        • field CPU Load is greater than value <e.g. 85>
    3. Tab reset condition
      • Let checked 'Reset when trigger conditions are no longer true' or create your own reset condition. Similar to trigger condition.


    • You can not use data from table 'CPUMultiLoad'. There are data for each virtual machine's core separately.
    • If you are interested for all virtual machines, let out filtering conditions - Node name and Node ID.


    Virtual machine is polled through vCenter - data are polled through VMware API

    • There is no need to have virtual machine managed as a node, but parent ESX host has to be managed as a node.


    1. Create new alert
    2. Tab trigger condition
      • Type of Property to Monitor: Virtual Machine
      • All conditions have to be met, so select 'Trigger Alert when all of the following apply'
      • Add these complex conditions
        • filed Display name is equal to value <name of virtual machine>
        • field Virtual Machine ID is equal to value <id of virtual machine>
        • field CPU Utilization is greater than value <e.g. 85>
    3. Tab reset condition
      • Let checked 'Reset when trigger conditions are no longer true' or create your own reset condition. Similar to trigger condition.


    • If you are interested for all virtual machines, let out filtering conditions - Display name and Virtual Machine ID.

    Best regards,

    Michal


    Alerts_CpuUtilization.zip
  • Hi,

    Thank you so much for your reply and I really appreciate your help.

    I have tried both queries and in Alert Manager but not getting the alerts. I have tested those queries in alert manager and the results are as follows:

    Test results for query 1

    {

    Virtual machine is managed as a node - data are polled e.g. through WMI

    1. Create new alert
    2. Tab trigger condition
      • Type of Property to Monitor: Node
      • All conditions have to be met, so select 'Trigger Alert when all of the following apply'
      • Add these complex conditions
        • filed Node name is equal to value <name of virtual machine>
        • field Node ID is equal to value <node id of virtual machine>
        • field CPU Load is greater than value <e.g. 85>

    }

    Alert: CPU on the <node name> is = 56 %

    Alert Name: Test alert for <node name> CPU utilization

    So it's not giving me the the right answer because cpu 1 =56% and cpu 2 = 50% - I am looking for alert email for combined utilization which would be 106%

    Test results for query 2

    Virtual machine is polled through vCenter - data are polled through VMware API

    • There is no need to have virtual machine managed as a node, but parent ESX host has to be managed as a node.
    1. Create new alert
    2. Tab trigger condition
      • Type of Property to Monitor: Virtual Machine
      • All conditions have to be met, so select 'Trigger Alert when all of the following apply'

      • Add these complex conditions
        • filed Display name is equal to value <name of virtual machine>
        • field Virtual Machine ID is equal to value <id of virtual machine>
        • field CPU Utilization is greater than value <e.g. 85>


    Alert: CPU on the <node name> is = ${CPULoad}   (I am not sure why its not returning any number here - it might be because virtual machine managed as node - not sure)

    Alert Name: Test alert for <node name> CPU utilization

    Thanks & Kind Regards

    KP.

  • Hi,

    now I think that understand your requirements.

    I have updated alert for nodes, please verify.

    Best regards,

    Michal

    NodeAlert_CpuCoreUtilization.AlertDefinition
  • Hi,

    it is attached as *.AlertDefinition file in my previous comment.

    I have zipped that and attaching it again as 'NodeAlert_CpuCoreUtilization.zip'.

    Best regards,

    Michal

    NodeAlert_CpuCoreUtilization.zip
  • Hi,

    I got the files - for some reason it's not showing in the inbox of my account - (really weird) but I went latest post on website - I see the files.

    Let me check and get back to you. Thanks.

  • Hi,

    This query is working. Many Many thanks to you!

    I have one more request - Can you define SQL variable for alerts, so that we get the value of CPU 0 and CPU 1 or sum of it.

    I am not SQL expert but I can modified query as per my needs.

    Please see the below image and if you can define SQL variable for email.

    2.PNG

    I really appreciate your time and help!

    Thanks & Kind Regards,

    KP.

  • Hi,

    I updated alert and added variables for logging. There is created action for logging to NetPerfMon EventLog. Similary you can create email action.

    Variables are:

    • CPU Cores Utilization - sum of all CPU cores utilization,
    • CPU Cores Count - number of CPU cores.

    I attached alert in zip file 'NodeAlert_CpuCoreUtilization_v0.2.zip' or just insert these commands:

    Node CPU Cores utilization

    Node ID: ${NodeID}

    Node Name: ${Caption}

    CPU Cores Utilization: ${SQL:SELECT SUM(CPUMultiLoad_Detail.AvgLoad) AS CPUCoresUtilization FROM CPUMultiLoad_Detail WHERE (DATEDIFF(mi, CPUMultiLoad_Detail.TimeStampUTC, GETUTCDATE()) < 5) AND CPUMultiLoad_Detail.NodeID = ${NodeID}}

    CPU Cores Count: ${SQL:SELECT COUNT(CPUIndex) AS CPUCoresCount FROM CPUMultiLoad_Detail WHERE (DATEDIFF(mi, CPUMultiLoad_Detail.TimeStampUTC, GETUTCDATE()) < 5) AND CPUMultiLoad_Detail.NodeID = ${NodeID}}

    Best regards,

    Michal

    NodeAlert_CpuCoreUtilization_v0.2.zip