DX Application Performance Management

Expand all | Collapse all

How to Monitor server OS version details in APM

Jump to Best Answer
  • 1.  How to Monitor server OS version details in APM

    Posted 02-02-2019 03:00 AM

    Hi everyone,

     

    We have around 2500 agents monitoring in APM, every month we need to install security patches in all those servers for that we are trying to generate a report from APM and send the patch status to our management.

    currently, in APM we are getting only OS type, so how to achieve to get OS version details in APM.

    please help us to get this fix.

     

    Many Thanks,

    Harish



  • 2.  Re: How to Monitor server OS version details in APM

    Posted 02-04-2019 09:29 AM

    Dear Harish:

        Not sure what details you are looking . But I would look into using EP Agent either as a log scrapper or running operating system commands . Other Broadcom products may be better suited for gather operating system info.



  • 3.  Re: How to Monitor server OS version details in APM
    Best Answer

    Posted 02-04-2019 11:05 AM
      |   view attached

    I directed Harish here as a result of a support case but have managed to work out a possible solution. This is still not supported, just a suggestion of what could be done.

     

    Given there is fairly strong documentation on writing Java plugins for Infrastructure Agent

    EPAgent Java Class Plug-in Extensions - CA Application Performance Management - 10.7 - CA Technologies Documentation 

     

    I have taken a little bit of time to work on a simple plugin to gather data using Java System APIs. It also includes a random number generator which I just used to verify data was coming through, so can easily be removed

     

    package example.epagent.plugin;
    import java.io.PrintStream;
    import java.util.Random;

    public class OperatingSystemInfo {
    public static void main(String[] args) throws Exception
    {
    main(args, System.out);
    }
    public static void main(String[] args, PrintStream out) throws Exception

    {

    // The key for getting operating system name
    String name = "os.name";
    // The key for getting operating system version
    String version = "os.version";
    // The key for getting operating system architecture
    String architecture = "os.arch";


    out.println("OSInfo:Name=" + System.getProperty(name).toString());
    out.println("OSInfo:Version=" + System.getProperty(version).toString());
    out.println("OSInfo:Arch=" + System.getProperty(architecture).toString());

    Random randomGenerator = new Random();
    int randomInt = randomGenerator.nextInt(10);
    out.println("MyRandomNumber=" + randomInt);
    out.flush();
       }
    }

     

    i'm also attaching a copy of the full extension compiled with Java 1.8 and sample output of metrics and information.

    Version information is more detailed (kernel) for Linux than Windows

    Attachment(s)