Atualiza uma configuração de pipeline do Logtail.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
log:UpdateLogtailPipelineConfig |
update |
*All resources.
|
|
Nenhuma |
Sintaxe da solicitação
PUT /pipelineconfigs/{configName} HTTP/1.1
Parâmetros de caminho
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| configName |
string |
Sim |
O nome da configuração de pipeline do Logtail. |
test-config |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| project |
string |
Sim |
O nome do projeto. |
test-project |
| body |
object |
Não |
O conteúdo da configuração de pipeline do Logtail. |
|
| aggregators |
array<object> |
Não |
A lista de plug-ins agregadores. Importante Este parâmetro entra em vigor apenas quando plug-ins de processamento estendidos são usados. É permitido no máximo um plug-in agregador. |
|
|
object |
Não |
O plug-in agregador. |
||
| configName |
string |
Sim |
O nome da configuração. Importante Este nome deve ser igual ao valor do parâmetro configName no nível externo. |
test-config |
| flushers |
array<object> |
Sim |
A lista de plug-ins de saída. Importante Atualmente, apenas um plug-in de saída do Simple Log Service é permitido. |
|
|
object |
Não |
O plug-in de saída. |
{ "Type": "flusher_sls", "Logstore": "test" } |
|
| global |
object |
Não |
As configurações globais. |
|
| inputs |
array<object> |
Sim |
A lista de plug-ins de entrada. Importante Atualmente, apenas um plug-in de entrada pode ser configurado. |
|
|
object |
Não |
O plug-in de entrada. Nota
Para os parâmetros do plug-in de entrada de arquivo, consulte Plug-in de arquivo. Para os parâmetros de outros plug-ins de entrada, consulte Plug-ins de processamento. |
{ "Type": "input_file", "FilePaths": ["/var/log/*.log"] } |
|
| logSample |
string |
Não |
A amostra de log. Vários logs são suportados. |
2022-06-14 11:13:29.796 | DEBUG | __main__: |
| processors |
array<object> |
Não |
A lista de plug-ins de processamento. Nota
Os plug-ins de processamento são divididos em plug-ins de processamento nativos e plug-ins de processamento estendidos. Para mais informações, consulte Plug-ins de processamento. Importante
Nota
|
|
|
object |
Não |
O plug-in de processamento. Nota
Para mais informações, consulte Plug-ins de processamento. |
{ "Type": "processor_parse_json_native", "SourceKey": "content" } |
|
| task |
object |
Não |
A configuração da tarefa. |
{'taskId': 'xxxxxxxxx'} |
Configurações globais
| Parâmetro | Tipo | Obrigatório | Valor padrão | Exemplo | Descrição |
| TopicType | string | Não | Vazio | filepath | O tipo de tópico. Valores válidos:
|
| TopicFormat | string | Não. Obrigatório quando TopicType é definido como filepath ou custom. | / | /var/log/(.*).log | O formato do tópico. |
| EnableTimestampNanosecond | bool | Não | false | false | Especifica se a precisão de nanossegundos para carimbos de data/hora deve ser ativada. |
| PipelineMetaTagKey | object | Não | Vazio | {"HOST_NAME":"__hostname__"} | Importante Suportado apenas pelo LoongCollector 3.0.10 e posterior.
|
Plug-ins de entrada.
Plug-in de entrada de arquivo
| Parâmetro | Tipo | Obrigatório | Valor padrão | Exemplo | Descrição |
| Type | string | Sim | / | input_file | O tipo de plug-in. Defina o valor como input_file. |
| FilePaths | [string] | Sim | / | ["/var/log/*.log"] | A lista de caminhos de arquivos de log a serem coletados. Atualmente, apenas um caminho é suportado. Você pode usar os curingas * e ** no caminho. O curinga ** pode aparecer apenas uma vez e deve ser usado antes do nome do arquivo. |
| MaxDirSearchDepth | uint | Não | 0 | 0 | A profundidade máxima de diretório para o curinga ** no caminho do arquivo. Este parâmetro é válido apenas quando o curinga ** é usado no caminho do log. Valores válidos: 0 a 1000. |
| ExcludeFilePaths | [string] | Não | Vazio | ["/home/admin/*.log"] | A lista de exclusão de caminhos de arquivos. Os caminhos devem ser caminhos absolutos. O curinga * é suportado. |
| ExcludeFiles | [string] | Não | Vazio | ["app*.log", "password"] | A lista de exclusão de nomes de arquivos. O curinga * é suportado. |
| ExcludeDirs | [string] | Não | Vazio | ["/home/admin/dir1", "/home/admin/dir2*"] | A lista de exclusão de diretórios. Os caminhos devem ser caminhos absolutos. O curinga * é suportado. |
| FileEncoding | string | Não | utf8 | utf8 | O formato de codificação do arquivo. Valores válidos: utf8 e gbk. |
| TailSizeKB | uint | Não | 1024 | 1024 | O tamanho a partir do final do arquivo correspondente até a posição inicial de coleta quando a configuração entra em vigor pela primeira vez. Se o tamanho do arquivo for menor que este valor, a coleta começa do início do arquivo. Valores válidos: 0 a 10485760. Unidade: KB. |
| Multiline | object | Não | Vazio | / | As opções de agregação multilinha. |
| Multiline.Mode | string | Não | custom | custom | O modo de agregação multilinha. Valores válidos: custom e JSON. |
| Multiline.StartPattern | string | Obrigatório quando Multiline.Mode é definido como custom. | Vazio | \d+-\d+-\d+.* | A expressão regular para a primeira linha de um log. |
| EnableContainerDiscovery | bool | Não | false | true | Especifica se o recurso de descoberta de contêineres deve ser ativado. Este parâmetro é válido apenas quando o Logtail é executado no modo DaemonSet e o caminho do arquivo de coleta é um caminho dentro do contêiner. |
| ContainerFilters | object | Não | Vazio | / | As opções de filtragem de contêineres. Várias opções são conectadas pelo operador AND. Este parâmetro é válido apenas quando EnableContainerDiscovery é definido como true. |
| ContainerFilters.K8sNamespaceRegex | string | Não | Vazio | default | Para contêineres implantados em um cluster Kubernetes, a condição de namespace do pod onde o contêiner a ser coletado reside. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. |
| ContainerFilters.K8sPodRegex | string | Não | Vazio | test-pod | Para contêineres implantados em um cluster Kubernetes, a condição de nome do pod onde o contêiner a ser coletado reside. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. |
| ContainerFilters.IncludeK8sLabel | map | Não | Vazio | / | Para contêineres implantados em um cluster Kubernetes, a condição de label do pod onde o contêiner a ser coletado reside. Várias condições são conectadas pelo operador OR. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. A chave no mapa é o nome da label do pod, e o valor é o valor da label do pod. Descrição:
|
| ContainerFilters.ExcludeK8sLabel | map | Não | Vazio | / | Para contêineres implantados em um cluster Kubernetes, a condição de label do pod onde o contêiner a ser excluído reside. Várias condições são conectadas pelo operador OR. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. A chave no mapa é o nome da label do pod, e o valor é o valor da label do pod. Descrição:
|
| ContainerFilters.K8sContainerRegex | string | Não | Vazio | test-container | Para contêineres implantados em um cluster Kubernetes, a condição de nome do contêiner a ser coletado. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. |
| ContainerFilters.IncludeEnv | map | Não | Vazio | / | A condição de variável de ambiente do contêiner a ser coletado. Várias condições são conectadas pelo operador OR. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. A chave no mapa é o nome da variável de ambiente, e o valor é o valor da variável de ambiente. Descrição:
|
| ContainerFilters.ExcludeEnv | map | Não | Vazio | / | A condição de variável de ambiente do contêiner a ser excluído. Várias condições são conectadas pelo operador OR. Se este parâmetro não for adicionado, todos os contêineres serão coletados. A correspondência de expressão regular é suportada. A chave no mapa é o nome da variável de ambiente, e o valor é o valor da variável de ambiente. Descrição:
|
| ContainerFilters.IncludeContainerLabel | map | Não | Vazio | / | A condição de label do contêiner a ser coletado. Várias condições são conectadas pelo operador OR. Se este parâmetro não for adicionado, o valor padrão é vazio, o que significa que todos os contêineres serão coletados. A correspondência de expressão regular é suportada. A chave no mapa é o nome da label do contêiner, e o valor é o valor da label do contêiner. Descrição:
|
| ContainerFilters.ExcludeContainerLabel | map | Não | Vazio | / | A condição de label do contêiner a ser excluído. Várias condições são conectadas pelo operador OR. Se este parâmetro não for adicionado, o valor padrão é vazio, o que significa que todos os contêineres serão coletados. A correspondência de expressão regular é suportada. A chave no mapa é o nome da label do contêiner, e o valor é o valor da label do contêiner. Descrição:
|
| ExternalK8sLabelTag | map | Não | Vazio | / | Para contêineres implantados em um cluster Kubernetes, as tags relacionadas às labels de pod que precisam ser adicionadas ao log. A chave no mapa é o nome da label do pod, e o valor é o nome da tag correspondente. Por exemplo, se você adicionar app: k8s\_label\_app ao mapa e o pod contiver a label app=serviceA, essas informações serão adicionadas ao log como uma tag, ou seja, o campo __tag__:k8s_label_app: serviceA será adicionado. Se o pod não contiver a label app, um campo vazio __tag__:k8s_label_app: será adicionado. |
| ExternalEnvTag | map | Não | Vazio | / | Para contêineres implantados em um cluster Kubernetes, as tags relacionadas às variáveis de ambiente do contêiner que precisam ser adicionadas ao log. A chave no mapa é o nome da variável de ambiente, e o valor é o nome da tag correspondente. Por exemplo, se você adicionar VERSION: env\_version ao mapa e o contêiner contiver a variável de ambiente VERSION=v1.0.0, essas informações serão adicionadas ao log como uma tag, ou seja, o campo __tag__:env_version: v1.0.0 será adicionado. Se o contêiner não contiver a variável de ambiente VERSION, um campo vazio __tag__:env_version: será adicionado. |
| CollectingContainersMeta | bool | Não | false | true | Especifica se a visualização prévia dos metadados do contêiner deve ser ativada. |
| AppendingLogPositionMeta | bool | Não | false | false | Especifica se os metadados do arquivo ao qual o log pertence devem ser adicionados, incluindo o campo __tag__:__inode__ e o campo __file_offset__. |
| AllowingIncludedByMultiConfigs | bool | Não | false | false | Especifica se a configuração atual deve ter permissão para coletar arquivos que já foram correspondidos por outras configurações. |
| Tags | object | Não | Vazio | {"FileInodeTagKey":"__inode__"} | Importante Suportado apenas pelo LoongCollector 3.0.10 e posterior.
|
| FileOffsetKey | string | Não | Vazio | __file_offset__ | Importante Suportado apenas pelo LoongCollector 3.0.10 e posterior. |
Saída padrão do contêiner (legado)
| Parâmetro | Tipo | Obrigatório | Valor padrão | Exemplo | Descrição |
| Type | string | Sim | / | service_docker_stdout | O tipo de plug-in. Defina o valor como service_docker_stdout. |
| Stdout | Boolean | Não | true | true | Especifica se a saída padrão (stdout) deve ser coletada. |
| Stderr | Boolean | Não | true | true | Especifica se o erro padrão (stderr) deve ser coletado. |
| StartLogMaxOffset | Integer | Não | 128×1024 | 131072 | O comprimento dos dados históricos a serem rastreados durante a primeira coleta. Unidade: bytes. Recomendamos que você defina o valor como um número no intervalo de [131072, 1048576]. |
| IncludeLabel | Map, onde LabelKey e LabelValue são do tipo String | Não | Vazio | A lista de permissão de labels de contêiner, que é usada para especificar os contêineres a serem coletados. O valor padrão é vazio, o que significa que a saída padrão de todos os contêineres é coletada. Se você quiser definir uma lista de permissão de labels de contêiner, LabelKey é obrigatório e LabelValue é opcional.
Várias listas de permissão são conectadas pelo operador OR, o que significa que um contêiner é correspondido desde que suas labels atendam a qualquer uma das listas de permissão. | |
| ExcludeLabel | Map, onde LabelKey e LabelValue são do tipo String | Não | Vazio | A lista de exclusão de labels de contêiner, que é usada para excluir os contêineres que não precisam ser coletados. O valor padrão é vazio, o que significa que nenhum contêiner é excluído. Se você quiser definir uma lista de exclusão de labels de contêiner, LabelKey é obrigatório e LabelValue é opcional.
Várias listas de exclusão são conectadas pelo operador OR, o que significa que um contêiner é excluído desde que suas labels atendam a qualquer uma das listas de exclusão. | |
| IncludeEnv | Map, onde EnvKey e EnvValue são do tipo String | Não | Vazio | A lista de permissão de variáveis de ambiente, que é usada para especificar os contêineres a serem coletados. O valor padrão é vazio, o que significa que a saída padrão de todos os contêineres é coletada. Se você quiser definir uma lista de permissão de variáveis de ambiente, EnvKey é obrigatório e EnvValue é opcional.
| |
| ExcludeEnv | Map, onde EnvKey e EnvValue são do tipo String | Não | Vazio | A lista de exclusão de variáveis de ambiente, que é usada para excluir os contêineres que não precisam ser coletados. O valor padrão é vazio, o que significa que nenhum contêiner é excluído. Se você quiser definir uma lista de exclusão de variáveis de ambiente, EnvKey é obrigatório e EnvValue é opcional.
Várias listas de exclusão são conectadas pelo operador OR, o que significa que um contêiner é excluído desde que suas variáveis de ambiente atendam a qualquer um dos pares chave-valor. | |
| IncludeK8sLabel | Map, onde LabelKey e LabelValue são do tipo String | Não | Vazio | A lista de permissão de labels do Kubernetes (definidas em template.metadata), que é usada para especificar os contêineres a serem coletados. Se você quiser definir uma lista de permissão de labels do Kubernetes, LabelKey é obrigatório e LabelValue é opcional.
Várias listas de permissão são conectadas pelo operador OR, o que significa que um contêiner é correspondido desde que suas labels do Kubernetes atendam a qualquer uma das listas de permissão. | |
| ExcludeK8sLabel | Map, onde LabelKey e LabelValue são do tipo String | Não | Vazio | A lista de exclusão de labels do Kubernetes (definidas em template.metadata), que é usada para excluir os contêineres que não precisam ser coletados. Se você quiser definir uma lista de exclusão de labels do Kubernetes, LabelKey é obrigatório e LabelValue é opcional.
Várias listas de exclusão são conectadas pelo operador OR, o que significa que um contêiner é excluído desde que suas labels do Kubernetes atendam a qualquer uma das listas de exclusão. | |
| K8sNamespaceRegex | String | Não | Vazio | ^(default|nginx)$ | Especifica os contêineres a serem coletados pelo nome do namespace. A correspondência de expressão regular é suportada. Por exemplo, se você definir o valor como ^(default|nginx)$, todos os contêineres nos namespaces nginx e default serão correspondidos. |
| K8sPodRegex | String | Não | Vazio | ^(nginx-log-demo.*)$ | Especifica os contêineres a serem coletados pelo nome do pod. A correspondência de expressão regular é suportada. Por exemplo, se você definir o valor como ^(nginx-log-demo.*)$, todos os contêineres nos pods cujos nomes começam com nginx-log-demo serão correspondidos. |
| K8sContainerRegex | String | Não | Vazio | ^(container-test)$ | Especifica os contêineres a serem coletados pelo nome do contêiner (o nome do contêiner Kubernetes é definido em spec.containers). A correspondência de expressão regular é suportada. Por exemplo, se você definir o valor como ^(container-test)$, todos os contêineres chamados container-test serão correspondidos. |
Parâmetros de processamento de dados
| Parâmetro | Tipo | Obrigatório | Valor padrão | Exemplo | Descrição |
| BeginLineRegex | String | Não | Vazio | A expressão regular usada para corresponder à primeira linha de um log. Se este parâmetro estiver vazio, o modo de linha única será usado. Se a expressão corresponder ao início de uma linha, a linha será tratada como um novo log. Caso contrário, a linha será concatenada ao log anterior. | |
| BeginLineCheckLength | Integer | Não | Vazio | O comprimento da primeira linha a ser correspondida. Unidade: bytes. O valor padrão é 10 × 1024 bytes. Se a expressão regular para correspondência da primeira linha puder ser refletida nos primeiros N bytes, recomendamos que você defina este parâmetro para melhorar a eficiência da correspondência. | |
| BeginLineTimeoutMs | Integer | Não | Vazio | O período de tempo limite para a correspondência da primeira linha. Unidade: milissegundos. O valor padrão é 3000 milissegundos. Se nenhum novo log aparecer dentro de 3000 milissegundos, a correspondência termina e o último log é carregado no Simple Log Service. | |
| MaxLogSize | Integer | Não | Vazio | O comprimento máximo de um log. O valor padrão é 0. Unidade: bytes. O valor padrão é 512 × 1024 bytes. Se o comprimento do log exceder este valor, o sistema para de procurar a primeira linha e carrega o log diretamente. | |
| ExternalK8sLabelTag | Map, onde LabelKey e LabelValue são do tipo String | Não | Vazio | Depois de definir as tags de log para os rótulos do Kubernetes (definidos em template.metadata), o Logtail adiciona campos relacionados aos rótulos do Kubernetes ao log. Por exemplo, se você definir LabelKey como app e LabelValue como | |
| ExternalEnvTag | Map, onde EnvKey e EnvValue são do tipo String | Não | Vazio | Depois de definir as tags de log para as variáveis de ambiente do contêiner, o Logtail adiciona campos relacionados às variáveis de ambiente do contêiner ao log. Por exemplo, se você definir EnvKey como |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
Nenhum definido.
Exemplos
Resposta de sucesso
JSON formato
{}
Códigos de erro
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.