Cria 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:CreateLogtailPipelineConfig |
create |
*All Resource
|
|
Nenhuma |
Sintaxe da solicitação
POST /pipelineconfigs HTTP/1.1
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. |
|
| configName |
string |
Sim |
O nome da configuração. Nota
O nome da configuração deve ser exclusivo dentro do projeto e não pode ser modificado após a criação da configuração. O nome deve seguir estas regras:
|
test-config |
| logSample |
string |
Não |
Um log de exemplo. Múltiplas entradas de log são suportadas. |
2022-06-14 11:13:29.796 | DEBUG | __main__: |
| global |
object |
Não |
A configuração global. |
|
| inputs |
array<object> |
Sim |
A lista de plugins de entrada. Importante Atualmente, você pode configurar apenas um plugin de entrada. |
|
|
object |
Não |
O plugin de entrada. Nota
Para informações sobre os parâmetros do plugin de entrada de arquivo, consulte Plugin de arquivo. Para informações sobre os parâmetros de outros plugins de entrada, consulte Plugins de processamento. |
{ "Type": "input_file", "FilePaths": ["/var/log/*.log"] } |
|
| processors |
array<object> |
Não |
A lista de plugins de processamento. Nota
Os plugins de processamento são classificados em plugins de processamento nativos e plugins de processamento de extensão. Para mais informações, consulte Plugins de processamento. Importante
Nota
|
|
|
object |
Não |
O plugin de processamento. Nota
Para mais informações sobre plugins de processamento nativos e de extensão, consulte Plugins de processamento. |
{ "Type": "processor_parse_json_native", "SourceKey": "content" } |
|
| aggregators |
array<object> |
Não |
A lista de plugins de agregação. Importante Este parâmetro é válido apenas quando você usa plugins de processamento de extensão. Você pode usar no máximo um plugin de agregação. |
|
|
object |
Não |
O plugin de agregação. |
||
| flushers |
array<object> |
Sim |
A lista de plugins de saída. Importante Atualmente, você pode adicionar apenas um plugin flusher_sls. |
|
|
object |
Não |
O plugin de saída. |
{ "Type": "flusher_sls", "Logstore": "test" } |
|
| task |
object |
Não |
A configuração da tarefa. |
Configuração global
| Parâmetro | Tipo | Obrigatório | Valor padrão | Exemplo | Descrição |
| TopicType | string | Não | None | filepath | O tipo de tópico. Valores válidos:* filepath: extrai informações do caminho do arquivo de log como tópico. Este valor é válido apenas quando o plugin de entrada é input_file. * machine_group_topic: usa o tópico do grupo de máquinas ao qual a configuração é aplicada. * custom: um tópico personalizado. Para mais informações, consulte Tópico de log. |
| TopicFormat | string | Não. Este parâmetro é obrigatório se você definir TopicType 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 deve ser ativada para timestamps. |
| PipelineMetaTagKey | object | Não | None | {"HOST_NAME":"hostname"} | Importante Este parâmetro é suportado apenas pelo LoongCollector 3.0.10 e versões posteriores. * AGENT_TAG: o identificador personalizado. Esta tag é adicionada por padrão. O valor padrão é "__user_defined_id__". * HOST_ID: o ID do host. Esta tag não é adicionada por padrão. O valor padrão é "__host_id__". * CLOUD_PROVIDER: Esta tag não é adicionada por padrão. O valor padrão é "__cloud_provider__". |
Plugins de entrada.
Plugin de entrada de arquivo
| Parâmetro | Tipo | Obrigatório | Valor padrão | Exemplo | Descrição |
| Type | string | Sim | / | input_file | O tipo do plugin. Defina o valor como input_file. |
| FilePaths | [string] | Sim | / | ["/var/log/*.log"] | Os caminhos dos arquivos de log que você deseja coletar. Atualmente, apenas um caminho é suportado. Você pode usar os caracteres curinga (*) e () no caminho. O caractere curinga de duplo asterisco () pode aparecer apenas uma vez e pode ser usado apenas antes do nome do arquivo. |
| MaxDirSearchDepth | uint | Não | 0 | 0 | A profundidade máxima dos diretórios correspondidos pelo caractere curinga de duplo asterisco () em um caminho de arquivo. Este parâmetro é válido apenas quando um caminho de arquivo contém o caractere curinga de duplo asterisco (). Valores válidos: 0 a 1000. |
| ExcludeFilePaths | [string] | Não | None | ["/home/admin/*.log"] | A lista negra de caminhos de arquivo. Os caminhos devem ser caminhos absolutos. O caractere curinga (*) é suportado. |
| ExcludeFiles | [string] | Não | None | ["app*.log", "password"] | A lista negra de nomes de arquivo. O caractere curinga (*) é suportado. |
| ExcludeDirs | [string] | Não | None | ["/home/admin/dir1", "/home/admin/dir2*"] | A lista negra de diretórios. Os caminhos devem ser caminhos absolutos. O caractere 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 dos dados a serem coletados do final de um arquivo quando a configuração é aplicada pela primeira vez. Se o tamanho do arquivo for menor que o valor especificado, os dados são coletados do início do arquivo. Unidade: KB. Valores válidos: 0 a 10485760. |
| Multiline | object | Não | None | / | As opções de agregação de log multilinha. |
| Multiline.Mode | string | Não | custom | custom | O modo de agregação de log multilinha. Valores válidos: custom e JSON. |
| Multiline.StartPattern | string | Obrigatório se Multiline.Mode for definido como custom | None | \d+-\d+-\d+.* | A expressão regular para corresponder à primeira linha de um log multilinha. |
| EnableContainerDiscovery | bool | Não | false | true | Especifica se a descoberta de contêineres deve ser ativada. Este parâmetro é válido apenas quando o Logtail é executado no modo DaemonSet e o caminho de coleta é um caminho dentro de um contêiner. |
| ContainerFilters | object | Não | None | / | As opções de filtragem de contêineres. Múltiplas opções são combinadas usando o operador AND. Este parâmetro é válido apenas se você definir EnableContainerDiscovery como true. |
| ContainerFilters.K8sNamespaceRegex | string | Não | None | default | Para contêineres em um ambiente Kubernetes, especifica o namespace dos pods onde os contêineres a serem coletados residem. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. |
| ContainerFilters.K8sPodRegex | string | Não | None | test-pod | Para contêineres em um ambiente Kubernetes, especifica os nomes dos pods onde os contêineres a serem coletados residem. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. |
| ContainerFilters.IncludeK8sLabel | map | Não | None | / | Para contêineres em um ambiente Kubernetes, especifica os labels dos pods onde os contêineres a serem coletados residem. Múltiplas condições são combinadas usando o operador OR. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. A chave no map é o nome do label do pod, e o valor é o valor do label do pod. As seguintes regras se aplicam:* Se o valor no map estiver vazio, os pods que contêm a chave serão correspondidos. * Se o valor no map não estiver vazio: - Se o valor começar com ^ e terminar com $, os pods que tiverem um nome de label correspondente à chave e um valor de label correspondente à expressão regular serão correspondidos.- Em outros casos, os pods que tiverem um nome de label correspondente à chave e um valor de label correspondente ao valor serão correspondidos. |
| ContainerFilters.ExcludeK8sLabel | map | Não | None | / | Para contêineres em um ambiente Kubernetes, especifica os labels dos pods onde os contêineres a serem excluídos residem. Múltiplas condições são combinadas usando o operador OR. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. A chave no map é o nome do label do pod, e o valor é o valor do label do pod. As seguintes regras se aplicam:* Se o valor no map estiver vazio, os pods que contêm a chave serão correspondidos. * Se o valor no map não estiver vazio: - Se o valor começar com ^ e terminar com $, os pods que tiverem um nome de label correspondente à chave e um valor de label correspondente à expressão regular serão correspondidos.- Em outros casos, os pods que tiverem um nome de label correspondente à chave e um valor de label correspondente ao valor serão correspondidos. |
| ContainerFilters.K8sContainerRegex | string | Não | None | test-container | Para contêineres em um ambiente Kubernetes, especifica os nomes dos contêineres a serem coletados. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. |
| ContainerFilters.IncludeEnv | map | Não | None | / | As variáveis de ambiente dos contêineres a serem coletados. Múltiplas condições são combinadas usando o operador OR. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. A chave no map é o nome da variável de ambiente, e o valor é o valor da variável de ambiente. As seguintes regras se aplicam:* Se o valor no map estiver vazio, os contêineres cujas variáveis de ambiente contêm a chave serão correspondidos. * Se o valor no map não estiver vazio: - Se o valor começar com ^ e terminar com $, os contêineres que tiverem um nome de variável de ambiente correspondente à chave e um valor de variável de ambiente correspondente à expressão regular serão correspondidos.- Em outros casos, os contêineres que tiverem um nome de variável de ambiente correspondente à chave e um valor de variável de ambiente correspondente ao valor serão correspondidos. |
| ContainerFilters.ExcludeEnv | map | Não | None | / | As variáveis de ambiente dos contêineres a serem excluídos. Múltiplas condições são combinadas usando o operador OR. Se você não especificar este parâmetro, todos os contêineres serão coletados. Expressões regulares são suportadas. A chave no map é o nome da variável de ambiente, e o valor é o valor da variável de ambiente. As seguintes regras se aplicam:* Se o valor no map estiver vazio, os contêineres cujas variáveis de ambiente contêm a chave serão correspondidos. * Se o valor no map não estiver vazio: - Se o valor começar com ^ e terminar com $, os contêineres que tiverem um nome de variável de ambiente correspondente à chave e um valor de variável de ambiente correspondente à expressão regular serão correspondidos.- Em outros casos, os contêineres que tiverem um nome de variável de ambiente correspondente à chave e um valor de variável de ambiente correspondente ao valor serão correspondidos. |
| ContainerFilters.IncludeContainerLabel | map | Não | None | / | Os labels dos contêineres a serem coletados. Múltiplas condições são combinadas usando o operador OR. Se você não especificar este parâmetro, o valor padrão é vazio, o que indica que todos os contêineres serão coletados. Expressões regulares são suportadas. A chave no map é o nome do label do contêiner, e o valor é o valor do label do contêiner. As seguintes regras se aplicam:* Se o valor no map estiver vazio, os contêineres que contêm a chave serão correspondidos. * Se o valor no map não estiver vazio: - Se o valor começar com ^ e terminar com $, os contêineres que tiverem um nome de label correspondente à chave e um valor de label correspondente à expressão regular serão correspondidos.- Em outros casos, os contêineres que tiverem um nome de label correspondente à chave e um valor de label correspondente ao valor serão correspondidos. |
| ContainerFilters.ExcludeContainerLabel | map | Não | None | / | Os labels dos contêineres a serem excluídos. Múltiplas condições são combinadas usando o operador OR. Se você não especificar este parâmetro, o valor padrão é vazio, o que indica que todos os contêineres serão coletados. Expressões regulares são suportadas. A chave no map é o nome do label do contêiner, e o valor é o valor do label do contêiner. As seguintes regras se aplicam:* Se o valor no map estiver vazio, os contêineres que contêm a chave serão correspondidos. * Se o valor no map não estiver vazio: - Se o valor começar com ^ e terminar com $, os contêineres que tiverem um nome de label correspondente à chave e um valor de label correspondente à expressão regular serão correspondidos.- Em outros casos, os contêineres que tiverem um nome de label correspondente à chave e um valor de label correspondente ao valor serão correspondidos. |
| ExternalK8sLabelTag | map | Não | None | / | Para contêineres em um ambiente Kubernetes, especifica as tags relacionadas a labels de pod que você deseja adicionar aos logs. A chave no map é o nome do label do pod, e o valor é o nome da tag correspondente. Por exemplo, se você adicionar app: k8s_label_app ao map e um pod contiver o label app=serviceA, a informação será adicionada ao log como uma tag. O campo adicionado é __tag__:k8s_label_app: serviceA. Se o pod não contiver o label app, o campo vazio __tag__:k8s_label_app: será adicionado. |
| ExternalEnvTag | map | Não | None | / | Para contêineres em um ambiente Kubernetes, especifica as tags relacionadas a variáveis de ambiente do contêiner que você deseja adicionar aos logs. A chave no map é o nome da variável de ambiente, e o valor é o nome da tag correspondente. Por exemplo, se você adicionar VERSION: env_version ao map e um contêiner tiver a variável de ambiente VERSION=v1.0.0, a informação será adicionada ao log como uma tag. O campo adicionado é __tag__:env_version: v1.0.0. Se o contêiner não tiver a variável de ambiente VERSION, o campo vazio __tag__:env_version: será adicionado. |
| CollectingContainersMeta | bool | Não | false | true | Especifica se a pré-visualização de 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. Os metadados incluem o campo tag:inode e o campo file_offset. |
| AllowingIncludedByMultiConfigs | bool | Não | false | false | Especifica se a configuração atual pode coletar arquivos que são correspondidos por outras configurações. |
| Tags | object | Não | None | {"FileInodeTagKey":"inode"} | Importante Este parâmetro é suportado apenas pelo LoongCollector 3.0.10 e versões posteriores. * FilePathTagKey: o caminho do arquivo. Esta tag é adicionada por padrão. O valor padrão é "__path__".Os seguintes parâmetros são válidos apenas se você definir o parâmetro EnableContainerDiscovery como true.* K8sNamespaceTagKey: o namespace do contêiner no qual o arquivo está localizado. Esta tag é adicionada por padrão. O valor padrão é "_namespace_". * K8sPodNameTagKey: o nome do pod no qual o arquivo está localizado. Esta tag é adicionada por padrão. O valor padrão é "_pod_name_". * K8sPodUidTagKey: o UID do pod no qual o arquivo está localizado. Esta tag é adicionada por padrão. O valor padrão é "_pod_uid_". * ContainerNameTagKey: o nome do contêiner no qual o arquivo está localizado. Esta tag é adicionada por padrão. O valor padrão é "_container_name_". * ContainerIpTagKey: o endereço IP do contêiner no qual o arquivo está localizado. Esta tag é adicionada por padrão. O valor padrão é "_container_ip_". * ContainerImageNameTagKey: a imagem do contêiner no qual o arquivo está localizado. Esta tag é adicionada por padr |
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.