Quantcast
Channel: THWACK: All Content - Network Performance Monitor
Viewing all 21870 articles
Browse latest View live

Windows SolarWinds Agent problems

$
0
0

We are testing out using the windows agent and have noticed some problems.  Has anyone else noticed these problems as well.

 

The following is information is not a selection option when you click on List Resources when the SolarWinds Windows agent is used for monitoring.

These are available via SNMP when we poll the same device via SNMP instead based on our testing.

 

  1. Status & Response Time - I would still would like to be able to select if I want to icmp ping the box from our poller or some other method.
  2. Routing Statistics - This data is needed if we are going to monitor peer connections
  3. Topology Layer 2/ Layer 3 - This allows us to build out topology information

 

There are advantages for using the Agent that I would like to take advantage of, however, I do not want to loose the ability to collect routing, and topology data.

 

Also, we have noticed that when using the Agent, the Hardware Monitoring is not displaying any information at all and it works using SNMP for the same device.  We will be opening a ticket for this.

 

Responses are appreciated as always.


Some Things Solarwinds Admins Can't Live Without

$
0
0

Here are some SQL queries as doing weekly Solarwinds Maintenance and creating custom alerts that we as an MSP can't live without. I will most likely update this often but here are some I store in my evernote for now but I will update this frequently when i start looking through everything I use.

 

This first one isn't a SQL query but good for everyone use FoE to know:

 

 

From a command prompt :

cd C:\Program Files\SolarWinds\FoE\r2\bin\


nfpktfltr getstate

 

The failover should be set to Filter and the active should be PassThru


The nfpktfltr has a lot of good options to play with including forcing a set for filter or passthru in emergencies

 

Checking Ghost or Unknown Interfaces


selectInterfaceName,Nodes.CaptionfromInterfaces

 

innerjoinNodesonNodes.NodeID=Interfaces.NodeID

whereInterfaces.Status=0

 

Checking Nodes Not in Groups

 

 

selectCaption fromNodes

 

where

  not Caption in(

   SELECTdistinctFullName

   FROM ContainerMemberSnapshots

   where EntityDisplayName ='Node'

)


Checking Total Number of Elements for Custom Value


 

selectCOUNT(*)fromNodes

 

LEFTjoinVolumesonVolumes.NodeID=Nodes.NodeID

LEFTjoinInterfacesonInterfaces.NodeID=Nodes.NodeID

LEFTJOINAPM_ApplicationonAPM_Application.NodeID=Nodes.NodeID

whereCustom= 'somethinghere'

 

Getting IP list for Weekly Sonar Discovery by polling engine

 

selectIP_Address,Caption from Nodes

 

where

ObjectSubType ='SNMP'

andEngineID =_Engine ID Here_

andStatus<>'9

 

To get a list of your current engines with their ID number just simply run

selectEngineID,ServerName,IP fromEngines

Cleaning up bad hardware alerts manually

 

DECLARE@NodeID int

 

SET@NodeID =_NODE ID HERE_

DELETEFROMAPM_HardwareInfo WHERE NodeID =@NodeID

DELETEFROMAPM_HardwareCategoryStatus WHERE NodeID =@NodeID

DELETEFROMAPM_HardwareItem WHERE NodeID =@NodeID



Alerting Variables for Statistical Data


 

${SQL:selectc.Name from APM_DynamicEvidenceColumnSchema c

 

innerjoinAPM_DynamicEvidence_DetailData d on c.ID =d.ColumnSchemaID andc.ComponentID = ${ComponentID}

wherec.ThresholdWarning < d.NumericData groupby c.ID,c.Name} isinWARNING at

${SQL:selectMAX(d.NumericData)from APM_DynamicEvidenceColumnSchema c

innerjoinAPM_DynamicEvidence_DetailData d onc.ID =d.ColumnSchemaID andc.ComponentID = ${ComponentID}

where c.ThresholdWarning <d.NumericData groupbyc.ID,c.Name }



Alerting URL on HTTP Components that is being pulled

This can be used to get any of the values simply changing the [Key] condition to whatever your looking for. Also make sure you set your component type in your trigger condition to 6 to avoid non-http applications sending this alert off.


${SQL:selectValue fromAPM_ComponentSetting

  where [Key] ='Url'and ComponentID ='${ComponentID}'}




*****NEW****** Nice Heads up Display Board

 

The below strictly work under the condition that you have your alerts writing to NetPerfMon and you DO NOT SET the title of the alert action for Write to NetPerfMon and let solarwinds default it to the message you typed in when you save it with a blank title.


Given all the new upgrades and movements of tables and db schema changes recently with NPM and the introduction of SRM I've come up with new Critical and Action item scripts.

I've also moved them to a Stored Procedure as well instead of a view or report this is much faster, more accurate and easily executed.


To add these to a view or resource in your web console you just need set the resource as an Advanced Database Query select SQL for the Query Type and put in the execute for the stored procedure as the screen shot below


ss.PNG


This is the script for Critical Items (This also gives a status of how long its been critical)


CREATEprocedure [dbo].[sp_GetDownItems]

as

begin

      SETNOCOUNTON;

      declare @i int;

      declare @numrows int;

      declare @curNode int;

      declare @curAlert nvarchar(255);

      declare @object nvarchar(max);

      declare @entity varchar(255);

      declare @objectId nvarchar(255);

      declare @srmtable varchar(255);

      declare @srmCol nvarchar(255);

      declare @colParam nvarchar(500);

      declare @colquery nvarchar(max);

      declare @tblParam nvarchar(500);

      declare @tblQuery nvarchar(max);

      declare @customerdowns table (

            vimg nvarchar(255)null,

            simg nvarchar(255)null,

            NodeName nvarchar(255)null,

            Issue nvarchar(max)null,

            IP_Address nvarchar(255)null,

            TotalDownTime nvarchar(255)null,

            AlertTime datetimenull

      );

      declare @tempTable table (

            id intPrimaryKeyidentity(1,1),

            alertId bigint,

            nodeid bigint,

            entity nvarchar(255),

            objectid nvarchar(255)

      );

     

      insert @tempTable select aa.AlertActiveID,ao.RelatedNodeId,ao.EntityType,ao.EntityNetObjectId from AlertActive as aa innerjoin AlertObjects as ao on aa.AlertObjectID = ao.AlertObjectID where aa.Acknowledged ISNULL

      set @numrows =(selectCOUNT(*)from @tempTable)

      set @i = 1

      if @numrows > 0

            while(@i <= @numrows)

            begin

                  set @curNode =(select nodeid from @tempTable where id = @i)

                  set @curAlert =(select alertId from @tempTable where id = @i)

                  if (@curNode ISNOTNULL)

                    begin

                        insert @customerdowns

                              select'<img src=/NetPerfMon/images/Vendors/'+ VendorIcon +'/>'as vimg

                                    ,'<img src=/NetPerfMon/images/small-'+ GroupStatus +'/>'as simg

                                    ,'<a href=/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a'+cast(n.NodeID asvarchar(255))+'>'+ n.Caption +'</a>'as NodeName

                                    ,SUBSTRING(ahv.Message,charindex(':', ahv.Message)+2,LEN(ahv.Message))as Issue

                                    ,IP_Address,

                                    convert(varchar(10),(DATEDIFF(d,0,GETDATE()-DateAdd(HH,-4,asv.TriggeredDateTime))))+' Days '+

                                          convert(varchar(10),(DATEDIFF(HH,0,GETDATE()-DateAdd(HH,-4,asv.TriggeredDateTime))% 24 ))+' Hours '+

                                          convert(varchar(10),(DATEDIFF(mi,0,GETDATE()-DateAdd(HH,-4,asv.TriggeredDateTime))% 60))+' Mins 'as'Total_Down_Time'

                                    ,asv.TriggeredDateTime

                              from AlertActive as asv WITH(NOLOCK)

                              innerjoin(selectMAX(CAST(AlertRefID asvarchar(255)))AlertRefID,MAX(ObjectType)ObjectType,MAX(AlertHistoryID)AlertHistoryID,MAX(RelatedNodeId)RelatedNodeId,MAX(ActionTypeID)ActionTypeID,MAX(EventTypeWord)EventTypeWord,MAX(Message)Message,MAX(EntityCaption)EntityCaption,AlertActiveID from AlertHistoryView where ActionTypeID ='WriteToNPMEventLog'

                                    and EventTypeWord ='ActionSucceeded'Groupby AlertActiveID)as ahv on (asv.AlertActiveID = ahv.AlertActiveID)

                              innerjoin Nodes as n WITH(NOLOCK)on n.NodeID = ahv.RelatedNodeId

                              Leftouterjoin APM_HardwareInfo as hw WITH(NOLOCK)on hw.NodeID = n.NodeID

                              WHERE asv.AlertActiveID = @curAlert

                                   AND (n.Status= 2 AND ahv.MessageLIKE'%down%'))

                    end

                  if (@curNode ISNULL)

                   begin

                        declare @newCol nvarchar(255)

                        createtable #tmp (

                              colName nvarchar(255)null

                        )

 

                        set @object =(select objectid from @tempTable where id = @i);

                        set @entity =(select entity from @tempTable where id = @i);

                        set @objectId =SUBSTRING(@object,CHARINDEX(':',@object)+1,len(@object));

                        set @srmtable ='SRM_'+REVERSE(SUBSTRING(REVERSE(@entity),0,CHARINDEX('.',REVERSE(@entity))));

                       

                        select @colquery =N'select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '''+ @srmtable +''' and ORDINAL_POSITION = 1';

                        SET @colParam =N'@retvalOUT nvarchar(255) OUTPUT';

                        insertinto #tmp (colName)execsp_executesql @colquery, @colParam, @retvalOUT=@srmCol OUTPUT;

                       

                        set @newCol =(select colName from #tmp);

                        select @tblQuery =N'select n.Vendor as vimg

                                                            ,''<img src=/Orion/StatusIcon.ashx?entity=Orion.SRM.StorageArrays&status='' + cast(n.Status as varchar(255)) + ''&size=small />'' as simg

                                                            ,''<a href=/Orion/SRM/ArrayDetailsView.aspx?NetObject=SMSA%3a'' + cast(n.StorageArrayID as varchar(255)) + ''>'' + n.UserCaption + ''</a>'' as NodeName

                                                            ,SUBSTRING(ahv.Message,charindex('':'', ahv.Message)+2,LEN(ahv.Message)) as Issue

                                                            ,IPAddresses,

                                                            convert(varchar(10), (DATEDIFF(d,0,GETDATE() - DateAdd(HH,-4,asv.TriggeredDateTime)))) + '' Days '' +

                                                                  convert(varchar(10), (DATEDIFF(HH,0,GETDATE() - DateAdd(HH,-4,asv.TriggeredDateTime)) % 24 )) + '' Hours ''+

                                                                  convert(varchar(10), (DATEDIFF(mi,0,GETDATE()- DateAdd(HH,-4,asv.TriggeredDateTime)) % 60)) + '' Mins '' as ''Total_Down_Time''

                                                            ,asv.TriggeredDateTime

                                                            from AlertActive as asv WITH(NOLOCK)

                                                            inner join (select MAX(CAST(AlertRefID as varchar(255)))AlertRefID,MAX(ObjectType)ObjectType,MAX(AlertHistoryID)AlertHistoryID,MAX(RelatedNodeId)RelatedNodeId,MAX(ActionTypeID)ActionTypeID,MAX(EventTypeWord)EventTypeWord,MAX(Message)Message,MAX(EntityCaption)EntityCaption,AlertActiveID from AlertHistoryView where ActionTypeID = ''WriteToNPMEventLog''

                                                                  and EventTypeWord = ''ActionSucceeded'' Group by AlertActiveID) as ahv on (asv.AlertActiveID = ahv.AlertActiveID)

                                                            inner join '+ @srmtable +' srmt on srmt.'+ @newCol +' = '''+ @objectId +'''

                                                            inner join SRM_StorageArrays n on n.StorageArrayID = srmt.StorageArrayID

                                                            inner join SRM_StorageArrayCustomProperties srmsac on srmsac.StorageArrayID = n.StorageArrayID

                                                            WHERE asv.AlertActiveID = '+ @curAlert +'

                                                                  AND ((ahv.AlertRefID = ''69157a99-c259-4353-87f6-8a44b7f08cc9'')

                                                                  OR (n.Status = 2 AND ahv.Message LIKE ''%down%''))';

                        set @tblParam =N'@retvalOUT nvarchar(255) OUTPUT';

                        insertinto @customerdowns execsp_executesql @tblQuery, @tblParam, @retvalOUT=@srmCol OUTPUT;

           

                       

                        droptable #tmp;

                  end

                       

                  set @i = @i + 1

            end

           

      select*from @customerdowns orderby AlertTime desc

end




This is the script for Action Items

 

CREATEprocedure [dbo].[sp_GetActionItems]

as

begin

      SETNOCOUNTON;

      declare @i int;

      declare @numrows int;

      declare @curNode int;

      declare @curAlert nvarchar(255);

      declare @object nvarchar(max);

      declare @entity varchar(255);

      declare @objectId nvarchar(255);

      declare @srmtable varchar(255);

      declare @srmCol nvarchar(255);

      declare @colParam nvarchar(500);

      declare @colquery nvarchar(max);

      declare @tblParam nvarchar(500);

      declare @tblQuery nvarchar(max);

      declare @internalaction table (

            vimg nvarchar(255)null,

            simg nvarchar(255)null,

            NodeName nvarchar(255)null,

            Issue nvarchar(max)null,

            IP_Address nvarchar(255)null,

            AlertTime datetimenull

      );

      declare @tempTable table (

            id intPrimaryKeyidentity(1,1),

            alertId bigint,

            nodeid bigint,

            entity nvarchar(255),

            objectid nvarchar(255),

            fixedId bigint

      );

     

      insert @tempTable select aa.AlertActiveID,ao.RelatedNodeId,ao.EntityType,ao.EntityNetObjectId,REVERSE(SUBSTRING(REVERSE(ao.RealEntityUri),0,CHARINDEX('=',REVERSE(ao.RealEntityUri))))as FixID from AlertActive as aa innerjoin AlertObjects as ao on aa.AlertObjectID = ao.AlertObjectID where aa.Acknowledged ISNULL

      set @numrows =(selectCOUNT(*)from @tempTable)

      set @i = 1

      if @numrows > 0

            while(@i <= @numrows)

            begin

                  set @curNode =(select nodeid from @tempTable where id = @i)

                  set @curAlert =(select alertId from @tempTable where id = @i)

                  if (@curNode ISNOTNULL)

                    begin

                        insert @internalaction

                              select'<img src=/NetPerfMon/images/Vendors/'+ VendorIcon +'/>'as vimg

                                          ,'<img src=/NetPerfMon/images/small-'+ GroupStatus +'/>'as simg

                                          ,'<a href=/Orion/NetPerfMon/NodeDetails.aspx?NetObject=N%3a'+cast(n.NodeID asvarchar(255))+'>'+ n.Caption +'</a>'as NodeName

                                          ,SUBSTRING(ahv.Message,charindex(':', ahv.Message)+2,LEN(ahv.Message))as Issue

                                          ,IP_Address

                                          ,DATEADD(HH,-4,TriggeredDateTime)as AlertTime

                              from AlertActive as asv WITH(NOLOCK)

                              innerjoin(selectMAX(CAST(AlertRefID asvarchar(255)))AlertRefID,MAX(ObjectType)ObjectType,MAX(AlertHistoryID)AlertHistoryID,MAX(RelatedNodeId)RelatedNodeId,MAX(ActionTypeID)ActionTypeID,MAX(EventTypeWord)EventTypeWord,MAX(Message)Message,MAX(EntityCaption)EntityCaption,AlertActiveID from AlertHistoryView where ActionTypeID ='WriteToNPMEventLog'

                                    and EventTypeWord ='ActionSucceeded'Groupby AlertActiveID)as ahv on (asv.AlertActiveID = ahv.AlertActiveID)

                              innerjoin Nodes as n WITH(NOLOCK)on n.NodeID = ahv.RelatedNodeId

                              Leftouterjoin APM_HardwareInfo as hw WITH(NOLOCK)on hw.NodeID = n.NodeID

                              WHERE asv.AlertActiveID = @curAlert

                                    AND n.StatusNOTIN(2,9)

                    end

                  if (@curNode ISNULL)

                   begin

                        declare @newCol nvarchar(255)

                        createtable #tmp (

                              colName nvarchar(255)null

                        )

 

                        set @object =(select objectid from @tempTable where id = @i);

                        set @entity =(select entity from @tempTable where id = @i);

                        set @objectId =SUBSTRING(@object,CHARINDEX(':',@object)+1,len(@object));

                        if (LEN(@objectId)<= 0)

                              begin

                                    set @objectId =(select fixedId from @tempTable where id = @i);

                              end

                        set @srmtable ='SRM_'+REVERSE(SUBSTRING(REVERSE(@entity),0,CHARINDEX('.',REVERSE(@entity))));

                       

                        select @colquery =N'select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = '''+ @srmtable +''' and ORDINAL_POSITION = 1';

                        SET @colParam =N'@retvalOUT nvarchar(255) OUTPUT';

                        insertinto #tmp (colName)execsp_executesql @colquery, @colParam, @retvalOUT=@srmCol OUTPUT;

                       

                        set @newCol =(select colName from #tmp);

                        select @tblQuery =N'select n.Vendor as vimg

                                                            ,''<img src=/Orion/StatusIcon.ashx?entity=Orion.SRM.StorageArrays&status='' + cast(n.Status as varchar(255)) + ''&size=small />'' as simg

                                                            ,''<a href=/Orion/SRM/ArrayDetailsView.aspx?NetObject=SMSA%3a'' + cast(n.StorageArrayID as varchar(255)) + ''>'' + n.UserCaption + ''</a>'' as NodeName

                                                            ,SUBSTRING(ahv.Message,charindex('':'', ahv.Message)+2,LEN(ahv.Message)) as Issue

                                                            ,IPAddresses

                                                            ,DATEADD(HH,-4,TriggeredDateTime) as AlertTime

                                                      from AlertActive as asv WITH(NOLOCK)

                                                      inner join (select MAX(CAST(AlertRefID as varchar(255)))AlertRefID,MAX(ObjectType)ObjectType,MAX(AlertHistoryID)AlertHistoryID,MAX(RelatedNodeId)RelatedNodeId,MAX(ActionTypeID)ActionTypeID,MAX(EventTypeWord)EventTypeWord,MAX(Message)Message,MAX(EntityCaption)EntityCaption,AlertActiveID from AlertHistoryView where ActionTypeID = ''WriteToNPMEventLog''

                                                            and EventTypeWord = ''ActionSucceeded'' Group by AlertActiveID) as ahv on (asv.AlertActiveID = ahv.AlertActiveID)

                                                      inner join '+ @srmtable +' srmt on srmt.'+ @newCol +' = '''+ @objectId +'''

                                                      inner join SRM_StorageArrays n on n.StorageArrayID = srmt.StorageArrayID

                                                      inner join SRM_StorageArrayCustomProperties srmsac on srmsac.StorageArrayID = n.StorageArrayID

                                                      WHERE asv.AlertActiveID = '''+ @curAlert +'''

                                                            AND n.Status NOT IN (2,9)';

                        set @tblParam =N'@retvalOUT nvarchar(255) OUTPUT';

                        insertinto @internalaction execsp_executesql @tblQuery, @tblParam, @retvalOUT=@srmCol OUTPUT;

           

                       

                        droptable #tmp;

                  end

                       

                  set @i = @i + 1

            end

           

      select*from @internalaction orderby AlertTime desc

end







Good View to display all assets on monitoring including whats in SRM


This we use for our integration to our CRM System, this is can have many applications though. You might not need all the casting we did this for the CRM sync side.


First this view relays on a quick function we created to translate the real bytes to mb to read it better i couldn't find a built in function in solarwinds to do it so here is that function first.

createfunction [dbo].[convertBtoMb] (@BSize asbigint)

returnsbigint

as

begin

      declare @MBSize bigint

      set @MBSize = @BSize/1024/1024

      return @MBSize

end

 

 

 

Now this is our view that uses the above function to translate the real bytes as well.



CREATEview [dbo].[SWAssetSyncView] as (

 

select

      cast(CRM_Account asnvarchar(20))as AccountNumber,

      cast('NPM'asnvarchar(3))as SourceType,

      n.NodeID as MachineID,

      cast(n.AssetType asvarchar(11))as AssetType,

      cast(SUBSTRING(Caption,CHARINDEX('-',Caption)+1,LEN(Caption))asnvarchar(80))as ComputerName,

      cast(CASEWHEN si.HardwareSerialNumber ISNOTNULLTHEN si.HardwareSerialNumber ELSE hi.ServiceTag ENDasnvarchar(201))as SystemSerialNumber,

      cast(LEFT(ni.MACAddress,2)+'-'+SUBSTRING(ni.MACAddress,3,2)+'-'+SUBSTRING(ni.MACAddress,5,2)+'-'+SUBSTRING(ni.MACAddress,7,2)+'-'+SUBSTRING(ni.MACAddress,9,2)+'-'+SUBSTRING(ni.MACAddress,11,2)asnvarchar(40))as MACAddress,

      cast(SysNameasnvarchar(255))as dnsComputerName,

      cast(si.Domain asnvarchar(64))as Domain,

      cast(IP_Address asnvarchar(20))as IpAddress,

      cast(PublicIP asnvarchar(20))as PublicIP,

      cast(ni.Gateway asnvarchar(20))as DefaultGateway,

      cast(CASEWHEN si.Manufacturer ISNOTNULLTHEN si.Manufacturer ELSECASEWHEN hi.Manufacturer ISNOTNULLTHEN hi.Manufacturer ELSE n.Vendor ENDENDasnvarchar(256))as Manufacturer,

      cast(CASEWHEN si.Model ISNOTNULLTHEN si.Model ELSE hi.Model ENDasnvarchar(256))as ProductName,

      dbo.convertBtoMb(si.TotalMemoryB)as MemorySize,

      cast(si.MemorySlotsCount asvarchar(100))as MemorySlots,

      cast(p.Processor asnvarchar(max))as Processor,

      cast(p.ProcessorType asnvarchar(max))as ProcessorType,

      cast(p.ProcessorVersion asnvarchar(max))as ProcessorVersion,

      cast(p.ProcessorSpeed asvarchar(24))as ProcessorSpeed,

      cast(n.Vendor asnvarchar(64))as OSType,

      cast(CASEWHEN si.OperatingSystem ISNOTNULLTHEN si.OperatingSystem ELSE n.IOSImage ENDasnvarchar(150))as OSInfo,

      cast(CASEWHEN si.OSVersion ISNOTNULLTHEN si.OSVersion ELSE n.IOSVersion ENDasnvarchar(132))as ServicePack,

      n.LastSync as LastCheckIn,

      cast(si.LastLoggedInUser asnvarchar(100))as LastLoginName,

      dbo.convertBtoMb(h.TotalSize)as TotalSize,

      h.HardDriveCount as NumberOfDrives,

      cast(si.Manufacturer asnvarchar(200))as WarrantyProvider,

      si.WarrantyDate as WarrantyEndDate

from Nodes n

leftjoin AssetInventory_ServerInformationView si WITH(NOLOCK)on n.NodeID = si.NodeID

leftjoin APM_HardwareInfo hi on hi.NodeID = n.NodeID

leftjoin(select Gateway,UPPER(REPLACE(MACAddress,':',''))as MACAddress,IPAddress from AssetInventory_NetworkInterface WITH(NOLOCK)) ni on ni.IPAddress = n.IP_Address

leftjoin(

      selectMAX(NodeID)as NodeID,MAX(Caption)as Processor,MAX(Model)as ProcessorType,MAX(Stepping)as ProcessorVersion,CAST(MAX(CAST(SpeedMhz asvarchar))+' MHz'asvarchar)as ProcessorSpeed from AssetInventory_ProcessorView WITH(NOLOCK)groupby NodeID

      ) p on n.NodeID = p.NodeID

leftjoin(

      selectMAX(NodeID)as NodeID,Count(NodeID)as HardDriveCount,SUM(CapacityB)as TotalSize from AssetInventory_HardDrive WITH(NOLOCK)GROUPBY NodeID

      ) h on h.NodeID = n.NodeID

where ObjectSubType <>'ICMP'

ANDStatus<> 11

 

UNION

 

select

      cast(CRM_Account asnvarchar(20))as AccountNumber,

      cast('SRM'asnvarchar(3))as SourceType,

      srmn.StorageArrayID as MachineID,

      cast(srmc.AssetType asvarchar(11))as AssetType,

      cast(SUBSTRING(UserCaption,CHARINDEX('-',UserCaption)+1,LEN(UserCaption))asnvarchar(80))as ComputerName,

      cast(SerialNumber asnvarchar(201))as SystemSerialNumber,

      cast(NULLasnvarchar(40))AS MACAddress,

      cast(Name asnvarchar(64))as dnsComputerName,

      cast(NULLasnvarchar(64))AS Domain,

      cast(IPAddresses asnvarchar(20))as IpAddress,

      cast(NULLasnvarchar(20))as PublicIP,

      cast(NULLasnvarchar(20))as Gateway,

      cast(Manufacturer asnvarchar(256))as Manufacturer,

      cast(Model asnvarchar(256))as ProductName,

      cast(NULLasbigint)as MemorySize,

      cast(NULLasvarchar(100))as MemorySlots,

      cast(NULLasnvarchar(max))AS Processor,

      cast(NULLasnvarchar(max))AS ProcessorType,

      cast(NULLasnvarchar(max))AS ProcessorVersion,

      cast(NULLasvarchar(24))AS ProcessorSpeed,

      cast(Vendor asnvarchar(64))AS OSType,

      cast(Firmware asnvarchar(150))as OSInfo,

      cast(NULLasnvarchar(132))AS ServicePack,

      LastSync as LastCheckIn,

      cast(NULLasnvarchar(100))AS LastLoginName,

      dbo.convertBtoMB(CapacityRawTotal)  as TotalSize,

      Disks as NumberOfDrives,

      cast(NULLasnvarchar(200))as WarrantyProvider,

      cast(NULLasdatetime)as WarrantyEndDate

from SRM_StorageArrays srmn

innerjoin SRM_StorageArrayCustomProperties srmc on srmn.StorageArrayID = srmc.StorageArrayID

)



That's all I can muster at the moment while trying to get some work done but I will try to update this as often as possible.

Cisco Small Business RV130W

$
0
0

Hello,

Im using few CISCO RV130W (router for small branch) and I cant get information.

Someone has the ID for this device ??

Thanks

Unmanage Node Default Time Change

$
0
0

Is there a way to change the default time (one day) on the unmanage node pop-up window? I am thinking one day is way to long and would like a couple hours.

 

For example, when you unmanage a node at let's say to November 9 1:00pm, the default is to set the node to manage on November 10 1:00pm.

How to keep history date before deleting a node

$
0
0

Hi everyone,

 

I will delete a node and want to keep history data for reference later. Could anyone tell me how to backup history data and restore for having a look later.

 

Thank you.

Orion Website Error. This channel can no longer be used...

$
0
0

any idea about this error?

 

This channel can no longer be used to send messages as the output session was auto-closed due to a server-initiated shutdown. Either disable auto-close by setting the DispatchRuntime.AutomaticInputSessionShutdown to false, or consider modifying the shutdown protocol with the remote server. 

 

SolarWinds Orion Core 2010.1.0, NPM 10.0.0, NTA 3.6

F5 BIG-IP versions in use

$
0
0

What version of BIG-IP your F5s run?

DB locations

$
0
0

Hi!

 

I was able to setup a network topology map that shows me a visual representation of my network.

 

Now I need to generate a report that shows the same relationship.  Would anybody know which DB table has this information,  Or better yet, how to trace the location of the visual interpretation to the DB level.


Auto geolocation in 11.5.2

$
0
0

Greetings all!

 

Recently upgraded to 11.5.2 from 11.0.1.  Really interested in using the worldwide map to show locations of certain devices.  The autolocation setting is enabled on the web console settings page. I've tried setting various values in the SNMP location field on some device, including the actual coordinates for lat/long, as well as the address, in the formats listed in other posts here on Thwack.  I've verified that I can reach open.mapquestapi.com from my NCM server.  I've even tried adding the new custom properties for latitude and longitude and populating those on some nodes.  Nothing seems to work, and I'm left with a blank map.  Anyone got any other suggestions for making this work?

100% CPU Spikes every 5 minutes

$
0
0

For the longest time, we have been having a problem with our machine that houses our SolarWinds Orion/NPM database. Every five minutes or so, the CPU utilization spikes up to 100% and stays there for a few minutes before going back down again. Five minutes later, its back at 100% again. This has been happening ever since we've started to use NPM and setup the machine for it. I've tried a lot of different things to fix it, none of them worked.

 

After doing the smart thing and monitoring the activity on the SQL server, I found out whats probably causing the problem: the stored procedure for getting the current values of settings for SolarWinds Orion (sw_GetSettingsCurrentValue) is being ran thousands upon thousands of times (see attached)  and I can't figure out for the life of me why.

 

Is there something up with my Solarwinds installation that needs to be taken care of? Is there some setting that got messed up during setup?

Tell us your "Unknown" devices!

$
0
0

Sometimes devices show up in Orion as "unknown".  Those devices need to be added to our SysObjectID database.  We know about lots of them, but we'd like to hear which items you need.

 We need:

SysObjectID (which you can find in Node Details) in System Manager.

 
Vendor

Model

SNMP Polling Meraki Devices (NPM 11.0.1) - How To

$
0
0

Background:

Thousands of Meraki devices needed to be added to Solarwinds for my situation, and so the hunt began.  First stop was Meraki for some help, which led me to this document: https://docs.meraki.com/download/attachments/13500458/ConfigurationGuide-Meraki-SolarwindsSNMP%20(2).pdf?version=1&modif…  The document's instructions weren't for the implementation that I was looking for, and that document was all I could find in online.  What I needed was to poll the devices directly instead of through the dashboard.  When I followed Meraki's document for alerting, it wasn't what I was looking for.  Passing relevant information to the alerts wasn't available, based on Meraki's instructions.  Eventually, I accidentally stumbled upon the answer, and now looking back it seems so simple .

 

How-To Steps:

  • On the SolarWinds Network Discovery page, create a new discovery
  • Use the SNMP string that was input on each Meraki network under Network-wide>General or Configure>Alerts & administration (located on Meraki's dashboard) and click ‘next’
    • SNMP settings include the version (V1/V2c), and a SNMP string.  They are located under 'Reporting'
    • Meraki SNMP.png
  • Uncheck ‘poll for VMware’ and click next
  • Uncheck ‘add to NCM’ and click next
  • Click ‘next’ on the windows credentials page
  • Paste in your Meraki IPs and click on ‘next’
  • Set the Discovery name and click on ‘next’
  • Set your discovery schedule and click on ‘discover’
  • Select the Meraki device interfaces you’d like to import and click ‘next’
    • Selecting the advanced options section can help for picking out specific interfaces.
  • Click ‘next’ on the volume type page.
  • Click ‘import’ on the import preview page.
    • Wait for the import to finish before clicking on ‘finish’

 

Results:

Here's a Meraki MX80 that's been added.

MX80 SW Node.png

Here's an MR16 that's been added:

MR16 SW Node.png

After the nodes have been added, I setup alerts and they'll be able to pull helpful information (Hostname, IP, Custom Properties, etc.) when an event happens.

 

Misc. Info:

Version info: NPM 11.0.1

 

Devices I've tested:

Firewalls

MX80

MX400

 

Wireless Access Points

MR16

MR18

 

Switches

MS22P

 

Current issues:

From the screenshots you can see that the Last Boot date isn't correct, however that isn't a pressing issue for me.

 

I hope this will help some of you, and feel free to ask questions.

I'll be adding updates as more info comes in, so feel free to post what you have run into.

 

Message was edited by: Naters

Alert Prioritising Dashboard (SWQL) for Problematic Nodes (Servers)

$
0
0

Here is an example to use SWQL to build a view to display problematic nodes (servers) with issues from one or more flowing areas:

 

•    Node Status (column name: CONN) - (1 UP, 2 Down, ignore other status)

•    Node Response Time (column name: M_SECS) - in milliseconds, (> 0 OR When Node is Down, it is -1). If M_SECS> 500: Warning, If  M_SECS> 500: Critical

•    Node CPU Load (column name:  C_LOAD) - in percentage, (Between 0 - 100). If  C_LOAD > 95: Warning, If  C_LOAD > 98: Warning, If  C_LOAD =100: Down

•    Node Memory Usage (column name:  R_Load) - percentage, (Between 0 - 100). If  R_LOAD > 95: Warning, If  R_LOAD > 98: Warning, If  R_LOAD =100: Down

•    Node Highest Volume Usage (column name:  V_PERCENT) - (Between 0 - 100). If  V_PERCENT > 95: Warning, If  V_PERCENT > 98: Warning, If  V_PERCENT =100: Down

•    Node Hardware Components worst  Status (column name: HW_Status) -  (UP, Undefined, Unknown, Warning, Critical, n/a)

•    Node  Application worst Status (column name:  APP_Status)  - (UP, Unmanaged, Unknown, Unreachable, Warning, Critical, Down, n/a)

 

Alert-swql.jpg

 

In order to the worst (highest priority) condition are shown on the top of the list I gave each status different scores, and each column different weights. Then calculate total score as the priority. Here is the calculation:


•    wConn (Connection), scores: Down - 1000, Up - 0; weight 1.00
•    wTime (Response Time), scores:  > 1000ms - 80, >500ms - 10, other - 0; Weight 0.75
•    wCPU (CPU Load), scores: 100% - 600, >98% - 80, >95% - 10, Other - 0; Weight 1.00
•    wRAM (Memory Load), scores: 100% - 600, >98% - 80, >95% - 10, Other 0; Weight 1.00
•    wVol (MAX(Volume Usage)), the highest volume usage of all volumes on a node, scores: 100% - 600, >98% - 80, >95% - 10, Other 0; Weight 0.75
•    wHW  (Hardware Status (worst Value)), the worst HW component status of a node with HW monitor enabled   scores: Critical - 80, Warning - 10, Up - 0, other 1; Weight 0.50
•    wApp (Application Status (worst value), the worst application statues of a node with application monitors assigned.  scores: Down - 600, Critical - 80, Warning - 10, Up - 0, other 1; Weight 0.50

 

Maximum Total Weighted Score (Exclude wConn):  80*0.75 + 600*1.00 + 600*1.00 + 600*0.75 + 80*0.50 + 600 *0.50  = 2050

 

Priority = ROUND((t1.wTime*0.75 + t1.wCPU*1.0 + t1.wRAM*1.0 + t1.wVol*0.75 + t1.wHW*0.5 + t1.wApp*0.5)/2.05 + t1.wConn*1.00, 2)

 

Final Priority value is between 0 and 1000.

 

You can change the score and weight to meeting your requirement.

 

Steps:

  • Create a view; add “Custom Query” resource.

swql.jpg

 

  • In the view, edit Custom Query:
  • In the Custom SWQL Query box, add the codes in attached file “thwack-swql-alerts.txt”
  • Enable search, and in Search SWQL Query box, add the codes in attached file “thwack-swql-alerts-withSearch.txt”

 

Done!

 

Using Search:

 

•    By Node Name
If you want to just display a node or a group of nodes with similar names, type node name or part of the name in the search box and click search button.
•    By Connection Status
If you want to just display nodes in DOWN status, type “n 1” (white space between n and 1) in the search box and click search button.
•    By CPU or RAM or Volume usage
If you want to just display node with CPU or RAM or Volume usage above certain level, using the following:

     o    “c 80”  (CPU usage above 80%)
     o    “r 80” (Memory usage above 80%)
     o    “v 80” (Volume usage above 80%)
•    By Hardware Status
If you want to just display node with certain hardware status, type “h status” (‘status’ can be one of the following: UP, undefined, Unknown, Warning, Critical, n/a).
•    By Application Status
If you want to just display node with certain application status, type “a status” (‘status‘ can be one of the following: UP, Unmanaged, Unknown, Unreachable, Warning, Critical, Down, n/a).

 

You can customise the query to meeting your requirements.

 

Thanks Alex Soul's post https://thwack.solarwinds.com/docs/DOC-174568, which is very helpful!

 

===========================

 

Update:  As Alex suggested, I have updated the query and new files are attached. Thanks Alex!

 

===========================

 

Update: 11/March/2015

 

I have added 2 addition columns for Alert Prioritising Dashboard.

One column is AlertTime, another one is Acknowledge (Ack). The Ack column is click-able. Right click it and open a new windows to View or Acknowledge an alert.

Please see the additional document at https://thwack.solarwinds.com/docs/DOC-176727

 

alert-000.jpg

Report Scheduler Sending PDF's of login page with "Enable Cookies to Log in" Error.

$
0
0

How do I allow the Report Scheduler the ability to log into Solarwinds?

 

Currently using a local orion account for the scheduler.

Multiple running configwizard detected

$
0
0

Is there a way on how to terminate the configuration wizard that was already canceled?

 

Thank you.


My first time installing SolarWinds any recommendations.

$
0
0

My first time installing SolarWinds any recommendations.

Need help creating Availability Dashboard in SolarWinds trying to get away from previous custom PHP dashboard.

$
0
0

So I am new to my current job and I have been given the wonderful task of trying to make heads or tails of someone (no longer with the company) elses custom PHP code.   I do not have any experience with PHP, and I believe we should move away from the custom code and use Solarwinds for this project.   Basically I am reaching out to the thwack community for any support/ideas that will be useful in getting executive leadership to get on board with Using Solarwinds NPM for this dashboard and the data driving the dashboard....Currently as I understand it, the data that populates the dashbpoard for the VP's is not even pulled from Solarwinds its being pulled from ServiceNow which I believe to be inconsitant and even down right incorrect.   Please any help would be fantastic.

I will post an idea of what I want to create in solarwinds and hopefully get some idea if I should scrap the idea or not.

Thanks in advance..

MY first post so forgive me for the complete BARNY style - Also needed to scratch out some items that are company specific so....Dashboard.pngavaildashboard2.png

Configuring SNMP Version 3 on AIX

$
0
0

It took me a while to get the right combination of AIX SNMP Version 3 settings that will work with Authentication & Privacy enabled for Solar Winds.

Hopefully the steps below will help you get it working too. A list of sources which provided the clues I needed is at the end, its a long one as no single place had everything you will need. Hopefully this doco corrects that.

 

AIX Configuration

These steps worked ok on "AIX 6 TL08" and "AIX 7 TL 03".

 

  • Install the snmp.crypto fileset to enable encryption (Obtained mine from AIX 6 Expansion Pack DVD 5765-G62 11/2012)

> lslpp -cl snmp.crypto

#Fileset:Level:PTF Id:State:Type:Description:EFIX Locked

/usr/lib/objrepos:snmp.crypto:6.1.2.0::COMMITTED:I:56-bit DES Encrypted SNMPV3 Support:

/etc/objrepos:snmp.crypto:6.1.2.0::COMMITTED:I:56-bit DES Encrypted SNMPV3 Support:

 

  • Backup the /etc/rc.tcpip file as it's about to be modified
  • Turn on encryption with the snmp switch command:

> /usr/sbin/snmpv3_ssw -e

This command will create symbolic links as required to enable/disable the encrypted/non-encrypted versions of snmpd & clsnmp

  • Confirm and update /etc/rc.tcpip so that the following lines are no longer commented. Comment out dpid2 if it hasn't already been by the above.

---cut---

# Start up the Simple Network Management Protocol (SNMP) daemon

start /usr/sbin/snmpd "$src_running"

 

# Start up the hostmibd daemon

start /usr/sbin/hostmibd "$src_running"

 

# Start up the snmpmibd daemon

start /usr/sbin/snmpmibd "$src_running"

 

# Start up the aixmibd daemon

start /usr/sbin/aixmibd "$src_running"

---cut---

It looks like /usr/sbin/dpid2 functionality has been rolled into one of the above from at least AIX 6 TL08 onwards.

  • Backup your existing snmp configuration files

---cut---

/etc/snmpdv3.conf

/etc/clsnmp.conf

/etc/snmpd.boots

/etc/snmpd.peers

---cut---

  • Pick one of your servers /etc/snmpd.boots files and make that file uniform across all your servers. Here's an example of its contents:

---cut---

00000002000000000A454172 0000000082

---cut---

The first value is your EngineID, which can be something you made up, or one provided by the vendor. The second is the number of times snmp has been restarted. If you ensure this file is consistent across your AIX servers you can reuse your /etc/snmpdv3.conf file across them all. In turn, you can reuse the credentials when adding the nodes to Solarwinds. The auth/priv keys are married to the EngineID and won't work on another server if the EngineID is different there.

  • Generate a new auth key with your local EngineID.

---cut---

pwtokey -e -u auth <auth password> $(cat /etc/snmpd.boots | cut -f2 -d' ')

 

Display of 16 byte HMAC-MD5 privKey:

5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0

 

Display of 16 byte HMAC-MD5 localized privKey:

axxxxxxxxxxxxxxxxxxxxxxxxxxxxxx5

---cut---

Make a note of the non-localized key value. E.g 5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0 of the two above. Also ensure you make a note of the passwords of course. You _must_ use the passwords when adding the node to Solarwinds. Attempts to use the key instead met with failure, likely due to the need for the EngineID to be paired up with the key somehow (context field didn't help).

  • Generate a new priv key with your local EngineID. Again you're only interested in the non-localized key value. I'll use axxxxxxxxxxxxxxxxxxxxxxxxxxxxxx7 below for this.

---cut---

pwtokey -e -u priv <priv password> $(cat /etc/snmpd.boots | cut -f2 -d' ')

---cut---

  • Clear your command history if you're worried about maintaining the privacy of these keys (good habit but a touch paranoid!)

---cut---

> ~/.sh_history

---cut---

  • Update the /etc/clsnmp.conf file so it has an entry for local snmp testing. I'm using swro aka Solar-Winds-Read-Only. I might dabble with read-write later and want them segregated. Plug in your freshly generated auth/priv keys.

---cut---

/etc/clsnmp.conf

 

#winSnmpName  targetAgent  admin  secName  password  context secLevel authProto  authKey                           privProto  privKey

#----------------------------------------------------------------------------------------------------------------------------------------------------------

swro          127.0.0.1    snmpv3 swro     -         -       AuthPriv HMAC-MD5   5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0  DES axxxxxxxxxxxxxxxxxxxxxxxxxxxxxx7

---cut---

You can replace the first "swro" with the local server name if you like. In fact multiple duplicate lines with each server/IP (and consistant snmpd.boots & snmpdv3.conf files) will allow you to kick off clsnmp commands from this server to any other that has been updated with this process. Handy if you want to setup scripting to pull specific MIB/OID values etc from all servers etc.

  • Update your snmpd.peers file to ensure it has the details required for the snmpd process to access other components (e.g hostmibd/snmpmibd etc) for specific MIB/OID resources.

---cut---

/etc/snmpd.peers

 

###############################################################################

#

"gated"     1.3.6.1.4.1.2.3.1.2.1.2     "gated_password"

"dpid2"     1.3.6.1.4.1.2.3.1.2.2.1.1.2 "dpid_password"

"muxatmd" 1.3.6.1.4.1.2.3.1.2.3.1.1 "muxatmd_password"

#

# Enables cpu & volume information visibility to snmpd

"xmtopas"       1.3.6.1.4.1.2.3.1.2.1.3 "xmtopas_pw"

#

## EOF

---cut---

The default AIX set of "passwords" is being used above (and in the following snmpdv3.conf) which should get you sorted. Sing out if you spot any issues with this approach as it depends on locking out non-local access to snmpd via the snmpdv3.conf file except for auth/priv key holders.

For example, I didn't have an entry here for xmtopas. Once I put that in place the SolarWinds discovered resources list suddenly included "Volume Utilization" values aka filesystem and logical volume info. Once selected they appear in the "Asset Inventory" tab under logical volumes.

  • Update your /etc/snmpdv3.conf file with the one below. Swap out the auth/priv keys with the ones you generated above.

---cut---

##

## Solar Winds Specific Entries

##

#

USM_USER swro 00000002000000000A454172 HMAC-MD5 5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0 DES axxxxxxxxxxxxxxxxxxxxxxxxxxxxxx7 N -

#

VACM_GROUP swrogrp - swro readonly

#

VACM_VIEW swroview internet                    - included -

VACM_VIEW swroview 1.3.6.1.4.1.2               - included -

VACM_VIEW swroview 1.3.6.1.4.1.2.2             - included -

VACM_VIEW swroview 1.3.6.1.4.1.2.3             - included -

VACM_VIEW swroview 1.3.6.1.4.1.2.5             - included -

VACM_VIEW swroview 1.3.6.1.4.1.2.6             - included -

VACM_VIEW swroview directory                   - included -

VACM_VIEW swroview mgmt                        - included -

VACM_VIEW swroview mib-2                       - included -

VACM_VIEW swroview system                      - included -

VACM_VIEW swroview aix                         - included -

VACM_VIEW swroview 1.3.6.1.4                   - included -

VACM_VIEW swroview 1.3.6.1.6                   - included -

VACM_VIEW swroview 1.3.6.1.6.3.1.1.5           - included -

VACM_VIEW swroview 1.3.6.1.4.1.2021            - included -

VACM_VIEW swroview 1.3.6.1.4.1.2.3.1.2.2.2.1.4 - included -

#

# Include snmpv3 managed MIBs with this view

VACM_VIEW swroview snmpModules                 - included -

# Include aixmibd managed MIBS with this view

VACM_VIEW swroview 1.3.6.1.4.1.2.6.191         - included -

#

VACM_ACCESS swrogrp - - AuthPriv - swroview - sworoview -

 

 

##

## AIX Internal SNMP Agent Specific Entries

##

#

# Allow localhost(only) SNMPv1 general access

COMMUNITY public public noAuthNoPriv 127.0.0.1 255.255.255.255  -

VACM_GROUP group1 SNMPv1  public  -

VACM_ACCESS  group1 - - noAuthNoPriv SNMPv1   defaultView - defaultView -

#

VACM_VIEW defaultView internet                    - included -

# Exclude snmpv3 related MIBs from the default view

VACM_VIEW defaultView snmpModules                 - excluded -

VACM_VIEW defaultView 1.3.6.1.6.3.1.1.4           - included -

VACM_VIEW defaultView 1.3.6.1.6.3.1.1.5           - included -

# Exclude aixmibd managed MIBS from this view

VACM_VIEW defaultView 1.3.6.1.4.1.2.6.191         - excluded -

#

# Access to data from gated/muxatmd/xmservd/dpid

smux   1.3.6.1.4.1.2.3.1.2.1.2   gated_password  # gated

smux   1.3.6.1.4.1.2.3.1.2.3.1.1   muxatmd_password #muxatmd

smux   1.3.6.1.4.1.2.3.1.2.1.3   xmservd_pw   #xmservd

smux   1.3.6.1.4.1.2.3.1.2.2.1.1.2   dpid_password   #dpid

#

#

# These entries appear to be for IBM director at a guess

#  They allow it to participate with the above

#VACM_GROUP director_group SNMPv2c public -

#VACM_ACCESS director_group - - noAuthNoPriv SNMPv2c defaultView - defaultView -

#

# Trap definitions

NOTIFY notify1 traptag trap -

TARGET_ADDRESS Target1 UDP 127.0.0.1 traptag trapparms1 - - -

TARGET_PARAMETERS trapparms1 SNMPv1  SNMPv1  public  noAuthNoPriv -

 

 

##

## Global Defaults

##

#

# Set no access unless explicitly allowed by previous entries

DEFAULT_SECURITY no-access - -

#

# Set log location, maximum size, log level

logging         file=/usr/tmp/snmpdv3.log       enabled

#logging         size=100000                     level=0

logging         size=100000                     level=2

#

## EOF

---cut---

Still a work in progress locking down the AIX Internal SNMP agents and of course getting the right set of MIB included in the Solar Winds view. At least now I've something working I can fine tune and will be looking at other related posts here.

  • Stop all snmp related services

---cut---

stopsrc -s snmpmibd;stopsrc -s aixmibd;stopsrc -s snmpd;stopsrc -s hostmibd;stopsrc -s dpid2

---cut---

  • Start all snmp related servers (excluding the now redundant dpid2)

---cut---

startsrc -s snmpmibd;startsrc -s aixmibd;startsrc -s snmpd;startsrc -s hostmibd

---cut---

  • Test things out locally by using the walk option on clsnmp (yup, IBM included a cleverly disguised snmpwalk command). I'm using the "internet" MIB in this example, lots of output!

---cut---

clsnmp -h swro walk internet

---cut---

If you get an error here, odds are you've a mismatched EngineID and auth/priv keys. Check out your /usr/tmp/snmpdv3.log for more details. As mentioned earlier the "swro" here is a reference to the matching line in /etc/clsnmp.conf. A server name could be used here (if defined there) instead and would result in a remote test.

  • Once the dust settles, turn down the log level in snmpdv3.conf (level=0) to avoid excessive logging for daily operation.

 

Solar Winds Configuration

 

It should now be possible to add this node in Solarwinds.

Key Values

  • SNMP Version: SNMPv3
  • SNMPv3 Username: swro
  • SNMPv3 Authentication Method: MD5
  • SNMPv3 Authentication Password: Use the password from pwtokey above (don't use the key, it doesn't work)
  • SNMPv3 Privacy Method: DES56
  • SNMPv3 Privacy Password: Use the password from pwtokey above (don't use the key, it doesn't work)

 

Hit the test button to see if all is ok. If it isn't make sure the services have been started and check the snmpdv3.log for more clues (especially the "did solar winds get here at all" clue).

 

As I've standardized the /etc/snmpd.boot and /etc/snmpdv3.conf files across the estate I can re-use these credentials and have saved them as "aix-swro".

swSNMP01.png

 

 

Update 09/11/2015 - Post AIX upgrade (TL08/SP02 -> TL09/SP04) - Repair links to encrypted binaries

 

After the upgrade the links to the alternate, encrypted binaries for SNMP were reset to the default non-encrypted ones. This wasn't immediately apparent on Solarwinds until you try to "List Resources" for the node, which fails.

Solarwinds error: "<node> is currently down, unreachable, or provided credentials are not valid"

 

  • Login as root on the target server
  • Attempt an snmp walk to confirm this is the same problem

> clsnmp -h swro walk internet 1>/dev/null

Error reading file /etc/clsnmp.conf(Line 46):    Invalid securityLevel

clsnmp: 1473-406 Error converting destinationName swro to Entity.

  • Check the current snmp binaries being linked to

> ls -la /usr/sbin/snmpd /usr/sbin/clsnmp

lrwxrwxrwx 1 root system 9 Oct 14 12:02 /usr/sbin/snmpd -> snmpdv3ne

lrwxrwxrwx 1 root system 9 Oct 14 12:02 /usr/sbin/clsnmp -> clsnmpne

  • Change the links to the encrypted snmpd binary with the command:

> snmpv3_ssw -e

In /etc/rc.tcpip file, comment out the line that contains: dpid2

In /etc/rc.tcpip file, remove the comment from the line that contains: snmpmibd

Stop daemon: snmpdMake the symbolic link from /usr/sbin/snmpd to /usr/sbin/snmpdv3e

Make the symbolic link from /usr/sbin/clsnmp to /usr/sbin/clsnmpe

Start daemon: snmpd

  • Check the linked binary again

> ls -la /usr/sbin/snmpd /usr/sbin/clsnmpe

lrwxrwxrwx 1 root system 18 Nov 09 14:49 /usr/sbin/snmpd -> /usr/sbin/snmpdv3e

lrwxrwxrwx 1 root system 18 Nov 09 14:49 /usr/sbin/clsnmp -> /usr/sbin/clsnmpe

  • On the solarwinds console, retry "list resources" on the node to confirm all is ok again

 

Sources

- IBM Doco

-- IBM SNMPv3 Documentation [http://www-01.ibm.com/support/knowledgecenter/api/content/ssw_aix_71/com.ibm.aix.networkcomm/snmpv3_intro.htm]

-- Creating users in SNMPv3 in AIX [http://www-01.ibm.com/support/knowledgecenter/api/content/ssw_aix_71/com.ibm.aix.networkcomm/HT_commadmn_create_snmpv3_user.htm#create_snmpv3_user]

-- AIX 7.1 snmpdv3.conf file setup [http://www-01.ibm.com/support/knowledgecenter/ssw_aix_71/com.ibm.aix.files/snmpdv3.conf.htm?lang=en]

-- IBM SNMP key generation [http://publib.boulder.ibm.com/infocenter/aix/v6r1/index.jsp?topic=/com.ibm.aix.commadmn/doc/commadmndita/snmpv3_genkeys.htm]

-- Using the clsnmp command [http://www-01.ibm.com/support/knowledgecenter/ssw_aix_53/com.ibm.aix.cmds/doc/aixcmds1/clsnmp.htm?cp=ssw_aix_53%2F1-2-0-2-122&lang=en]

--- Useful to test an snmp configuration as this can interrogate your snmp server to confirm its working ok.

- Solar Winds Doco

-- Solarwinds SNMPV3 Implementation Guide [http://www.solarwinds.com/support/Orion/docs/Implementing_SNMPv3r1.pdf]

-- Managing SNMP credentials guidelines [http://www.solarwinds.com/netperfmon/solarwinds/wwhelp/wwhimpl/js/html/wwhelp.htm]

- Solar Winds Forums

-- Example SNMPv3 Configuration on AIX from Solarwinds forum [https://thwack.solarwinds.com/message/249258]

-- Help with SNMPv3.1 on AIX [http://thwack.solarwinds.com/thread/42695]

-- Using SNMPv3.1 on AIX [http://thwack.solarwinds.com/thread/36507]

-- Configuring 3rd party Net-SNMP [http://thwack.solarwinds.com/thread/19323]

-- AIX Specific mods [http://thwack.solarwinds.com/community/application-and-server_tht/server-and-application-monitor/content?filterID=content~category[application-monitor-templates]&filterID=content~objecttype~objecttype[document]&query=unix]

- Make AIX a Solarwinds client on snmpv3 [http://odme.blogspot.com.au/2012/09/make-aix-solarwinds-client-on-snmpv3.html]

- Configuring AIX snmpd for MIB subagent access [http://odme.blogspot.com.au/2012/09/snmpdv3-wont-talk-to-mib-subagents.html]

-- The aixmbid, snmpmibd and similar subsystems depend on snmp to talk to each other! Here's the settings they use to do so.

-- Very detailed setup of the AIX snmpd for MIB subagent config including extra mib defaultviews [http://forums.cacti.net/viewtopic.php?t=19040]

- Nagios setup for snmp [http://nagios.frank4dd.com/howto/aix-snmp-setup.htm]

-- Examples on using snmpwalk

-- Example snmpdv3.conf for Nagios with highlights for nagios specifics

- [http://lparbox.com/how-to/powerha-cluster/21]

- [http://www.mcpressonline.com/system-administration/techtip-monitoring-aix-with-snmp.html]

- Using snmpwalk [http://www.net-snmp.org/tutorial/tutorial-5/commands/snmpv3.html]

MINUTEMAN SNMP-NV6.UnDP

QOE and HTTPS

$
0
0

Does anyone know if the custom HTTP application in QOE can detect the URL in HTTPS traffic too? I have several hundred sites to monitor but all are accessed via HTTPS. Would it be better to use the SSL application instead?

Viewing all 21870 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>