Implementasi SMS alerts di Solarwinds OrionNPM

Implement SMS alerts into Solarwinds Orion Network Performance Monitor

On this webpage you can learn how to further develop your Solarwinds Orion Network Performance Monitor application to improve its efficiency. If you use the right network monitoring application you have made the first step toward an efficient system. However, it can be still enhanced...
You can ask the question why should you improve your monitoring system if it already provides all the necessary information for you about the network?

The answer: because it is more critical to deliver these information to the intended person in the right time than just getting information on the computer.

Does your system meet this requirement? ...
Get a quick video tour on how to configure your own SMS system:
Video:Send SMS from Solarwinds Orion NPM (part 1/2, configure your GSM modem)
Video:Send SMS from Solarwinds Orion NPM (part 2/2, configure your SMS system)

Reasons for further development of your network monitoring system

Your goal:
If your job is to ensure 100% availability regarding your network by implementing the right network performance monitoring application you will be on the right way. Solarwinds Orion Network Performance Monitor allows to visually track performance statistics and ensures real-time notifications among others.

Your system:
However, your system is far away from being perfect if you have not found the method to deliver notifications to the intended people in real-time.

The solution:
To achieve targeted, real-time communication method you need to take a fast but simple method into consideration. And this method is SMS text messaging.

SMS technology:
SMS technology can be implemented into your system by installing the most stable SMS gateway software. If you wish to achieve high performance, stability, and great efficiency then your perfect choice is Ozeki NG SMS Gateway software. With this software you can ensure that notifications from Solarwinds Orion NPM will be delivered to the intended person in real-time even if he is not in front of the computer. Therefore, he can interact immediately when there is an error occurs so valuable time and money can be saved with a simple SMS message.

Below you can find a solution on how to add SMS functionality to Solarwinds Orion Network Performance Monitor to increase effectiveness.

Prerequisites your system needs to meet

In order to setup this solution you need to connect your system to the mobile network. You can do this by using an Internet connection or you can setup a wireless connection by attaching a GSM phone/GSM modem to your computer. (Comparison: Internet based SMS connections vs. GSM modem based (wireless) SMS connections)

IP SMS connection/b>
If you wish to connect your system to an SMS service provider over the Internet you need the following components:
Figure 1/a - IP SMS connection components


Wireless (GSM modem) connection

Figure 1/b - GSM modem connection components

How to send SMS from Solarwinds Orion NPM

If you have all the necessary components listed above you can start to configure your system to send SMS alerts from your monitoring application. Before configuration, take a look at the system architecture diagram (Figure 2) that demonstrates how your SMS system will work. It will works as follows:
You can configure your system to send SMS if an event occurs in your network. If Solarwinds Orion NPM detects this event, it sends a notification to Ozeki NG SMS Gateway software. Ozeki NG SMS Gateway software then sends out one or more SMS alerts to the mobile phones of people in charge.

Figure 2 - SMS sending process in Solarwinds Orion NPM with Ozeki NG SMS Gateway

Configuration guide - How to add SMS functionality to Solarwinds Orion NPM

First, start System Manager of Solarwinds Orion NPM (Figure 3).

Figure 3 - Start System Manager
In Alerts tab click on Configure Basic Alerts option (Figure 4).

Figure 4 - Configure Basic Alerts
On the appeared window, click on New Alert option (Figure 5).

Figure 5 - New Alert
On General tab provide a name for the new alert (Figure 6).

Figure 6 - Provide a name for the new alert
Now you can specify the properties you wish to be monitored on Property To Monitor tab (Figure 7). On the further tabs you can set further properties if it is required.

Figure 7 - Property to Monitor tab
On Actions tab click on Add Alert Action button (Figure 8).

Figure 8 - Add Alert Action
Select Execute an external program option (Figure 9).

Figure 9 - Execute an external program
Then you need to specify the Program to execute when Alert is triggered (Figure 10). To do so, click on the browse button next to this field and select SendSMS.exe. AfterSendSMS.exe you need to specify the parameters:

-h: the IP address of the computer on which Ozeki NG SMS Gateway has been installed
-u: username you use in Ozeki NG SMS Gateway
-p: password you use in Ozeki NG SMS Gateway
-r: phone number of the recipient
-m: text of the message
C:\Program Files\Ozeki\OzekiNG - SMS Gateway\SendSMS.exe -h 127.0.0.1:9500 -u admin -p abc123 -r "+36301234567" -m "Test alert from Solarwinds"

You can also specify the text of the alert by providing variables. (Please note that you find a table of possible variables below this webpage!)

If you are ready, click on OK.

Figure 10 - Program to execute when Alert is triggered
Now click on Test Alerts (Figure 11).

Figure 11 - Test Alerts
In Test Fire Alerts window you can select the Node on which the alert will be triggered (OZEKISMS-NODE). Then click on Test Alert Trigger (Figure 12).

Figure 12 - Select the Node on which the alert will be triggered
On Figure 13 you can see the sent message alert in Ozeki NG SMS Gateway software.

Figure 13 - Sent message alert in Ozeki NG SMS Gateway
Variable Modifiers
The variables in the section below Figure 9 can be modified by appending any of the variable modifiers in the following table.
Variable ModifierDescription
-RawDisplays the raw value for the statistic. For example, if Transmit Bandwidth is set to 10 Mbps, then the raw value would be“10000000”. The cooked value would be “10 Mbps”.
-PreviousDisplays the previous value for the statistic before the Alert was triggered
-CookedDisplays the cooked value for the statistic. For example, if Transmit Bandwidth is set to 10 Mbps, then the raw value would be “10000000” and cooked value would be “10 Mbps”.
-PreviousCookedDisplays the previous cooked value for the statistic before the Alert was triggered
BUFFER ERRORS
Buffer Error VariableDescription
${BufferNoMemThisHour}Buffer errors caused by low memory during the current hour
${BufferNoMemToday}Buffer errors caused by low memory during the current day
${BufferSmMissThisHour}Small buffer misses during this hour
${BufferSmMissToday}Small buffer misses during the current day
${BufferMdMissThisHour}Medium buffer misses during this hour
${BufferMdMissToday}Medium buffer misses during the current day
${BufferBgMissThisHour}Big buffer misses during this hour
${BufferBgMissToday}Big buffer misses during the current day
${BufferLgMissThisHour}Large buffer misses during this hour
${BufferLgMissToday}Large buffer misses during the current day
${BufferHgMissThisHour}Huge buffer misses during this hour
${BufferHgMissToday}Huge buffer misses during the current day
INTERFACES
Interface VariableDescription
${Caption}Description of the interface.
${InterfaceID}Unique ID of the interface. Network Performance Monitor assigns a unique ID to every network object.
${InterfaceCaption}User-assigned name for this interface
${Index}Index of the interface within the network node.
${InterfaceType}Numerical type of the interface. This information is collected by Orion NPM when discovering the network node.
${MAC}Physical address (MAC Address) of the interface
${MTU}Maximum Transmission Unit
${InterfaceSpeed}Speed of the Interface discovered by Network Performance Monitor when scanning the network node
${InterfaceName}Name of the interface discovered from the node
${InterfaceIcon}Icon depicting the type of interface (Ethernet, Frame-Relay, ATM, Token Ring, wireless, etc).
${NodeID}ID of the Node to which this interface belongs. Orion NPM assigns a unique ID to every network object.
${InterfaceTypeName}Type of interface. Discovered from ifType.
${FullName}Full name of the interface including the name of the network node it is in
${Counter64}Interface supports IF-MIB high-capacity counters
INTERFACE ERRORS
Interface Error VariableDescription
${InDiscardsToday}Cumulative number of receive discards for this interface today
${InErrorsToday}Cumulative number of receive errors for this interface today
${OutErrorsToday}Cumulative number of transmit errors for this interface today
${OutDiscardsToday}Cumulative number of transmit discards for this interface today
${InDiscardsThisHour}Cumulative number of receive discards for this in
${InErrorsThisHour}Cumulative number of receive errors for this interface this hour (this counter resets at the top of the hour)
${OutErrorsThisHour}Cumulative number of transmit errors for this interface this hour (this counter resets at the top of the hour)
${OutDiscardsThisHour}Cumulative number of transmit discards for this interface this hour (this counter resets at the top of the hour)
INTERFACE STATUS
VariableDescription
${AdminStatus}Administrative status of the interface (enabled or disabled)
${AdminStatusLED}LED showing current administrative status of the interface (enabled or disabled)
${InterfaceLastChange}Last date and time the interface changed operational status
${OperStatus}Operational status of the interface
${OperStatusLED}LED showing current operational status of the interface
${Status}Current status of the interface (up, down, shutdown, etc.)
${StatusLED}Current status of the interface (up, down, shutdown, etc.)
INTERFACE POLLING
VariableDescription
${PollInterval}How often the interface should be polled (seconds)
${RediscoveryInterval}How often the node/interface should be rediscovered (minutes)
${NextRediscovery}Scheduled time for the next complete discovery of this interface
${NextPoll}Scheduled time for next poll of this interface
${StatCollection}Frequency of statistics collection
INTERFACE TRAFFIC
VariableDescription
${OutBandwidth}User-defined transmit bandwidth of the Interface. The Transmit and Receive bandwidth can each be set independently in order to accurately monitor asymmetric circuits.
${OutBps}Current amount of traffic being transmitted by the interface
${InBps}Current amount of traffic being received by the interface
${OutPps}Current rate of transmitted packets per second by the interface
${InPps}Current rate of received packets per second by the interface
${InPktSize}Average packet size of the packets currently being received by the interface
${OutUcastPps}Current rate of transmitted unicast packets per second
${OutMCastPps}Current rate of transmitted multicast packets per second
${InUcastPps}Current rate of received unicast packets per second
${InMcastPps}Current rate of received multicast packets per second
${OutPktSize}Average packet size of the packets currently being transmitted by the interface
${InPercentUtil}Current percentage of utilization on the receive side of the interface
${OutPercentUtil}Current percentage of utilization on the transmit side of the interface
${MaxInBpsToday}Peak received bps today for the interface
${MaxOutBpsToday}Peak transmitted bps today for the interface
${MaxInBpsTime}Time (today) of the peak bps received
${MaxOutBpsTime}Time (today) of the peak bps transmitted
${InBandwidth}User-defined receive bandwidth of the Interface. The Transmit and Receive Bandwidth can each be set independently in order to accurately monitor asymmetric circuits.
NODES
Node VariableDescription
${NodeID}Unique ID automatically assigned to each node
${IP_Address}IP Address of the node. This is the IP address that is used for all management functions.
${NodeName}User assigned name for this node
${SysName}System name of the node
${DNS}DNS name determined using a reverse DNS lookup. The DNS entry is checked during rediscovery of the network node.
${SysObjectID}Unique identifier assigned to this node by the manufacture
${Vendor}The manufacture of the network node
${Location}Location retrieved from the system MIB
${Contact}System Contact. This information is collected by Network Performance Monitor when discovering the network node.
${Description}System description of the node. This information is collected by Network Performance Monitor when discovering the network node.
${LastBoot}Date and time the machine last booted
${Community}SNMP community string used to communicate with this node
${VendorIcon}Icon depicting the type of machine
${IOSImage}Cisco IOS image family type
${IOSVersion}Cisco IOS version
${MachineType}The machine type or manufacture of the network node
NODE POLLING
Node Polling VariableDescription
${RediscoveryInterval}How often the node should be rediscovered (in minutes)
${NextRediscovery}Date and time of next rediscovery
${PollInterval}How often the node/interface should be polled. (in seconds)
${NextPoll}Scheduled time for the next poll of the node/interface
${StatCollection}Frequency of statistics collection
NODE STATISTICS
Node Statistics VariableDescription
${ResponseTime}Current response time of the node in milliseconds
${PercentLoss}Percent packet loss over the last few minutes. Packet loss is calculated from the number of ICMP packets that are dropped when polling the node.
${AvgResponseTime}Average response time for the node over the last few minutes
${MinResponseTime}Shortest response time over the last few minutes
${MaxResponseTime}Longest response time over the last few minutes
${CPULoad}Percentage of CPU usage
${TotalMemory}Total RAM reported in node
${MemoryUsed}Total RAM in allocated in node
${PercentMemoryUsed}Percentage of used RAM to total RAM
NODE STATUS
Node Status VariableDescription
${Status}Current status of the node. (up, down, warning, etc)
${StatusLED}Current status icon of the node
${GroupStatus}Current status icon of the Node and all its interfaces (Up, Down, Warning, etc)
${StatusDescription}Current status of the Node and its interfaces.
${Severity}Severity Status of the Node and its Interfaces
OBJECT TYPES
Object Types VariableDescription
${ObjectType}Type of network object
${ObjectSubtype}Subtype of the network object
VOLUMES
Volume VariableDescription
${NodeID}ID of the network node to which this volume belongs. Network Performance Monitor assigns a unique ID to every network object.
${VolumeID}Unique ID of the volume. Network Performance Monitor assigns a unique ID to every network object.
${Caption}User-assigned name for this volume
${VolumeIndex}Index of the volume within the Network Node
${VolumeType}Type of volume. Discovered from hrStorageType
${VolumeDescription}Description of the volume
${FullName}Full name of the volume including the name of the Network Node it is in.
VOLUME POLLING
Volume Polling VariableDescription
${PollInterval}How often the volume should be polled
${StatCollection}Frequency of statistics collection
${NextPoll}Scheduled time for next poll of this volume
${RediscoveryInterval}Rediscovery Interval of this Volume
${NextRediscovery}Scheduled time for the next complete discovery of this volume.
VOLUME STATISTICS
Volume Statistics VariableDescription
${VolumeSize}Volume size in bytes
${VolumeSpaceUsed}Total bytes used on volume
${VolumePercentUsed}Percentage of volume used as discovered by SNMP
${VolumeAllocationFailuresThisHour}Number of volume allocation errors this hour
${VolumeAllocationFailuresToday}Number of volume allocation errors today
VOLUME STATUS
Volume Status VariableDescription
${Status}Current status of the volume (up, down, shutdown, etc.)
${StatusLED}Current status of the volume (up, down, shutdown, etc.)
${VolumeResponding}Indicates whether or not the volume is currently responding to SNMP queries
DATE/TIME
Date/Time VariableDescription
${DateTime}Current date and time. (Windows control panel defined “Short Date” and “Short Time” format)
${Date}Current date. (Short Date format)
${LongDate}Current date. (Long Date format)
${MediumDate}Current date. (Medium Date format)
${Time}Current Time. (Short Time format)
${DayOfWeek}Current day of the week.
${D}Current day of the month
${DD}Current day of the month (two digit number, zero padded)
${AbreviatedDOW}Current day of the week. Three character abbreviation.
${LocalDOW}Current day of the week. Localized language format.
${M}Current numeric month
${MM}Current month. Two digit number, zero padded.
${MMM}Current month. Three character abbreviation.
${MMMM}Full name of the current month
${LocalMonthName}Current month name in the local language.
${DayOfYear}Numeric day of the year
${Year2}Two digit year
${Year}Four digit year
${H}Current hour
${HH}Current hour. Two digit format, zero padded.
${Minute}Current minute. Two digit format, zero padded.
${S}Current second.
${Second}Current second. Two digit format, zero padded.
${AMPM}AM/PM indicator
ALERT-SPECIFIC
Alert-specific VariableDescription
${AlertName}Name of the Alert
${Property}Property that this Alert is monitoring
${TriggerTime}Date and time of the last event for this Alert. (Windows control panel defined “Short Date” and “Short Time”)
${LastResetTime}Date and time of the last event for this Alert. (Windows control panel defined “Short Date” and “Short Time”)
${LongTriggerTime}Date and time of the last event for this Alert. (Windows control panel defined “Medium Date” and “Medium Time”)
${LongLastResetTime}Date and time of the last event for this Alert. (Windows control panel defined “Medium Date” and “Medium Time”)
${TriggeredValue}Value that triggered the Alert
${AlertStartTime}Time of day that the Alert is active and can be Triggered/Reset
${AlertEndTime}Time of day that the Alert is active and can be Triggered/Reset

Comments

Popular Posts