Cisco UCS Chassis Inventory with Status.UnDP
Juniper SRX1400 v2
Network Atlas template PNGs
Cisco UCS Active Hardware Alerts in Solarwinds
How to create a simple custom view of multiple interfaces' bandwidth utilization
I've used custom views to show clients and my Team many different things that NPM monitors, and those folks really appreciate the service. You can be a rock star in their eyes when you give them something that helps them improve how they and their clients understand their systems and their performance.
Here's how to build a custom View that shows current and recent WAN interface utilization between routers connecting six different data centers. Remember, your new View doesn't have to be of just interfaces on the same switch, or on the same router.
You can build this kind of report for as many interfaces as you'd like, from any switch or router or device interface that's monitored by your NPM. This one shows a single WAN interface on six different routers that connect into the same MPLS cloud:
Here's how to do it:
Create the view:
1. From NPM, go to Settings > Manage Views > Add
2. Customize the new view:
- Name it intuitively
- Select Summary (there are MANY types of views. Read up on them, test some to get a feel for the extreme versatility of NPM)
- Click Submit
3. Edit the View.
- You can change its name if you want.
- I chose not to enable Left Navigation--this will be simple, and won't load a lot of info.
- I added a Custom HTML Resource to Column 1, then cloned it three times. Next I moved one instance into Column 2, and then cloned that one twice. I ended up with three Custom HTML Resources in each column.
- I set the width to 500 px for each
- I set No View Limitation (but you can add one in if you need it)
- Click Done or Preview. Preview lets you see it right away, without assigning it to any Menu Bar. Plus, you can edit those custom HTML fields.
4. Here's the sweet spot to make you rock in the eyes of your boss & peers because it gives you the power to make a really useful view:
- Open a second browser window to your NPM
- Browse to a router node and open it
- Open the interface that faces the WAN
- Look at the URL bar and note the NetObject= section. Example:
- http://your_server_name_here/Orion/Interfaces/InterfaceDetails.aspx?NetObject=I:XXXXX&view=InterfaceDetails
- Copy or write or memorize the NetObject number for use in the next step
5. Edit your new View in Preview, or assign it to a Menu Bar and open it
- Click Edit in the top left Custom HTML window
- Give it an intuitive Title
- Fill in the Subtitle if that helps you better identify the interface or feature you're displaying
- Copy and paste this into the html window:
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:XXXX&CustomPollerID=&SampleSize=1H&Period=Last 10 Days&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
- Where I've put in the X's, remove them and enter in the NetObject ID number you wrote down from the previous step
- Click Submit
The new page should open, but this time the top left window won't say Custom HTML, it'll show the bandwidth used by that router's WAN interface for the last 10 days:
Now repeat this for every Custom HTML entry you've made, but change the NodeID info to the Node ID that's shown in the Interface Details page URL for new/different WAN routers and interfaces.
OK, you've made a new View. But your team can't access it easily until you assign your new View to the Menu Bar they use. If you don't know how to do that . . .
Here's how to define a new View to add to a Menu Bar:
- Go to NPM > Settings > Customize Menu Bars
- Edit the Menu Bar you or your team will use to access your new View
- Find your new View in the Available Items column on the left
- Drag it to the right column, drop it in where you want it.
If you can't find your new View, you'll need to discover its URL. Follow this process:
- Open a second browser window and Edit the View by clicking the Preview open
- Copy the URL for the new View when you're previewing it
- Go back to the original browser window from step 3 and click Add
- Type in the Name of your View, paste in the URL address, give it a good Description
- I clicked the option to Open in a New Window. It's your choice.
- Click OK
Now go back to NPM's Home Page, find the new View in the Menu Bar, and click on it.
Voila!
Tweaking and tuning:
If you're not afraid of a little keyboard editing of html, you can easily change the 10 days to show the last 7 days or last 23 hours or last 17 minutes or last pretty-much-anything. Here's how:
Look for "SampleSize" and "Period" in the code you copied & pasted
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:XXXX&CustomPollerID=&SampleSize=1H&Period=Last 10 Days&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
Note the SampleSize is 1H, or One Hour.
Node the Period is the Last 10 Days
Edit each window in your view and change the SampleSize and Period to whatever works best for you. Keep in mind that some combinations of SampleSize and Period don't go well together (e.g.: SampleSize=1M and Period=Last 10 Months) because NPM needs to have you be reasonable. If you want a graph showing changes every 1 minute, you have to be polling & collecting the data pretty frequently. Pick a Period that's reasonable for seeing good granularity of 1 minute points, like Last 20 Minutes. If you just see points instead of a line in the chart, you've picked a combination of sample size & period that's too granular for what your NPM has polled. Adjust until you've got something that meets your needs.
Remember to keep the spacing in the html code exactly the same as the example I show above. If you add a space between words, or remove one, you risk breaking the pretty graph output.
Some examples:
Show the Last 3 Hours, in 10-minute increments uses this code:
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:XXXX&CustomPollerID=&SampleSize=10M&Period=Last 3 Hours&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
Note how the graph automatically changed "Last 10 Days" to "Last 3 Hours" in the title. Sweet!
Suppose you like the 10 minute samples, but want to show the last 24 hours. Just change "Last 10 Hours" to "Last 24 Hours":
<img src="/Orion/Netperfmon/Chart.aspx?ChartName=MMAvgBps&Title=&SubTitle=&SubTitle2=&Width=640&Height=0&NetObject=I:25091&CustomPollerID=&SampleSize=10M&Period=Last 24 Hours&FontSize=1&NetObjectPrefix=I&SubsetColor=&RYSubsetColor=&Printable=true&ShowTrend=True&ResourceID=27" />
If it looks great, fire off an e-mail to your Team or your Boss and show off the new functionality you've provided to the organization.
If it doesn't look great, spend a little time fixing it up. Look for typos, fix spelling & punctuation--this is your baby, and folks will judge you by your work.
Swift Packets!
Rick Schroeder
Custom SWQL Views Manager
Alert on Nodes that stopped responding to SNMP
SWQL - Active Alerts Report
Ruckus ZD1200 v3
Disk / Volume / RAM / Memory Calculation
Here is the calculation for the Disk / Volume / RAM /below and example.
What object IDs (OIDs) does Orion NPM poll for volume information? What types of volume information does Orion NPM poll?
Linux / Unix based Systems
You can run the MIB Walk for the Node in Question in order to find out what values been returned by the Node for required OID's as below.
Here is MIB walk tool details
******** MIb Walk Result from the Node **********
.1.3.6.1.2.1.25.2.3.1.3.1 = String: "Physical RAM"
.1.3.6.1.2.1.25.2.3.1.3.2 = String: "Virtual Memory"
.1.3.6.1.2.1.25.2.3.1.3.3 = String: "/"
.1.3.6.1.2.1.25.2.3.1.3.4 = String: "/proc"
.1.3.6.1.2.1.25.2.3.1.3.5 = String: "/dev/pts"
.1.3.6.1.2.1.25.2.3.1.3.6 = String: "/proc/bus/usb"
.1.3.6.1.2.1.25.2.3.1.3.7 = String: "/partB"
.1.3.6.1.2.1.25.2.3.1.3.8 = String: "/common"
.1.3.6.1.2.1.25.2.3.1.3.9 = String: "/grub"
.1.3.6.1.2.1.25.2.3.1.3.10 = String: "/dev/shm"
.1.3.6.1.2.1.25.2.3.1.3.11 = String: "/spare"
.1.3.6.1.2.1.25.2.3.1.3.12 = String: "/proc/sys/fs/binfmt_misc"
.1.3.6.1.2.1.25.2.3.1.4.1 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.2 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.3 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.4 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.5 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.6 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.7 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.8 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.9 = INTEGER: 1024
.1.3.6.1.2.1.25.2.3.1.4.10 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.11 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.4.12 = INTEGER: 4096
.1.3.6.1.2.1.25.2.3.1.5.1 = INTEGER: 1021591
.1.3.6.1.2.1.25.2.3.1.5.2 = INTEGER: 512034
.1.3.6.1.2.1.25.2.3.1.5.3 = INTEGER: 4232703
.1.3.6.1.2.1.25.2.3.1.5.4 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.5.5 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.5.6 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.5.7 = INTEGER: 4232699
.1.3.6.1.2.1.25.2.3.1.5.8 = INTEGER: 17502476
.1.3.6.1.2.1.25.2.3.1.5.9 = INTEGER: 252879
.1.3.6.1.2.1.25.2.3.1.5.10 = INTEGER: 510795
.1.3.6.1.2.1.25.2.3.1.5.11 = INTEGER: 8468466
.1.3.6.1.2.1.25.2.3.1.5.12 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.6.1 = INTEGER: 447260
.1.3.6.1.2.1.25.2.3.1.6.2 = INTEGER: 52
.1.3.6.1.2.1.25.2.3.1.6.3 = INTEGER: 2837178
.1.3.6.1.2.1.25.2.3.1.6.4 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.6.5 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.6.6 = INTEGER: 0
.1.3.6.1.2.1.25.2.3.1.6.7 = INTEGER: 2736606
.1.3.6.1.2.1.25.2.3.1.6.8 = INTEGER: 7646375
.1.3.6.1.2.1.25.2.3.1.6.9 = INTEGER: 4303
.1.3.6.1.2.1.25.2.3.1.6.10 = INTEGER: 5422
.1.3.6.1.2.1.25.2.3.1.6.11 = INTEGER: 8256
****************** Physical Disks ******************
hrStorageDescr = .1.3.6.1.2.1.25.2.3.1.3.3 = String: "/"
hrStorageAllocationUnits= .1.3.6.1.2.1.25.2.3.1.4.3 = INTEGER: 4096
hrStorageSize .1.3.6.1.2.1.25.2.3.1.5.3 = INTEGER: 4232703
hrStorageUsed = .1.3.6.1.2.1.25.2.3.1.6.3 = INTEGER: 2837178
Calculations :
Volume size 4232703 x 4096 17337151488 Bytes 16.146 GB
Volume used 2837178 x 4096 11621081088 Bytes 10.822 GB
space available 17337151488 - 11621081088 = 5716070400 5.323 GB .
Percentage 10.8/16.14 * 100 65%
****************************************************
hrStorageDescr = .1.3.6.1.2.1.25.2.3.1.3.1 = String: "Physical RAM"
hrStorageAllocationUnits= .1.3.6.1.2.1.25.2.3.1.4.1 = INTEGER: 4096
hrStorageSize .1.3.6.1.2.1.25.2.3.1.5.1 = INTEGER: 1021591
hrStorageUsed = .1.3.6.1.2.1.25.2.3.1.6.1 = INTEGER: 447260
Calculations : Physical RAM
Volume size 1021591 x 4096 4184436736 Bytes 3.897 GB
Volume used 447260 x 4096 1831976960 Bytes 1.706 GB
space available 1831976960 - 4184436736 = 2352459776 2.1 GB
Percentage 1.706/3.897 * 100 43%
*********************************************************
hrStorageDescr = .1.3.6.1.2.1.25.2.3.1.3.2 = String: "Virtual Memory"
hrStorageAllocationUnits= .1.3.6.1.2.1.25.2.3.1.4.2 = INTEGER: 4096
hrStorageSize .1.3.6.1.2.1.25.2.3.1.5.2 = INTEGER: 512034
hrStorageUsed = .1.3.6.1.2.1.25.2.3.1.6.2 = INTEGER: 52
Calculations : Virtual Memory
Volume size 512034 x 4096 2097291264 Bytes 1.953 GB
Volume used 52 x 4096 212992 Bytes 0.0001 GB
space available 212992 - 2097291264 = 2097078272 1.953 GB .
Percentage 0.0001/1.953 * 100 0.0%
///////////////////////////////////////////////////////////////
Adding Few more explanation here for Cisco Call Manager Showing 99% Memory Utilization in Orion .( just in case someone having this issue )
The reason you are seeing 99% is due to the Cisco MCS returning back those values.
Why its doing this, you have to Open Cisco TAC.
NPM is returning back the values its being supplied with, in this case showing 99%.
Poller type: Used .
- N.Memory.SNMP.CpqHostPhysicalMemory =
Memory poller for OpenVMS systems which support proprietary CPQ-Host MIB
Poller utilizes GetSubtree request with two OIDs to gather total and used memory:
cpqHoPhysicalMemorySize = 1.3.6.1.4.1.232.11.2.13.1.
cpqHoPhysicalMemoryFree = 1.3.6.1.4.1.232.11.2.13.2.
Total memory is computed using this formula:
memoryTotal = cpqHoPhysicalMemorySize * 1024
Used memory is computed using this formula:
memoryUsed = memoryTotal - (cpqHoPhysicalMemoryFree * 1024)
MIB Walk shows:
.1.3.6.1.4.1.232.11.2.13.1.0 = INTEGER: 3990 = cpqHoPhysicalMemorySize
.1.3.6.1.4.1.232.11.2.13.2.0 = INTEGER: 60 = cpqHoPhysicalMemoryFree
memoryTotal = 3990 * 1024 = 4085760
memoryUsed = 4085760 - (60 * 1024) = 4085760 – 61440 = 4024320
PercentUsed = 4024320/4085760 = 98.496% = 99%
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
For Linux Server for Poller assigned N.Memory.SNMP.NetSnmpReal
If poller assigned
N.Memory.SNMP.NetSnmpReal
/// memTotalReal = 1.3.6.1.4.1.2021.4.5.
/// memAvailReal = 1.3.6.1.4.1.2021.4.6.
/// memCached = 1.3.6.1.4.1.2021.4.15.
/// memBuffer = 1.3.6.1.4.1.2021.4.14.
/// UsedMemory = (totalMem - availMem - cachedMem - bufferMem) * 1024
.1.3.6.1.4.1.2021.4.5.0 = INTEGER: 2073620 (Total )
.1.3.6.1.4.1.2021.4.6.0 = INTEGER: 1869968 (Available )
.1.3.6.1.4.1.2021.4.15.0 = INTEGER: 88008 (cachedMemory )
.1.3.6.1.4.1.2021.4.14.0 = INTEGER: 51868 (BufferMemory )
( 2073620– 1869968– 88008– 51868 ) = 63776
63776 * 1024 = 65306624 bytes
********************
Vmware ESX Memory Calculation
Supported Poller
The "Memory" Usage and the "Physical Memory" Utilization are calculated differently by Orion NPM.
Memory:
The Memory is the sum of the memory used by the processes listed in the HOST-RESOURCES-MIB:hrSWRunPerfTable (1.3.6.1.2.1.25.5.1).
The OID used is the hrSWRunPerfMem (1.3.6.1.2.1.25.5.1.1.2).
Physical Memory:
The Physical Memory is calculated based on the values populated in the HOST-RESOURCES-MIB:hrStorageTable (1.3.6.1.2.1.25.2.2.3).
The OIDs used are hrStorageSize (1.3.6.1.2.1.25.2.3.1.5), hrStorageUsed (1.3.6.1.2.1.25.2.3.1.6) and hrStorageAllocationUnits (1.3.6.1.2.1.25.2.3.1.4) .
Cisco UCS Config Down loader Tool
This tool can be used to view how the UCS is actually configured and required output by Solarwinds Support.
( Please Note : This is not the actual configuration down loader like as NCM )
Please run this tool - it will collect some data about UCS to xml file.
Then please check the file how the UCS is configured.
Run it from CMD:
- UCSDownloadXML.exe /S:199.168.1.89 /U:User /P:password /O:output.xml
in a case you are using SSL:
- UCSDownloadXML.exe /SSL /S:199.168.1.89 /U:User /P:password /O:output.xml
S: - source IP address
U: - user
P: - password
O: - output file
Database transaction log is full - Recovery ( Simple Mode vs Full Mode )
Growth is either down to 2 reasons:
1 NO DISK SPACE
2 LDF Autogrowth restriction has been reached
First thing I would do is Change Recovery from FULL to SIMPLE if not done so already
Here is Good explanation of Simple VS Full Recovery:
http://msdn.microsoft.com/en-us/library/ms189275.aspx
Transaction Log Size
The transaction log should be sized based on the amount of data modifications made to a database and the frequency of the log backups.
Large data modifications, such as data loads or index rebuilds should be taken into account when calculating a log file size.
In simple recovery model the transaction log should not grow as the interval between checkpoints (which truncate the log) is based on the amount of data modifications made.
If the log does grow, it may be that there are long-running transactions or transactions that have been left open. Either may indicate a problem with the application.
In full or bulk-logged recovery model, if the transaction log grows it may indicate that the frequency of data modifications has increased and as such,
the interval between log backups should be decreased. It may also indicate long running transactions or that the log backup jobs are not running properly.
RESOLUTION STEPS :-
.LDF file grows out of control, How to recover:
1.) Make sure recovery model is set for SIMPLE and NOT FULL
http://knowledgebase.solarwinds.com/kb/questions/1359/Changing+Recovery+Model+of+database+back+to+Simple
2.) Backup the database, this will mark the data in the transaction logs as committed and no longer necessary.
3.) Shrink the database again to reclaim the log space. (PLEASE NOTE YOU MUST HAVE SOME FREE SPACE ON THE DISK IN ORDER TO RUN THE SHRINK )
How to: Shrink a Database (SQL Server Management Studio)
How to: Shrink a File (SQL Server Management Studio)
- 4.) If above doesn’t work as last resort is to detach the database (do not force it to detach if it gives an error that it can not detach, this will damage the database)
once detached delete the .LDF file and reattach the database. - 4.) Stop Orion Services.
5.) In the SQL Mgt Studio or Orion Database Manger, right-click on the NetPerfMon database and choose "Detach".
6.) Navigate to that directory where the MDF and the LDF files are stored, and delete ONLY the LDF file.
7.) Go back into the database manager, right-click on your SQL server, and choose "Attach Database."
8.) Select the MDF file, and hit okay.
9) Remove the LDF file entry hit OK
It will recreate will 0KB LDF File automatically.
Future Proof so it doesn’t recoccur
After above all should be fine, but have you check LDF File growth doesnt reoccur.
Also once set to SIMPLE Recovery, LDF file should never really be over 1GB if all running smoothly.
But can also configure LDF to Restricted Growth, so say LDF File on Drive over 100GB Free,
You could restrict LDF to few dozen GB just to be safe,
in case LDF growth reoccurred and LDF goes 100GB and brings down server due lack disk space.
How can i Examine / Open / Analyze what is in Transaction Log file ?
SQL Server transaction log format is not documented and therefore can’t be used to read data from it directly.
There are tools such as ApexSQL Log that can read the transaction log but it’s only because they probably spent a ton of time reverse engineering its format.
ApexSQL Log - SQL Server log explorer | ApexSQL
Options for reading are to:
a) figure the format on your own (not recommended)
b) get yourself a third party tool
c) using functions such as fn_dblog that are also not documented but can give you some details.
For more details please see the post below
http://stackoverflow.com/questions/7748653/how-to-open-the-sql-server-transaction-log-fileldf
How to read the SQL Server Database Transaction Log
http://solutioncenter.apexsql.com/read-a-sql-server-transaction-log/
Cisco Reload Reason Report
Cisco - Last Reload Reason
Physical Server Inventory Report
SolarWinds Training & Professional Services Partners
Here is a list of training and professional services partners. Contact me if you'd like to be added to this list.