Skip to content

Monitoring MI Artifacts and Logs

The WSO2 Integration Control Plane (ICP) monitors the MI instances in a deployment. This can be a single MI instance or multiple MI instances in a group (cluster). It provides a graphical view of the integration artifacts that are deployed in the MI instances. You can also perform various management and administration tasks using the ICP server.

The ICP server communicates with the management APIs of each Micro Integrator instance in the group (cluster) to get and manipulate data.

Capabilities of the ICP server

You can use the ICP server to perform the following administration tasks related to your Micro Integrator deployment:

Tip

You can search for certain artifacts using the specific name of the artifact if there are many such items in the list.

search in integration control plane

  • View the MI servers in the deployment

    View basic information of each server node.

  • View integration artifacts deployed in a group

    View details of the artifacts deployed in a cluster or group of Micro Integrator instances.

  • Identify the MI servers where a specified artifact is deployed

    View the MI server instances where each artifact is deployed.

  • Update deployed artifacts

    Note

    When you update an artifact, only the specified MI instance will be updated. Cluster-wide updates are not available with the ICP server.

    You can activate/deactivate the following artifacts from the ICP server: Proxy Services, Endpoints, and Message Processors.

    You can enable/disable tracing for the following artifacts: Proxy Services, Endpoints, APIs Sequences and Inbound Endpoints.

  • View registry resources

    You can view content, properties, and metadata of each registry resource.

  • View logs

    You can view the log files generated for each Micro Integrator instance of the cluster/group.

  • View, update, and add loggers

    This page can be accessed by users with admin rights only. You can view log configurations of each instance and update the log level. You can update the log levels on a single node or apply the change to the entire cluster/group as well. Furthermore, you can add new loggers, which will be applied to the entire cluster/group.

  • Manage users

    This page can be accessed by users with admin rights only. You can view details of users stored in the external user store. You can also add new users to the specified cluster/group.

Using the Integration Control Plane

Follow the steps given below to get started with the WSO2 Integration Control Plane.

Step 1 - Download the Integration Control Plane

Download the binary distribution of the product, and then follow the instructions to start the Micro Integrator and the ICP server.

Step 2 - Configure the MI servers

Follow the steps given below to configure the MI servers to publish data to the ICP server.

  1. To connect the MI servers with the ICP server, add the following configuration to the deployment.toml file (stored in the <MI_HOME>/conf/ folder) of each server instance.

    [dashboard_config]
    dashboard_url = "https://{hostname/ip}:{port}/dashboard/api/"
    heartbeat_interval = 5
    group_id = "mi_dev"
    node_id = "dev_node_2"
    

    If the Micro Integrator server is deployed in a Kubernetes environment, add the following configuration to the deployment.toml file.

    Limitation: When there are replicas in the deployment, the write operations will not work properly.

    If communicating via Ingress, use the following configuration:

    dashboard_url = "https://{hostname/ip}:{port}/dashboard/api/"
    management_hostname = "<INGRESS_HOSTNAME>"
    

    If communicating via Service instead, use the following configuration:

    dashboard_url = "https://{hostname/ip}:{port}/dashboard/api/"
    management_hostname = "<SERVICE_NAME>"
    management_port = <SERVICE_PORT>
    

    dashboard_url Required. This is the URL to access ICP server. Replace the hostname/IP and port (default - 9743) with relevant values from your environment.
    heartbeat_interval Optional. The time interval (in seconds) between two heartbeats sent from the Micro Integrator to the ICP server. By default, the heartbeat_interval is set to 5.
    group_id Optional. In a clustered deployment, the group ID should be the same in all Micro Integrator Instances. The ICP server displays information from one group at a time. By default, the group_id is set to default.
    node_id Optional. By default, in a clustered deployment, the relevant node_id is used as this configuration. For more information about the cluster node ID, see the instructions on configuring an MI cluster. In a non-clustered deployment, a random UUID is used if the node_id is not set for this configuration.
    management_hostname Required if MI server is deployed in a Kubernetes environment. Hostname for the Micro Integrator management endpoint.
    management_port Optional. Port of the Micro Integrator management endpoint.

  2. Optionally, configure the Micro Integrator user store.

    Tip

    Note the following about your user store configurations.

    • The user credentials for signing in to the ICP server should be stored in your user store. This can be the default file-based user store or an external LDAP/RDBMS user store.
    • User management is possible only if you have an RDBMS or LDAP user store for your Micro Integrator.
    • If you have an external RDBMS user store, be sure that the RDBMS driver is correctly added to the <MI_HOME>/lib folder. You will not be able to sign in without the driver.
  3. Regardless of the user who logs in, the ICP server uses the user configured in its deployment.toml to fetch the data to the ICP server. Then the ICP server renders these data in the UI according to logged-in user. Hence, configure the super admin user credentials in the user store as mentioned below in the deployment.toml file (stored in the <ICP_HOME>/conf/ folder).

    [mi_user_store]
    username = "admin"
    password = "admin"
    

Step 3 - Start the ICP server

Follow the steps given below.

  1. Open a terminal and navigate to the <ICP_HOME>/bin folder.
  2. Execute one of the commands given below.

    ./dashboard.sh
    
    dashboard.bat
    

Step 4 - Start the MI servers

Follow the steps given below.

  1. Open a terminal and navigate to the <MI_HOME>/bin folder.
  2. Execute one of the commands given below.

    ./micro-integrator.sh
    
    micro-integrator.bat
    

Step 5 - Sign in to the ICP server

Once you have set up and started the ICP server, you can access the ICP server URL.

Before you begin

Be sure to have at least one Micro Integrator server connected to the ICP server before attempting to sign in to it. This can be verified by checking the presence of the following log.

New node <node_id> in group : <group_id> is registered. Inserting heartbeat information

  1. Copy the following ICP server URL to your browser:

    https://localhost:9743/login
    
  2. Enter the following details to sign in.

    login form for integration control plane

    Username The user name to sign in.

    Note: This should be a valid username that is saved in the Micro Integrator server's user store. By default, the 'admin' user name is configured in the default user store.

    See configuring user stores for information.
    Password The password of the user name. By default, 'admin' is the user name and password.

  3. Click Sign In.

You are redirected to the home page of the Integration Control Plane.

Step 6 - Monitor MI artifacts and logs

Follow the steps given below.

  1. Select the group ID that you want to view from the upper left menu.

    You can see the list of server nodes in each group, as shown in the above diagram.

  2. Click a node ID, and a side navigational panel opens to display the server information.

Now you can view details of artifacts, update artifacts, and perform various other administration tasks. Select the required option from the left-hand navigator.

Monitoring health of ICP server

The Integration Control Plane provides a health check endpoint that can be used to monitor the status of the ICP server. The following API format can be used to invoke the health API.

https://localhost:9743/dashboard/api/healthz

If the ICP server is up and running properly, the following response will appear.

{"status":"ready"}