Quantcast
Channel: THWACK: Document List - All Communities
Viewing all 9474 articles
Browse latest View live

What We're Working On - Serv-U FTP Server, Serv-U MFT Server & FTP Voyager - Updated Apr 10, 2017

$
0
0

To receive updates on the Serv-U roadmap, JOIN thwack and BOOKMARK this page

 

We are currently in the planning phase for the next release, we are investigating following areas. As we move forward we will update this post to reflect what we are working on short-term.  If there is anything missing or arguments to move things up, vote on product ideas or post a comment.

 

Off the heals of v15.1.5 which went GA in February 2017

Some of these items include:

 

 

 

Disclaimer:


Cisco IOS Software C3750

Cisco IOS Software 2921

What are we working on for IPAM (Updated on March 22, 2017)

$
0
0

To receive updates on the IPAM roadmap, JOIN thwack and BOOKMARK this page.

 

You spoke. We listened! Your feedback continues to be invaluable and incredibly important for us. More importantly, it's YOUR input that helps determine what goodies go into the pot. Based on your suggestions, this is what we having cooking up for you:

 

  • Extended API Support: For all you script nerds out there, we're extending our API support to provide two-way integration with 3rd party software. Yes, you will be able to create, modify and delete records.

  • VMware vRealize Orchestrator Integration: Want to integrate with your cloud and virtualization deployment? IPAM will automate the process of provisioning/reclaiming IP address and updating DNS records.

  • High Availability Support: High Availability (HA) will provide automatic failover protection when a failure occurs.

  • Additional Poller Support

 

  • Web-based Alerting and Reporting

 

 

  • MS SQL 2016 Support

  • High Availability (HA) Support for Standalone

  • TLS 1.2 Support

  • Windows Server 2016 Support

 

Got more ideas for our roadmap? Submit or vote on an existing feature request!

What We're Working on for NPM (Updated March 17th, 2017)

$
0
0

Since the release on NPM 12.1 we've been hard at working building the next round of exciting functionality and improvements in existing functionality.  I'm pleased to share the following list of items we're working on, in no particular order:

 

  • Network Insight for Cisco ASA - Covering things like VPN tunnel monitoring, ACL visibility, and improved platform health (H/A status, hardware health).
  • Improved Huawei Device Support - Starting with AR and NE series routers, followed by S1700, S2700, S5700, and S77xx series switches.
  • Improved Install/Upgrade - Faster, simplified product upgrades and installation of hot fixes, including updating multiple Orion products simultaneously.
  • Integrated Disaster Recovery Engine - Disaster recovery will provide redundancy to the Orion platform in multi-subnet deployment configurations.
  • Windows Authentication for SQL DB - Orion can optionally use AD user credentials to authenticate to the SQL database instead of SQL local credentials.
  • Support for SQL AlwaysOn - Support for SQL AlwaysOn in a multi-subnet failover configuration
  • Orion on RDS - Support for Amazon RDS as the repository for the Orion database
  • PerfStack Improvements - Including support for syslog and SNMP traps, DPA integration, alert visualization and correlation improvements, NCM change correlation, and export to Excel.
  • Improved dashboard customization
  • Integrated search

File Age Monitor (Wildcard)

Installing WHD on Centos.zip

Setting Up WHD 12.5 Appliance.zip


Why you should NOT use the WHD appliance!

Slack Notify perl script

What Solarwinds DONT tell you about WHD RHEL deployment!

$
0
0

1. The network adapter in rhel is not set to turn on automatically on boot. You need to do this manually.q.png

 

2. RHEL comes with firewalld which must be disabled before installation or you will not be able to connect from another client. y.png

3. WHD listening port is actually tcp6. e.png

 

4. The uninstall commands for whd as outlined in the whd 12.5 admin guide procedures dont actually work.

t.png

r.png

https://support.solarwinds.com/Success_Center/Web_Help_Desk_(WHD)/WHD_Admin_Guide/030_Install_the_application/040_Install_on_a_Linux_system

 

 

 

 

 

7. IPV6 should be disabled if not in use by your organisation.

w.png

WHAT WE'RE WORKING ON FOR VIRTUALIZATION MANAGER (UPDATED April 10, 2017)

$
0
0

With the current release of Virtualization Manager (VMAN) 7.1, PerfStack, Predictive Recommendations, & Cloud Infrastructure Monitoring for AWS have been added to the VMAN feature set. As part of SolarWinds effort to evolve VMAN into a complete monitoring and management tool for virtualization, we are already working on our next release.  Here are the highlights of what we are currently working on:

 

Unexpected Simplicity

  • Removal of the appliance dependency by moving to native Orion installer for VMAN
    • VMAN Polling natively on Orion
    • Capacity Planning on Orion - Improved functionality and modeling of user based scenario planning
    • Native Orion Search functionality
  • Poll Microsoft System Center Virtual Machine Manager (SCVMM)
  • VMware vCenter and Microsoft Hyper-V Events in VMAN Perfstack
  • Improved Orion Charting

Performance Optimization

  • Recommendations
    • Storage performance-based recommendations

      • Integrate SRM data into recommendations
    • Network performance-based recommendations
      • Integrate NPM & NTA data into recommendations
  • Affinity & anti-infinity policies
  • Batch execution of recommendations at the same time

Hybrid IT

  • Extending VMAN functionality to cloud infrastructure monitoring:
    • management actions, monitoring (sprawl and alerting), capacity planning, & recommendations.
  • Provide cloud infrastructure monitoring for Azure
  • vSphere vSAN - Integration with the VSAN API for in-depth VSAN storage reporting in VMAN.

 

If you don't see what you are looking for here, you can always add your idea(s) and vote on features in our Virtualization Manager Feature Requests forum.

What Are We Working on for Mobile Admin

$
0
0

To receive updates on the Mobile Admin roadmap, JOIN thwack and BOOKMARK this page.

 

The Mobile Admin team is currently focused on upgrading the iOS app to 64-bit version.

 

Disclaimer:

What are we working on for IPAM (Updated on March 22, 2017)

$
0
0

To receive updates on the IPAM roadmap, JOIN thwack and BOOKMARK this page.

 

You spoke. We listened! Your feedback continues to be invaluable and incredibly important for us. More importantly, it's YOUR input that helps determine what goodies go into the pot. Based on your suggestions, this is what we having cooking up for you:

 

  • Extended API Support: For all you script nerds out there, we're extending our API support to provide two-way integration with 3rd party software. Yes, you will be able to create, modify and delete records.

  • VMware vRealize Orchestrator Integration: Want to integrate with your cloud and virtualization deployment? IPAM will automate the process of provisioning/reclaiming IP address and updating DNS records.

  • High Availability Support: High Availability (HA) will provide automatic failover protection when a failure occurs.

  • Additional Poller Support

 

  • Web-based Alerting and Reporting

 

 

  • MS SQL 2016 Support

  • High Availability (HA) Support for Standalone

  • TLS 1.2 Support

  • Windows Server 2016 Support

 

Got more ideas for our roadmap? Submit or vote on an existing feature request!

Orion監視対象と要件を確認する

$
0
0

本記事では、Orion製品をご検討いただく上で必要な条件などを確認するための簡易ガイドとなります。

貴社環境にて、製品の動作をご確認いただくには、ソフトウェアをインストール可能なWindows OSと

監視対象の準備が必要となります。監視対象は、ご確認いただく製品の種類によって異なります。

詳しくは以下のリストをご確認いただき、必要な製品を

 

Orion製品には主にネットワーク管理製品群とサーバー・アプリケーション管理製品群に分類できます。

また、モジュール構成となっており、必要な機能必要なサイズ(監視対象数)でご購入いただくことが可能です。

Orionとは、プラットフォームの名称であり、WEBコンソールをはじめ、アラート、レポートなど共通機能を提供します。

いずれかの製品をご購入いただくとご利用いただける仕組みとなっております。

ご利用用途に応じて、モジュール形式となるソフトウェアとサイズを選択いただき、ご利用いただけます。

スクリーンショット 2016-08-25 11.55.50.png

製品の主な機能の紹介

  • Network Performance Monitor (NPM):
    • ネットワークに接続された機器のパフォーマンスをICMP、SNMPWMI、vmware APIなどを通じて可視化
    • ネットワーク機器のみならず、サーバーステータスやHyper-V、vmware仮想化環境の情報も可視化することが可能
    • アプリケーション通信の何だか遅いを見える化する仕組みQuality of Experiense (QoE)機能を搭載しており、通信遅延を見える化
  • NetFlow Traffic Analyzer (NTA):
    • NetFlow、sFlowなどを受信分析し、アプリケーション種別、送信元、送信先を元にした企業ネットワークのトラフィックを可視化
    • NetFlowはCiscoルータ、Catalyst(3750は一部対応のため詳しくはこちらを参照)、FortiGateなどでサポート
    • sFlowは、Apresia、アライドテレシス、NEC製品などでサポート(設定方法やFlow対応機器などの情報は、こちらを参照)
  • Network Configuration Manager (NCM):
    • ネットワーク機器の設定情報をバックアップし、コンフィグの分析結果から脆弱性情報やコンプライアンスレポートを出力
  • IP Address Manager (IPAM):
    • IPアドレスの利用状況をICMPとレイヤ3装置のARPテーブル分析によってリスト化
    • ICMPエコーリクエストを送信し、ICMPエコーリプライ(いわゆるPing)を受信することによりIPアドレスの利用状況を確認
    • レイヤ3装置のARPテーブルを収集することにより、ネットワーク接続されたPingに応答しないIPアドレスも確認可能
  • User Device Tracker (UDT):
    • ユーザー端末のネットワークへの接続状況をL2機器のMACアドレス学習情報とARPテーブルの分析によってトラッキング
  • VoIP & Quality Manager (VNQM):
    • Cisco Call Manager, Avaya Communication Managerなどと連携し、iP電話の通話品質の可視化、さらにCisco IP SLAを使った拠点間の通信品質の可視化
  • Server & Application Monitor (SAM):
    • サーバーとアプリケーションのパフォーマンス情報をエージェントレスで可視化するSAM
  • Web Performance Monitor (WPM):
    • WEBアプリの読み出しパフォーマンスをアクセス状態を再現することにより可視化
  • Storage Resource Monitor (SRM):
    • 様々なストレージベンダーの機器を一括して、ストレージシステムのパフォーマンスを一覧表示
  • Virtualization Manager (VMAN):
    • 定期的に取得した仮想化基盤の状態を保持・分析し、ヒストリカルデータとして再現

Telnet Test template

Table of Third Party Patches - Updated 04/13/2017

$
0
0

Simplify and automate these patches and more with SolarWinds Patch Manager.


Check out the attached spreadsheet for recent patches.

The Patch Manager catalog contains the following products:

 

 

VendorApplicationsLatest VersionLast Updated On
7-Zip7-Zip16.0410/04/16

Adobe

Air25.0.0.13403/14/17
Flash Player (ActiveX, Plugin & PPAPI)25.0.0.14804/13/17
Flash Player ESR (ActiveX & Plugin)18.0.0.38210/13/16
Shockwave12.2.8.19803/16/17
ApacheTomcat v77.0.7704/03/17
Tomcat v88.0.4404/03/17
Tomcat v8.58.5.1304/03/17

Apple

Apple Application Support5.4.103/24/17
Apple Mobile Device Support10.3.1.203/24/17
iTunes12.6.0.9503/24/17
QuickTime7.7.901/07/16
CitrixReceiver for Windows Enterprise4.703/20/17
FileZillaFileZilla Client3.25.103/20/17
FoxitFoxit Enterprise Reader8.2.1.687103/02/17
GoogleChrome57.0.2987.13303/31/17
MalwarebytesMalwarebytes Anti-Malware3.0.6.146902/01/17
MicrosoftSkype7.34.0.10203/24/17

Mozilla

Firefox52.0.203/31/17
Firefox ESR45.803/08/17
Thunderbird52.004/07/17
SeaMonkey2.4612/28/16
Notepad++Notepad++7.3.303/09/17
OracleJava Runtime Environment8u12101/19/17
OperaOpera Chromium44.0.2510.115904/05/17
RealVNCVNC Server6.0.202/15/17

SolarWinds

Dameware MRC Standalone12.0.305/05/16
Dameware MRC Centralized12.0.305/05/16
Patch Manager WMI Providers2.1.2.303409/30/16
UltraVNCUltraVNC Server1.2.1.211/03/16
UltraVNC Viewer1.2.1.211/03/16
VLCVLC Media Player2.2.406/05/16
VMwareVMware Tools10.1.510/28/16
WinRARWinRAR5.408/29/16
WinZipWinZip21.0.1228810/28/16

 

Change History (current month + 1):

 

04/13

  • Adobe Flash Player 25.0.0.148 (04/11)

 

04/07

  • Mozilla Thunderbird 52.0 (04/04)

 

04/05

  • Opera Chromium 44.0.2510.1159 (04/05)

 

04/03

  • Apache Tomcat 7.0.77 (04/02)
  • Apache Tomcat 8.0.43 (04/02)
  • Apache Tomcat 8.5.13 (03/30)

 

03/31

  • Mozilla Firefox 52.0.2 (03/28)
  • Google Chrome 57.0.2987.133 (03/29)

 

03/24

  • Apple Application Support 5.4.1 (03/21)
  • Apple Mobile Device Support 10.3.1.2 (03/21)
  • iTunes 12.6.0.95 (03/21)
  • Skype 7.34.0.102 (03/23)

 

03/23

  • Opera Chromium 44.0.2510.857 (03/21)

 

03/21

  • Citrix Receiver 4.7 (03/20)
  • Fillezilla 3.25.1 (03/20)
  • Mozilla Firefox 52.0.1 (03/17)

 

03/20

  • Apache Tomcat 7.0.76 (03/13)
  • Apache Tomcat 8.0.42 (03/14)
  • Apache Tomcat 8.5.12 (03/16)
  • Filezilla 3.25.0 (03/14)
  • Google Chrome 57.0.2987.110 (03/17)

 

03/16

  • Adobe Air 25.0.0.134 (03/14)
  • Adobe Flash 25.0.0.127 (03/14)
  • Adobe Shockwave 12.2.8.198 (03/14)

 

03/10

  • Google Chrome 57.0.2987.98 (3/9)

 

03/09

  • Mozilla Thunderbird 45.8.0 (3/7)
  • Notepad++ 7.3.3 (3/8)

 

03/08

  • Mozilla Firefox 52.0 (3/7)
  • Mozilla Firefox ESR 45.8.0 (3/7)

 

03/02

  • Foxit Reader 8.2.1.6871 (3/1)

 

03/01

  • Opera v43.0.2442.1144 (2/28)

Group Account Monitoring

WHAT WE'RE WORKING ON FOR VIRTUALIZATION MANAGER (UPDATED September 15, 2016)

$
0
0

Now that Virtualization Manager (VMAN) 6.3 includes management actions, alert remediation, and more, we’ve moved full steam ahead on the next release. We are continuing the evolution into a complete monitoring and management tool for virtualization environment. Here are the highlights of what we are currently working on:

 

Unexpected Simplicity

  • Migration to the SolarWinds Orion platform - This is more than just a port, we are adding functionality from the ground up to features you loved on the appliance to natively run on Orion without the appliance.
  • Native Orion Search functionality
  • Red Hat Enterprise Virtualization (KVM) support
  • Citrix XenServer Support
  • Poll Microsoft System Center Virtual Machine Manager (SCVMM)
  • VMware vCenter and Microsoft Hyper-V Events

Performance Optimization

  • Recommendations - Recommended actions to take to ensure performance, optimal capacity, avoid potential issues, and improve uptime.
    • Active recommendations which resolve immediate issues identified by VMAN alerts.
    • Predictive recommendations which prevent critical issues from occurring and optimize your virtual infrastructure.

Hybrid IT

  • Cloud Monitoring and Management
    • Provide VMAN management, monitoring (sprawl and alerting), capacity planning, & recommendations to cloud providers.
  • vSphere vSAN - Integration with the VSAN API found in virtual SAN 6.2

 

If you don't see what you are looking for here, you can always add your idea(s) and vote on features in our Virtualization Manager Feature Requests forum.

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.

Viewing all 9474 articles
Browse latest View live


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