automation-suite
2023.10
false
UiPath logo, featuring letters U and I in white
Automation Suite no guia de instalação do EKS/AKS
Last updated 21 de nov de 2024

Configuração do NLog

Adição de extensões do NLog

O Orchestrator carrega as extensões a seguir por padrão, portanto, você não precisa incluí-las na pasta ou na configuração do NLog:

  • NLog.Targets.ElasticSearch

  • UiPath.Orchestrator.Logs.Elasticsearch

  • Microsoft.ApplicationInsights.NLogTarget

  • NLog.Extensions.AzureEventHub

Apenas extensões compatíveis com Linux podem ser usadas nesta configuração; portanto, certifique-se de que sua extensão de NLog escolhida obedeça a essa regra.

Para disponibilizar a extensão para uso, ela deve ser carregada no armazenamento do cluster. A ferramenta de configuração do Orchestrator pode fazer isso por meio do parâmetro -n|--nlog-extensions-folder:
./orchestrator-configurator.sh -n nlogextensions./orchestrator-configurator.sh -n nlogextensions
Se você usar uma configuração de armazenamento externo no nível do cluster, você deve indicar isso incluindo o parâmetro --use-external-storage.

Configuração avançada do NLog

  1. Crie o nlog.config.jsonarquivo que contém as seções padrão: extensões, destinos e regras.
    A seção de extensões é uma matriz de itens que especificam os conjuntos de extensão, por meio de assemblyFile, e o caminho da montagem.
    Se os plug-ins personalizados do Nlog tiverem sido carregados (conforme descrito na seção Adicionando extensões do NLog), serão referenciados na seção extensions.
  2. Configure o destino e a regra no arquivo nlog.config.json.
  3. Aplique o arquivo nlog.config.json usando a ferramenta de configuração do Orchestrator:
    ./orchestrator-configurator.sh -l nlog.custom.config./orchestrator-configurator.sh -l nlog.custom.config
    Exemplo de arquivo nlog.config.json que grava logs no Azure Blob:
    {   "NLog": {
            "extensions": [
                { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
            ],
            "targets": {
                "azureBlob": {
                    "type": "AzureBlobStorage",
                    "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
                    "container": "orchestratorlogs",
                    "blobName": "${date:format=yyyy-MM-dd hh.mm}",
                    "layout": {
                      "type": "JsonLayout",
                      "includeAllProperties": true,
                      "Attributes": [
                        {"name": "ts","layout": "${longdate}"},
                        {"name": "level","layout": "${level:upperCase=true}"},
                        {"name": "logger","layout": "${logger}"},
                        {"name": "message","layout": "${message}"},
                        {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
                      ]
                    }
                }
            },
            "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
        }
    }{   "NLog": {
            "extensions": [
                { "assemblyFile": "NLog.Extensions.AzureBlobStorage.dll" }
            ],
            "targets": {
                "azureBlob": {
                    "type": "AzureBlobStorage",
                    "connectionString": "DefaultEndpointsProtocol=https;AccountName=test;AccountKey=key;EndpointSuffix=core.windows.net",
                    "container": "orchestratorlogs",
                    "blobName": "${date:format=yyyy-MM-dd hh.mm}",
                    "layout": {
                      "type": "JsonLayout",
                      "includeAllProperties": true,
                      "Attributes": [
                        {"name": "ts","layout": "${longdate}"},
                        {"name": "level","layout": "${level:upperCase=true}"},
                        {"name": "logger","layout": "${logger}"},
                        {"name": "message","layout": "${message}"},
                        {"name": "exception","layout": "${onexception:${ui-pretty-exception}}"}
                      ]
                    }
                }
            },
            "rules": { "70_Final": { "writeTo": "stdout,azureBlob" } }
        }
    }
    Exemplo de arquivo nlog.config.json que grava logs de robôs no Splunk:
    {
        "Nlog": {
            "extensions": [
                { "assemblyFile": "NLog.Targets.Splunk.dll" },
                { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" }
            ],
            "targets": {
                "Splunk": {
                    "type": "BufferingWrapper",
                    "flushTimeout": 5000,
                    "target": {
                        "type": "SplunkHttpEventCollector",
                        "serverUrl": "http://splunk.example.com",
                        "token": "splunk-token",
                        "channel": "",
                        "source": "${logger}",
                        "sourceType": "_json",
                        "index": "uipath",
                        "retriesOnError": "0",
                        "batchSizeBytes": "0",
                        "batchSizeCount": "0",
                        "includeEventProperties": "true",
                        "includePositionalParameters": "true",
                        "includeMdlc": "true",
                        "maxConnectionsPerServer": "10",
                        "ignoreSslErrors": "false",
                        "useProxy": "false",
                        "proxyUrl": "",
                        "proxyUser": "",
                        "proxyPassword": ""
                    }
                }
            },
            "rules": {
                "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" }
            }
        }
    }{
        "Nlog": {
            "extensions": [
                { "assemblyFile": "NLog.Targets.Splunk.dll" },
                { "assembly": "UiPath.Orchestrator.Logs.DatabaseBulk.NLogTarget" }
            ],
            "targets": {
                "Splunk": {
                    "type": "BufferingWrapper",
                    "flushTimeout": 5000,
                    "target": {
                        "type": "SplunkHttpEventCollector",
                        "serverUrl": "http://splunk.example.com",
                        "token": "splunk-token",
                        "channel": "",
                        "source": "${logger}",
                        "sourceType": "_json",
                        "index": "uipath",
                        "retriesOnError": "0",
                        "batchSizeBytes": "0",
                        "batchSizeCount": "0",
                        "includeEventProperties": "true",
                        "includePositionalParameters": "true",
                        "includeMdlc": "true",
                        "maxConnectionsPerServer": "10",
                        "ignoreSslErrors": "false",
                        "useProxy": "false",
                        "proxyUrl": "",
                        "proxyUser": "",
                        "proxyPassword": ""
                    }
                }
            },
            "rules": {
                "20_Robot_Primary": { "writeTo": "Splunk,database,insightsRobotLogs" }
            }
        }
    }
  • Adição de extensões do NLog
  • Configuração avançada do NLog

Esta página foi útil?

Obtenha a ajuda que você precisa
Aprendendo RPA - Cursos de automação
Fórum da comunidade da Uipath
Uipath Logo White
Confiança e segurança
© 2005-2024 UiPath. Todos os direitos reservados.