AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1162871
Accepted
Umair
Umair
Asked: 2024-07-22 18:35:11 +0800 CST2024-07-22 18:35:11 +0800 CST 2024-07-22 18:35:11 +0800 CST

Fluent-bit Match não funciona, exceto *

  • 772

Match está funcionando apenas para * e não vejo por que isso está acontecendo. Aqui está minha configuração.

Lua

function process_record(tag, timestamp, record)
    print("Input tag: ", tag)
    print("Record: ", record["tag"])
    local s3_log = {}
    local cw_log = {}

    for k, v in pairs(record) do
        cw_log[k] = v
        cw_log["tag"] = "cw"

        s3_log[k] = v
        s3_log["tag"] = "s3"
    end
    print("S3 tag: ", s3_log["tag"])
    print("CW tag: ", cw_log["tag"])
    print("S3 Log: ", s3_log["log"])
    print("CW Log: ", cw_log["log"])
    return 2, timestamp, {s3_log, cw_log}
end

configuração

[SERVICE]
    flush 1
    daemon off
    log_level debug

[FILTER]
    Name          lua
    Match         *
    script        /append_tag.lua
    call          process_record

[FILTER]
    Name          lua
    Match         $tag cw
    script        /print.lua
    call          process_record


[FILTER]
    Name          rewrite_tag
    Match         cw
    Rule          $tag .* cw true
    Emitter_Name  cw_emitted
[OUTPUT]
    Name                cloudwatch_logs
    Match               *cw*
#    Match               *
#    Match_regex         ^(cw)$
    log_key             log
    region              af-south-1
    log_group_name      /ecs/log
    log_stream_prefix   fluent-bit-
    auto_create_group   On
    log_format          json/emf

Informações adicionais:

Versão Fluent Bit: AWS_FOR_FLUENT_BIT_VERSION 2.32.2.20240627

Configuração do AWS Fargate

Usando contêineres log_router

amazon-ecs
  • 1 1 respostas
  • 23 Views

1 respostas

  • Voted
  1. Best Answer
    Umair
    2024-07-29T16:38:03+08:002024-07-29T16:38:03+08:00

    Depois de trabalhar nisso, finalmente encontrei a solução. Aqui está minha configuração de trabalho que envia dados para cw e s3 e remove alguns logs para cw

    logDestinos.conf

    [FILTER]
        Name          lua
        Match         *
        script        /script.lua
        call          process_record
    
    [FILTER]
        Name          rewrite_tag
        Match_regex   .*demo.*
        Rule          $tag "^(cw)$" cw.$container_id true
        Emitter_Name  re_emitted_cw
    
    [FILTER]
        Name    grep
        Match_regex   .*cw.*
        Exclude tag s3
    
    [FILTER]
        Name    grep
        Match_regex   .*cw.*
        Exclude log /.*message\":\"remove.*/
    
    [FILTER]
        Name    grep
        Match_regex   .*demo.*
        Exclude tag cw
    
    [OUTPUT]
        Name                cloudwatch_logs
        Match_regex         .*cw.*
        log_key             log
        region              af-south-1
        log_group_name      /ecs/demo
        log_stream_prefix   fluent-bit-
        auto_create_group   On
        log_format          json/emf
    
    
    [OUTPUT]                   
        bucket     s3_bucket
        total_file_size    200M
        log_key    log
        Match_regex   .*demo.*
        s3_key_format    /demo/%Y-%m-%d/$TAG/
        use_put_object    on
        upload_timeout    1M
        region    af-south-1
        Name    s3
    

    script.lua

    function process_record(tag, timestamp, record)
        
        local s3_log = {}
        local cw_log = {}
    
        if record["log"] == nil then
            record["log"] = record["message"] or "default_log_message"
        end
    
        for k, v in pairs(record) do
            cw_log[k] = v
            cw_log["tag"] = "cw"
    
            s3_log[k] = v
            s3_log["tag"] = "s3"
        end
        
        return 2, timestamp, {s3_log, cw_log}
    end
    

    Dockerfile

    FROM cr.fluentbit.io/fluent/fluent-bit
    ADD logDestinations.conf /logDestinations.conf
    ADD script.lua /script.lua
    
    • 0

relate perguntas

  • Como a memória e a reserva de memória funcionam para tarefas em execução no EC2 ECS?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve