- Overview
- Requirements
- Installation
- Post-installation
- Migration and upgrade
- Upgrading Automation Suite on EKS/AKS
- Step 1: Moving the Identity organization data from standalone to Automation Suite
- Step 2: Restoring the standalone product database
- Step 3: Backing up the platform database in Automation Suite
- Step 4: Merging organizations in Automation Suite
- Step 5: Updating the migrated product connection strings
- Step 6: Migrating standalone Orchestrator
- Step 7: Migrating standalone Insights
- Step 8: Migrating standalone Test Manager
- Step 9: Deleting the default tenant
- Performing a single tenant migration
- Migrating from Automation Suite on Linux to Automation Suite on EKS/AKS
- Monitoring and alerting
- Cluster administration
- Product-specific configuration
- Configuring Orchestrator parameters
- Orchestrator appSettings
- Configuring appSettings
- Configuring the maximum request size
- Overriding cluster-level storage configuration
- Saving robot logs to Elasticsearch
- Configuring credential stores
- Configuring encryption key per tenant
- Cleaning up the Orchestrator database
- Troubleshooting
- The backup setup does not work due to a failure to connect to Azure Government
- Pods in the uipath namespace stuck when enabling custom node taints
- Unable to launch Automation Hub and Apps with proxy setup
- Pods cannot communicate with FQDN in a proxy environment
- Test Automation SQL connection string is ignored
- EKS backup failure due to Velero version
- Velero backup fails with FailedValidation error
- Accessing FQDN returns RBAC access denied error
- Manual ArgoCD NetworkPolicy mitigation (GHSA-47m3-95c7-g2g8)
Saving robot logs to Elasticsearch
Configure robot log forwarding to an Elasticsearch server using basic or advanced NLog target settings in Automation Suite.
Saving robot logs to an Elasticsearch server can be achieved through two types of configuration: basic and advanced.
The basic configuration provides default functionality that activates the preconfigured Elasticsearch NLog target, which is made up of an Elasticsearch target wrapped in a Buffering target. This type of configuration is enough in most scenarios.
However, if you need to further customize the rules, you can use the advanced configuration method.
The option to save robot logs to an Elasticsearch server only becomes effective once you configure it, and is not applied retroactively. This means that you will no longer have access to any logs that were already in the database at the time you configured the option, because logs can only be retrieved and displayed from a single destination.
Basic robot log Elasticsearch configuration
To apply the basic configuration, take the following steps. For more details, refer to Configuring the Orchestrator parameters.
-
In the configuration file, add a new section called
orchestrator_robot_logs_elasticto the Orchestrator configuration, as shown in the following example:"orchestrator": { "enabled": true, "orchestrator_robot_logs_elastic": { "elastic_uri": "https://elastic.example.com:9200", "elastic_auth_username": "elastic-user", "elastic_auth_password": "<your-password>" } }"orchestrator": { "enabled": true, "orchestrator_robot_logs_elastic": { "elastic_uri": "https://elastic.example.com:9200", "elastic_auth_username": "elastic-user", "elastic_auth_password": "<your-password>" } } -
Update the following parameters with your own values:
Parameter Description elastic_uriThe address of the Elasticsearch instance that must be used. You must provide the address as a URI, along with a username and password.
Example:https://elastic.example.com:9200
Make sure you do not include a trailing slash.elastic_auth_usernameExample: elastic-userelastic_auth_passwordExample: <your-password>
The basic configuration supports Elasticsearch version 7.x. For Elasticsearch 8.x, you need to use the advanced configuration.
Advanced robot log Elasticsearch configuration
Any changes you make per the next steps can negatively affect the functionality and stability of the entire system. It is advisable to only make changes if you understand their consequences.
The advanced configuration allows you to fully customize your NLog.config target.
- Follow the basic configuration steps described previously.
- Follow the Advanced NLog configuration steps, then update the
robotElasticBuffertarget with the properties that need to be changed.
The advanced configuration also supports Elasticsearch version 8.x.
Sample nlog.config.json for Elasticsearch 7.x
{
"Nlog": {
"targets": {
"robotElasticBuffer": {
"flushTimeout": 1000,
"bufferSize": 1000,
"slidingTimeout": false,
"target": {
"uri": "https://elastic.example.com:9200",
"requireAuth": true,
"username": "elastic-user",
"password": "<your-password>",
"index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
"documentType": "logEvent",
"includeAllProperties": true,
"layout": "${message}",
"excludedProperties": "agentSessionId,tenantId,indexName"
}
}
}
}
}
{
"Nlog": {
"targets": {
"robotElasticBuffer": {
"flushTimeout": 1000,
"bufferSize": 1000,
"slidingTimeout": false,
"target": {
"uri": "https://elastic.example.com:9200",
"requireAuth": true,
"username": "elastic-user",
"password": "<your-password>",
"index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
"documentType": "logEvent",
"includeAllProperties": true,
"layout": "${message}",
"excludedProperties": "agentSessionId,tenantId,indexName"
}
}
}
}
}
Sample nlog.config.json for Elasticsearch 8.x
{
"Nlog": {
"targets": {
"robotElasticBuffer": {
"flushTimeout": 1000,
"bufferSize": 1000,
"slidingTimeout": false,
"target": {
"uri": "https://elastic.example.com:9200",
"requireAuth": true,
"username": "elastic-user",
"password": "<your-password>",
"index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
"documentType": "",
"includeAllProperties": true,
"layout": "${message}",
"excludedProperties": "agentSessionId,tenantId,indexName"
}
}
}
}
}
{
"Nlog": {
"targets": {
"robotElasticBuffer": {
"flushTimeout": 1000,
"bufferSize": 1000,
"slidingTimeout": false,
"target": {
"uri": "https://elastic.example.com:9200",
"requireAuth": true,
"username": "elastic-user",
"password": "<your-password>",
"index": "${event-properties:item=indexName}-${date:format=yyyy.MM}",
"documentType": "",
"includeAllProperties": true,
"layout": "${message}",
"excludedProperties": "agentSessionId,tenantId,indexName"
}
}
}
}
}