Layer 7 Access Management

Monitor the IM/IG Workflow Workpoint Data Flow

  • 1.  Monitor the IM/IG Workflow Workpoint Data Flow

    Posted 06-12-2018 05:29 PM

    Team,

     

    To assist with monitoring the CA Identity Suite use of Workpoint embedded workflow engine, we have identified the following loggers to assist.   If you have additional ones to add, please do.

     

    Step 1:   Add in a new log4j appender to CA Identity Manager.

     

    Example for CA IM on JBOSS/Wildfly J2EE server using jboss-cli.sh process.

     

    Create this file:    /tmp/jbosslog-workpoint.cli


    connect
    batch
    /subsystem=logging/periodic-rotating-file-handler=im_wp_logic:add(file={"path"=>"im_wp_logic_debug.log", "relative-to"=>"jboss.server.log.dir"}, suffix=".yyyy.MM.dd", level=DEBUG, append=true, autoflush=false, suffix=".yyyy-MM-dd-HH", formatter="%d{HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n")
    /subsystem=logging/logger=com.workpoint:add(handlers=["im_wp_logic"], level=DEBUG, use-parent-handlers=false)
    /subsystem=logging/logger=org.jboss.as.ejb3:add(handlers=["im_wp_logic"], level=DEBUG, use-parent-handlers=false)
    run-batch

     

     

    Execute the above script:

     

    /opt/CA/wildfly-idm/bin/jboss-cli.sh --connect --user=jboss-admin --password=Password01! --file=/tmp/jbosslog-workpoint.cli

     

     

    Step 2:   Monitor for any update while using IM for the use-cases:

     

     

     

    For large number of transactions to the IM Task Persistence with Workflow enabled, it may be of value to increase the TP JTA default settings.

    - Ref:  https://docops.ca.com/cim141/management-console-help/tuning-task-persistence-for-large-transactional-loads

     

     

     

     

     

    Recommend using use jboss-cli scripts to update and read/reload.

     

    Example below:

     

    config@vapp0001 VAPP-14.1.0 (192.168.242.146):~ > /opt/CA/wildfly-idm/bin/jboss-cli.sh --connect --user=jboss-admin --password=Password01!

    [standalone@localhost:9990 /]

    [standalone@localhost:9990 /] :take-snapshot()

    {

        "outcome" => "success",

        "result" => "/opt/CA/wildfly-idm/standalone/configuration/standalone_xml_history/snapshot/20180612-154056220ca-standalone-full-ha.xml"

    }

    [standalone@localhost:9990 /] /subsystem=transactions:write-attribute(name=default-timeout,value=600000)

    {

        "outcome" => "success",

        "response-headers" => {

            "operation-requires-reload" => true,

            "process-state" => "reload-required"

        }

    }

    [standalone@localhost:9990 /]

    [standalone@localhost:9990 /] /subsystem=transactions:read-attribute(name=default-timeout,include-defaults=true)

    {

        "outcome" => "success",

        "result" => 600000,

        "response-headers" => {"process-state" => "reload-required"}

    }

    [standalone@localhost:9990 /]

    [standalone@localhost:9990 /] reload

     

     

     

     

     

    Otherwise, may use sed (but will still NEED a reload or restart of J2EE).  Always create a backup file first.

     

    sed -i 's|<subsystem xmlns="urn:jboss:domain:transactions:2.0">|<subsystem xmlns="urn:jboss:domain:transactions:2.0">\n<coordinator-environment default-timeout="3000"/>|g' ca-standalone-full-ha.xml

     

     

    Additionally, you may decide to increase the MAX session pool size to the IM/IG databases:

     

    Example using jboss-cli.sh process to change from default of 200 connections to 1000 connections.

    - Read value first, then update.

     

    [standalone@localhost:9990 /] /subsystem=datasources/data-source=iam_im-imworkflowdb-ds:read-attribute(name=max-pool-size,include-defaults=true)
    {
    "outcome" => "success",
    "result" => 200
    }
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=iam_im-imtaskpersistencedb-ds:read-attribute(name=max-pool-size,include-defaults=true)
    {
    "outcome" => "success",
    "result" => 200
    }
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=iam_im-imworkflowdb-ds:write-attribute(name=max-pool-size,value=1000)
    {"outcome" => "success"}
    [standalone@localhost:9990 /] /subsystem=datasources/data-source=iam_im-imtaskpersistencedb-ds:write-attribute(name=max-pool-size,value=1000)
    {"outcome" => "success"}
    [standalone@localhost:9990 /]

     

     

     

    Cheers,

     

    A.