• PowerShell CMDLets for WebSphere MQ - administer queues on Windows or Linux

    Source: All About Interop

    Dino Chiesa is writing about PowerShell CMDLets for WebSphere.

    “It seems IBM have been busy doing CmdLets for MQ, and somehow this escaped my attention. Starting back in December 2007, Dale Lane at IBM published a series of posts about the topic of PowerShell CmdLets for MQ.  There is also now an official SupportPac for this stuff, it goes by the catchy name of mo74. (direct FTP link here).    In IBM-speak, a SupportPac is an add-on to the IBM product (in this case WMQ).  Very good to see!  Keep in mind that there are different categories of SupportPac  and just because it says "support" in the name does not mean it is a "supported" part of the IBM product in the sense that you can call up their support engineers and ask for bugfix on it.  mo74 is listed as Category 2, which means it is AS-IS software.  SupportPacs can transition from "AS-IS" to a supported part of the product; this happens when customers demand it.  Last updated April 16th, mo74 is currently at version 1.6.”

    Maybe handy for people looking for way to monitor WebSphere MQ with OpsMgr 2007.

    Another source for using PowerShell with remote queue managers can be found here.

  • Email Alert Notification based on Alert Descriptions

    Have you ever wanted to create email notifications for Alerts based on Alert Descriptions? This cannot be done using the E-mail Notification Channel and Subscriptions settings.

    This can be done however with the use of the Notification Command Channel with uses a vbscript that sends an email based on the information in the Alert Description. All the logic and sending of the emails is done by a script.

    This is probably my last blog post for some weeks because I'm going to enjoy a long holiday ;-)

    Here are the steps:

    1. Create a vbscript and save this script in a folder on the RMS.
      (example of script is at end of article and attached)
    2. Create new Command Notification Channel
      image 

      Full path to file:
      c:\windows\system32\cmd.exe
    3. Command line parameters:
      /c d:\scripts\notificationalertdescriptionv0.1.vbs /desc:"$Data/Context/DataItem/AlertDescription$" /alert:"$Data/Context/DataItem/AlertName$"  /source:"$Data/Context/DataItem/ManagedEntityDisplayName$" /sev:"$Data/Context/DataItem/Severity$" /prio:"$Data/Context/DataItem/Priority$" /state:"$Data/Context/DataItem/ResolutionStateName$"

      Remark: Don’t forget the " " for the OpsMgr parameters.
      desc is used in the vbscript as an argument
      image

    4. Create Notification Subscription
      image
      image
    5. Create Notification Device
      image
      image
    6. Add Notification Device to Recipient
      image
    7. Done!

    And now the vbscript that makes this all possible:

    'Example script to use in the OpsMgr Command Notification Channel to
    'send Email Notifications based on Alert Description to Solution groups.
    'Some info for this script is taken from Script: Notification Logfile weblog article by Anders Bengtsson
    'http://contoso.se/blog/?p=265

    Option Explicit 
    Dim colNamedArguments
     
    Dim AlertDescription

    Dim AlertSource
    Dim AlertName
    Dim AlertSev
    Dim AlertPrio
    Dim AlertState
    Dim objEmail
    Dim objShell
    Dim strContents
    Dim strEventCreate
    Dim strEventDescription
    Dim strFrom
    Dim strSub
    Dim strBody
    Dim strSMTP
    Dim strTo

    Set colNamedArguments = Wscript.Arguments.Named
    Set objShell = CreateObject("Wscript.Shell")

    ' ******************************************
    '  GET PARAMETERS INTO SCRIPT
    ' ******************************************

    AlertDescription = colNamedArguments("desc")
    'Use:  /desc:"$Data/Context/DataItem/AlertDescription$" in Notification Command Channel Command Line parameters
    AlertName =  colNamedArguments("alert")

    'Use:  /alert:"$Data/Context/DataItem/AlertName$" in Notification Command Channel Command Line parameters
    AlertSource =  colNamedArguments("source")

    'Use:  /source:"$Data/Context/DataItem/ManagedEntityDisplayName$" in Notification Command Channel Command Line parameters
    AlertSev = colNamedArguments("sev")

    'Use:  /sev:"$Data/Context/DataItem/Severity$" in Notification Command Channel Command Line parameters
    AlertPrio = colNamedArguments("prio")

    'Use:  /prio:"$Data/Context/DataItem/Priority$" in Notification Command Channel Command Line parameters
    AlertState = colNamedArguments("state")

    'Use:  /state:"$Data/Context/DataItem/ResolutionStateName$" in Notification Command Channel Command Line parameters

    'Complete Notification Command Channel Command Line parameter:
    ' /c d:\scripts\notificationalertdescriptionv0.1.vbs /desc:"$Data/Context/DataItem/AlertDescription$" /alert:"$Data/Context/DataItem/AlertName$"  /source:"$Data/Context/DataItem/ManagedEntityDisplayName$" /sev:"$Data/Context/DataItem/Severity$" /prio:"$Data/Context/DataItem/Priority$" /state:"$Data/Context/DataItem/ResolutionStateName$"

    'Alert Description from OpsMgr Alert
    strContents = AlertDescription


    ' ******************************************
    '  TRANSLATE SEVERITY AND PRIORITY
    ' ******************************************

    if AlertSev = "1" Then
       
    AlertSev = "Critical"
    elseif AlertSev = "2" then

       
    AlertSev = "Warning"
    elseif AlertSev = "3" then

       
    AlertSev = "Information"
    End If


    if AlertPrio = "1" Then
       
    AlertPrio = "High"
    elseif AlertPrio = "2" then

       
    AlertPrio = "Medium"
    elseif AlertPrio = "3" then

       
    AlertPrio = "Low"
    End If


    ' ******************************************
    '  SCRIPT LOGIC
    ' ******************************************
    ' Configure on "serverx" the string which determines to which email address an email notification should be sent.

    'Change the search string
    If InStr(strContents, "serverx") Then

       
    'Configure email address Solution Group X
        strTo =
    "solutiongroupx@contoso.local"
       
    'Send email
        Call SendEMail(strTo)

    End If

    'Change the search string
    If InStr(strContents, "servery") Then

        
    'Configure email address Solution Group Y
        strTo =
    "solutiongroupy@contoso.local"
       
    'Send email
        Call SendEMail(strTo)

    End If    

    ' ******************************************
    '  MAIL CONFIGURATION
    ' ******************************************

    strFrom = "opsmgrnotification@contoso.local"
    strSub = "Notification from Operations Manager 2007. Severity: " & AlertSev & ". Priority: " & AlertPrio & ". State: " & AlertState

    strBody = "Notification from Operations Manager" & VBCRLF & VBCRLF & "Alert Name: " & AlertName & VBCRLF & "Alert Source: " & AlertSource & VBCRLF & "Alert Description: " & AlertDescription
    strSMTP = "mail.contoso.local"

    ' ******************************************
    '  SEND MESSAGE
    ' ******************************************
    Public Function SendEmail(strTo)

       
    set objEmail = CreateObject("CDO.Message")
       
    objEmail.From = strFrom
       
    objEmail.To = strTo
       
    objEmail.Subject = strSub
       
    objEmail.Textbody = strBody
       
    objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
       
    objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTP
       
    objEmail.Configuration.Fields.Update
       
    objEmail.Send
    End Function

  • Can Xplat monitor Linux Monitoring Device?

    Source: Cnet News.com

    Plat'Home, a Linux company from Japan that specializes in combining eco-friendly, small, tough hardware with their own version of Linux, is announcing another in their series of MicroServers. Kanshi BlockS Pro, made to monitor servers and various network applications, is now available in North America.”

    Picture by Plat'Home Kanshi Blocks Pro

    Features

    Monitoring and Alerts
    • Server alive monitoring by ping
    • Port monitoring
    • Network device monitoring by SNMPv3
    • Network traffic, server monitoring (CPU load, physical memory, virtual memory, and hard disk load and usage) with MRTG (open software)
    • Protocol message monitoring for SMTP, POP and IMAP
    • Monitor up to 255 servers, regardless of the manufacturer
    • Two Ethernet connectors to provide surveillance over different networks, such as a dedicated line and the Internet
    • Receive scheduled status messages and emergency alerts
    • Customize notifications according to recipient (administrator, users)
    • SMTP authentication

    Would it be possible to use Cross Platform Extentions to monitor this Linux monitoring box? An Linux agent for their SSD/Linux distribution should be created first ;-)

    SSD/Linux is the Linux distribution developed by Plat'Home, for use with the MicroServer series. The distribution is optimized to fit on a small internal ROM, while offering all necessary functions for networking and peripheral devices.

    The name of the distribution is derived from its place of development, Sotokanda in Tokyo, in imitation of BSD. It is published under a BSD-style open license.

  • OpsMgr Scripting explained

    Source: SCOMNIVORE at myITforum.com

    Vin DiPippo  has written a great article about about some important concepts regarding how scripts are processed by OpsMgr.

    “Returning to the main topic, anyone that is a script developer has a particular paradigm in mind.  The script is written and runs as written.  If you've ever seen constructions that use the $...$ selectors inline (e.g. SomeVar = "$MPElement...$"), you might have assumed that there was something special about the script execution environment that somehow resolves those.  The reality is that those resolutions are done before the script is ever executed.  Therefore, we have a very tricky paradigm on our hands: the execution environment is completely standard, but the script body itself is "refined" by OpsMgr before it is embodied in an actual file and run. “

    All together a great article that I’ve put in in my OneNote OpsMgr KB articles Notebook. As you should do too!

  • TechNet Magazine: Windows PowerShell in System Center Operations Manager

    Marco Shaw, has published an article about how Windows PowerShell can be used with System Center Operations Manager 2007 on the August Technet Magazine.

    Go read this great article about PowerShell and OpsMgr 2007.

    He even mentions my PowerShell Event Creator script  in his article :-)

    I know Marco form my first experiences with PowerShell and PowerGadgets.

    Marco Shaw is an IT System Analyst for a Canadian telecommunications company. He has been working in the IT industry for more than 10 years, and he recently received a Windows PowerShell MVP award. Marco is also the Assistant Community Director of the new PowerShell Community Web site at powershellcommunity.org. He blogs at marcoshaw.blogspot.com.

  • New Management Packs for OpsMgr 2007

    In the last couple of days new or updated Management Packs for OpsMgr 2007 are released.

  • Thinking about buying a EEE PC

    I know this is not a topic you normally find on this weblog, but I’m thinking about buying a new EEE PC for some days now. Even had  some discussion on Twitter about the EEE PC and the MSI Wind. Still haven’t made up my mind, but today I stumbled on this funny cartoon from XKDC about a New Pet.

    Do you think I need a new pet? We already got some gold fishes and I always have to clean the aquarium. Maybe not such a good idea after all.