+

Search Tips   |   Advanced Search

Configure PMI using wsadmin

Use wsadmin.sh to configure the Performance Monitoring Infrastructure (PMI) in the environment. PMI enables the server to collect performance data from various product components. PMI provides information about average system resource usage statistics, with no correlation between the data across different components.

There are two ways to perform this task. Complete the steps in this topic to use the AdminConfig object to modify the server configuration. Alternatively, we can use the configurePerformanceMonitoringService Jython script in the AdminServerManagement script library to configure PMI. The wsadmin tool automatically loads the script when the tool starts. Use the following syntax to configure PMI settings using the configurePerformanceMonitoringService script:

For additional information and argument definitions, see the documentation for the AdminServerMananagment script library.

  1. Start the wsadmin scripting tool.

  2. Identify the application server of interest.

    Use the AdminConfig object and the getid command to retrieve the configuration ID of the application server of interest, and assign it to the s1 variable:

    • Jacl:

        set s1 [$AdminConfig getid /Cell:mycell/Node:mynode/Server:server1/]

    • Jython:

        s1 = AdminConfig.getid('Cell:mycell/Node:mynode/Server:server1/')

    Element Description
    set Jacl command
    s1 Variable name
    $ Jacl operator for substituting a variable name with its value
    AdminConfig Object representing the product configuration
    getid AdminConfig command
    Cell Attribute
    mycell Value of the Cell attribute
    Node Attribute
    mynode Value of the Node attribute
    Server Attribute
    server1 Value of the Server attribute
    Example output:

      server1(cells/mycell/nodes/mynode/servers/server1|server.xml#Server_1)

  3. Identify the PMI service that belongs to the server.

    Use the AdminConfig object and the list command to identify the PMI service, and assign it to the pmi variable:

    • Jacl:

        set pmi [$AdminConfig list PMIService $s1]

    • Jython:
      pmi = AdminConfig.list('PMIService', s1)
      print pmi 

    Element Description
    set Jacl command
    pmi Variable name
    $ Jacl operator for substituting a variable name with its value
    AdminConfig Object that represents the application server configuration
    list AdminConfig command
    PMIService AdminConfig object
    s1 Evaluates to the ID of the application server of interest
    Example output:

      (cells/mycell/nodes/mynode/servers/server1|server.xml#PMIService_1)

  4. Modify the PMI configuration attributes.

    Use the AdminConfig object and the modify command to modify the PMI configuration attributes:

    • Jacl:

        $AdminConfig modify $pmi {{enable true} {statisticSet all}}

    • Jython:

        AdminConfig.modify(pmi, [['enable', 'true'], ['statisticSet','all']]

    This example enables PMI service and sets the specification levels for all of the components in the server.

    Important: The specification levels are case-sensitive values.

    of specification levels. The following specification levels
    Specification level Description
    none No statistics are enabled.
    basic Statistics specified in Java Enterprise Edition (Java EE), as well as top statistics like CPU usage and live HTTP sessions are enabled. This set is enabled out-of-the-box and provides basic performance data about runtime and application components.
    (iseries)(dist) extended Basic set plus key statistics from various application server components like WLM, and dynamic caching are enabled. This set provides detailed performance data about various runtime and application components.
    (zos) extended Basic set plus key statistics from various application server components like dynamic caching are enabled. This set provides detailed performance data about various runtime and application components.
    all All statistics are enabled.
    custom Enable or disable statistics selectively.

  5. Save the configuration changes.

    Use the following command example to save the configuration changes:

      AdminConfig.save()

  6. In a network deployment environment only, synchronize the node.

    Use the syncActiveNode or syncNode scripts in the AdminNodeManagement script library to propagate the configuration changes to node or nodes.

    • Use the syncActiveNodes script to propagate the changes to each node in the cell:

        AdminNodeManagement.syncActiveNodes()

    • Use the syncNode script to propagate the changes to a specific node:

        AdminNodeManagement.syncNode("myNode")


Related tasks

  • Enable PMI using the administrative console
  • Use the wsadmin scripting AdminConfig object for scripted administration

  • Performance Monitoring Infrastructure settings
  • Server settings configuration scripts
  • Node administration scripts
  • Commands for the AdminConfig object