Skip to Content

Observability (Beta) in Jitterbit private agents 11.37 or later

Caution

This feature is currently released as a beta version, supported on private agents version 11.37.0.7 or later. To provide feedback, contact the Jitterbit Product Team.

Introduction

You can remotely monitor the performance and behavior of Docker, Linux, or Windows private agents with any of the following supported observability platforms:

You must install and configure your chosen observability platform on every private agent host you want to monitor. Once properly configured, your agents' metrics can be viewed using the Jitterbit-provided pre-built dashboard, or your own custom dashboard.

Use Datadog to monitor a Jitterbit private agent

Prerequisites

To use Datadog to monitor a private agent host, you must have the following:

  • Private agent 11.37.0.7 or later installed and running.

  • A Datadog account.

  • A super-user (root) account on Linux, or an Administrator account on Windows.

    Important

    Run all commands as this user.

Install the Datadog agent

To install the Datadog agent on a private agent host, follow these steps:

  1. Log into your Datadog account.

  2. From the main menu, select Integrations > Agent.

  3. On the Agent Installations Instructions page, select your private agent host type.

  4. Click the API Key button. The Select an API Key dialog opens.

  5. If you don't have any API keys, click the Create New button to create one. Otherwise, select your API key entry, then click the Use API Key button.

  6. In the Agent Installation Command, click the Click to copy icon to copy the command to your clipboard.

  7. Open a terminal or PowerShell on the private agent host, paste the copied command, then press Enter to run it.

  8. Close the terminal or PowerShell.

Note

To enable observability in Docker private agents, you must use environment variables.

Configure the Datadog agent

The Jitterbit private agent software includes a script to configure Datadog. To use it when installing for the first time, or when upgrading from a private agent 11.34-based installation, follow these steps:

  1. For Docker private agents, the value for the hostname property in the /etc/datadog-agent/datadog.yaml should be set to the host's hostname. If it is not, set it manually.

  2. Run the following in a terminal or PowerShell on the private agent host:

    cd /opt/jitterbit/scripts/
    ./configure_datadog.sh
    
    cd /opt/jitterbit/scripts/
    ./configure_datadog.sh
    
    cd "C:\Program Files\Jitterbit Agent\scripts\"
    .\configure_datadog.ps
    
  3. Read and respond to the following prompts:

    1. Prompt 1:

      *************
      ***WARNING***
      *************
      Installing the metric configurations will backup and overwrite your datadog configuration files.
      Do you wish to proceed?
      1) Yes
      2) No
      

      Enter the number corresponding to your choice, followed by the Enter key. The choices are as follows:

      • 1: Continue the script. If you have an existing Datadog configuration file (/etc/datadog-agent/datadog.yaml), a backup copy is made (/etc/datadog-agent/datadog.yml.jb.bak) and a new one is created.

      • 2: Stop the script.

    2. Prompt 2:

      *************
      ***WARNING***
      *************
      Turning on Agent observability on the agent will turn on Enhanced Capability feature for the agent.
      Enhanced Capability might affect the operation routing behavior for the agents.
      Do you wish to proceed?
      1) Yes
      2) No
      

      Enter the number corresponding to your choice, followed by the Enter key. The choices are as follows:

    3. Prompt 3:

      Jitterbit agent needs to restart in order to load the new changes.
      Do you wish to restart now? This will stop any in progress operations
      1) Yes
      2) No
      

      Enter the number corresponding to your choice, followed by the Enter key. The choices are as follows:

      • 1: Continue to hard stop and restart the private agent, restart the Datadog agent, then exit the script. To confirm your Datadog agent is working, log into your Datadog account, then select Integrations > Fleet Automation from the main menu.

      • 2: Exit the script without restarting the private agent or the Datadog agent. You should restart both the private agent and the Datadog agent when convenient.

Important

On Docker, the Datadog agent does not start automatically with the host. You must manually start it with the following command:

sudo datadog-agent start

Configure Datadog metrics

Create facets

To define Datadog facets, follow these steps:

  1. Select Logs > Explorer.

  2. Filter logs by your agent's Host, and the JitterbitAgentMetric service.

  3. (Optional) Check that the logs for your agent are in JSON format. To do this, select a recent log entry, then check that the CONTENT column contains a JSON-formatted log message.

  4. Under the Search facets bar, click Add (Add a facet).

  5. In the Add facet dialog's Path field, enter the text shown below, then click the Add button. Repeat for each item in the following list:

    • @environment_id

    • @environment_name

    • @is_operation_over_schedule

    • @name

    • @operation_id

    • @operation_instance_guid

    • @operation_name

    • @organization_id

    • @project_guid

    • @project_name

    • @status

Create a calculated field

To create a calculated field, follow these steps:

  1. Select Logs > Explorer.

  2. Click the Add button, then select Calculated Field.

  3. In the Create a calculated field dialog, set values for the following fields:

    • Name your field: operation_duration_seconds

    • Define your formula: @fields.duration_seconds

  4. Click the Save button.

Create a measure

To create a measure, follow these steps:

  1. Select Logs > Explorer.

  2. Under the Search facets bar, click Add (Add a facet).

  3. In the Add facet dialog, select the Measure tab.

  4. In the Path field, enter @operation_duration_seconds.

  5. Click the Add button.

Create operation metrics

To define operation metrics, select Logs > Generate Metrics, then follow the steps below for each operation metric.

Tip

You can also use logs to create Datadog metrics.

Create the metric.operation.count.by.status operation metric
  1. Click the New Metric button.

  2. In the Generate Metric dialog, set values as follows:

    • Set Metric Name: metric.operation.count.by.status

    • Define Query: service:JitterbitAgentMetric @name:operation_log

  3. Click the group by menu, then click each of the following to add them to the list:

    • @fields.operation_id

    • @fields.operation_name

    • @fields.status

    • @agentgroup

    • @host

  4. Click the Create Metric button.

Create the metric.operation.running.over.scheduled.interval operation metric
  1. Click the New Metric button.

  2. In the Generate Metric dialog, set values as follows:

    • Set Metric Name: metric.operation.running.over.scheduled.interval

    • Define Query: service:JitterbitAgentMetric @name:operation_running_over_scheduled_interval

  3. Click the group by menu, and click each of the following to add them to the list:

    • @fields.operation_id

    • @fields.operation_name

    • @agentgroup

    • @host

  4. Click the Create Metric button.

Create the metric.operation.duration.seconds operation metric
  1. Click the New Metric button.

  2. In the Generate Metric dialog, set values as follows:

    • Set Metric Name: metric.operation.duration.seconds

    • Define Query: service:JitterbitAgentMetric @name:operation_running_over_scheduled_interval

  3. Click the group by menu, and click each of the following to add them to the list:

    • @fields.operation_id

    • @fields.operation_name

    • @agentgroup

    • @host

  4. Click the Create Metric button.

Create process metrics

To define process metrics, select Infrastructure > Processes, select the Manage Metrics tab, then follow the steps below for each process metric.

Create the proc.openginebyname.cpu.num_threads process metric
  1. Click the New Metric button.

  2. Under section 1, Filter Processes, in the Filter by field, enter command:JitterbitOperationEngineProc.

  3. Under section 2, Select Measure and Dimensions, set values for the following fields:

    • Open the Measure menu, then select # of Threads.

    • Open the Dimensions menu, then select name.

  4. Under section 4, Name, in the metric.name field, enter openginebyname to make the name proc.openginebyname.cpu.num_threads.

  5. Click the Create button.

Create the proc.operationsengine.cpu.num_threads process metric
  1. Click the New Metric button.

  2. Under section 1, Filter Processes, in the Filter by field, enter command:JitterbitOperationEngineProc.

  3. Under section 2, Select Measure and Dimensions, set values for the following fields:

    • Open the Measure menu, then select # of Threads.

    • Open the Dimensions menu, then select agentgroup.

  4. Under section 4, Name, in the metric.name field, enter operationsengine to make the name proc.operationsengine.cpu.num_threads.

  5. Click the Create button.

Import a Datadog dashboard

To import Jitterbit's pre-built Datadog dashboard, follow these steps:

  1. Download the Jitterbit Private Agent Datadog dashboard JSON file from the Harmony portal Downloads page.

  2. Select Dashboards > New Dashboard.

  3. In the Create a Dashboard dialog, enter a name in the Dashboard Name field, then click the New Dashboard button.

  4. Click the Configure button, then select Import dashboard JSON.

  5. Find the downloaded dashboard JSON file, then select it.

  6. To use the dashboard, select Dashboards > Dashboard list, enter Jitterbit Harmony Private Agent in the Search dashboards field, then select the imported dashboard.

Troubleshoot Datadog issues

To help solve any issues with Datadog, you can check the Datadog documentation, inspect log files, or run commands to manage users and permissions.

Datadog documentation

Datadog file locations

Log files

Datadog log files can be found in the following location:

/var/log/datadog/

Open the Datadog Agent Manager application, then select the Log tab.

Configuration files

The Datadog configuration file can be found in the following location:

/etc/datadog-agent/datadog.yaml

Open the Datadog Agent Manager application, then select the Settings tab.

In this file, you should check that you have correct values for the following keys:

  • api_key

  • site

  • $hostname

  • tags

Datadog users and permissions commands

To create a Datadog user and group, run these commands:

usermod -a -G root dd-agent
usermod -a -G jitterbit dd-agent

To set Datadog configuration file ownership, run these commands:

chown dd-agent:dd-agent /etc/datadog-agent/conf.d/logs.d/conf.yaml
chown dd-agent:dd-agent /etc/datadog-agent/conf.d/logs.d

Use Elasticsearch and Kibana to monitor a Jitterbit private agent

Prerequisites

To use Elasticsearch and Kibana to monitor a private agent host, you must have the following:

  • Private agent 11.37.0.7 or later installed and running.

  • A working Elasticsearch and Kibana system installed and configured. To install these, refer to the following pages:

Install Metricbeat and Filebeat

Metricbeat and Filebeat are data collecting agents that forward private agent metrics to your Elasticsearch/Kibana system. To install them, follow these steps:

Set the Kibana index lifecycle policy

To set the data retention policy, follow these steps:

  1. Open your Kibana web console.

  2. Enter index lifecycle policies in the search bar, then select the resulting page.

  3. Click the Create policy button.

  4. In the Create policy dialog, set the following values:

    • Policy name: private-agent-metrics-policy
  5. Turn on the Warm phase toggle, then set the following values:

    • Move data into phase when: 30 days old.
  6. Turn on the Cold phase toggle, then set the following values:

    • Move data into phase when: 90 days old.
  7. Click the Save policy button, then close the summary drawer.

Create Kibana templates

To create templates, follow these steps:

  1. Create the private-agent-metric-templatetemplate:

    1. Enter index management in the search bar, then select the resulting page.

    2. Select the Index Templates tab.

    3. Click the Create template button.

    4. On the Logistics page, enter values for the following fields:

      • Name: private-agent-metric-template

      • Index patterns: private-agent-metric-8.15-*

    5. Click the Next button.

    6. On the Component templates page, click the Next button.

    7. On the Index settings page, replace the contents of the Index settings field with the following:

      {
        "index": {
          "lifecycle": {
            "name": "private-agent-metrics-policy",
            "rollover_alias": "private-agent-metric-alias"
          },
          "number_of_shards": "1",
          "number_of_replicas": "1"
        }
      }
      
    8. Click the Next button.

    9. On the Mappings page, in the Mapped fields tab, add fields according to the following table. Click the Add field button after each entry:

      Field type Field name
      Keyword fields.env
      Keyword private-agent.group
      Keyword private-agent.name
    10. Select the Advanced options tab, then set the following toggles to On:

      • Map numeric strings as numbers

      • Map date strings as dates

    11. Click the Next button.

    12. On the Aliases page, click the Next button.

    13. On the Review details page, click the Create template button, then close the summary drawer.

  2. Create the private-agent-filebeat-template template:

    1. On the Index Templates tab, click the Create template button.

    2. On the Logistics page, enter values for the following fields:

      • Name: private-agent-filebeat-template

      • Index patterns: private-agent-filebeat-8.15-*

    3. Click the Next button.

    4. On the Component templates page, click the Next button.

    5. On the Index settings page, replace the contents of the Index settings field with the following:

      {
        "index": {
          "lifecycle": {
            "name": "private-agent-metrics-policy",
            "rollover_alias": "private-agent-metric-alias"
          },
          "number_of_shards": "1",
          "number_of_replicas": "1"
        }
      }
      
    6. Click the Next button.

    7. On the Mappings page, in the Mapped fields tab, add fields according to the following table. Click the Add field button after each entry:

      Field type Field name
      Keyword message.fields.environment_name
      Keyword message.fields.operation_name
      Keyword message.fields.project_name
      Keyword message.fields.status
      Keyword private-agent.group
      Keyword private-agent.name
    8. Select the Advanced options tab, then set the following toggles to On:

      • Map numeric strings as numbers

      • Map date strings as dates

    9. Click the Next button.

    10. On the Aliases page, click the Next button.

    11. On the Review details page, click the Create template button, then close the summary drawer.

Configure Metricbeat and Filebeat

The Jitterbit private agent includes a script to configure Metricbeat and Filebeat. To use it when installing for the first time, or when upgrading from a private agent 11.34-based installation, follow these steps:

  1. Run the following in a terminal or PowerShell:

    cd /opt/jitterbit/scripts/
    ./configure_elasticsearch.sh
    
    cd /opt/jitterbit/scripts/
    ./configure_elasticsearch.sh
    
    cd "C:\Program Files\Jitterbit Agent\scripts\"
    .\configure_elasticsearch.ps
    
  2. Read and respond to the following prompts:

    1. Prompt 1:

      *************
      ***WARNING***
      *************
      Installing the metric configurations will backup and overwrite your metricbeat configuration files.
      Do you wish to proceed?
      1) Yes
      2) No
      

      Enter the number corresponding to your choice, followed by the Enter key. The choices are as follows:

      • 1: Continue the script. If you have existing Metricbeat and Filebeat configuration files (/etc/metricbeat/metricbeat.yml and /etc/filebeat/filebeat.yml), backup copies are made (/etc/metricbeat/metricbeat.yml.jb.bak and /etc/filebeat/filebeat.yml.jb.bak) and new ones are created.

      • 2: Stop the script.

    2. Prompt 2:

      *************
      ***WARNING***
      *************
      Turning on Agent observability on the agent will turn on Enhanced Capability feature for the agent.
      Enhanced Capability might affect the operation routing behavior for the agents.
      Do you wish to proceed?
      1) Yes
      2) No
      

      Enter the number corresponding to your choice, followed by the Enter key. The choices are as follows:

Note

To enable observability in Docker private agents, you must use environment variables.

Import an Elasticsearch dashboard

To import a pre-built Elasticsearch dashboard, follow these steps:

  1. Download the Jitterbit Private Agent Elasticsearch dashboard JSON file from the Harmony portal Downloads page.

  2. Enter kibana saved objects in the Elasticsearch search bar, then select the resulting page.

  3. Click the Import button.

  4. In the Import saved objects dialog, click Import, find the downloaded dashboard JSON file, then select it.

  5. Under Import options, select Check for existing objects with Automatically overwrite conflicts.

  6. Click the Import button.

  7. Click the Done button.

  8. To use the dashboard, enter dashboards in the Elasticsearch search bar, select the resulting page, then select Jitterbit Harmony Private Agent Dashboard.

Troubleshoot Elasticsearch issues

To help solve any issues with Elasticsearch components, you can check the Elasticsearch documentation, inspect log files, or run diagnostic commands.

Elasticsearch documentation

Elasticsearch log files locations

  • /var/log/metricbeat

  • /var/log/filebeat