Todos os produtos
Search
Central de documentação

Simple Log Service:Coletar logs de IoT e dispositivos embarcados

Última atualização: Aug 25, 2026

O C Producer é uma biblioteca de coleta de logs que o Simple Log Service oferece para dispositivos de Internet das Coisas (IoT) e embarcados. Ele coleta logs em dispositivos com recursos de hardware limitados, mantém uma cópia do conteúdo dos logs no dispositivo para depuração e envia os dados coletados ao Simple Log Service para consulta e análise.

O C Producer é executado no dispositivo e envia os dados de log coletados ao Simple Log Service pela rede. A figura a seguir ilustra a solução de coleta de dados de log para dispositivos IoT.

Log data collection solution for IoT devices

Requisitos de desenvolvimento embarcado

Engenheiros de IoT ou sistemas embarcados precisam de habilidades avançadas de desenvolvimento. Ao operar uma frota massiva de dispositivos, a capacidade de gerenciar, monitorar e diagnosticar dispositivos do tipo caixa preta torna-se igualmente essencial. O desenvolvimento embarcado apresenta os seguintes requisitos principais de log:

  • Coleta de dados — Como coletar dados em tempo real de milhões ou dezenas de milhões de dispositivos distribuídos globalmente?

  • Depuração — Como utilizar uma única solução tanto para coleta de dados online quanto para depuração em tempo real durante o desenvolvimento?

  • Diagnóstico online — Quando um dispositivo em produção reporta um erro, como localizá-lo rapidamente e visualizar o contexto que originou a falha?

  • Monitoramento — Quantos dispositivos estão online neste momento? Como se distribuem seus estados operacionais e localizações geográficas? Como obter alertas em tempo real sobre dispositivos com defeito?

  • Análise de dados em tempo real — Como integrar os dados gerados pelos dispositivos a sistemas de computação em tempo real e data warehouses de big data para criar perfis de usuários?

    Data collection, debugging, diagnostics, monitoring, and analysis requirements in embedded development

Principais desafios no campo de IoT

A adoção de IoT cresce rapidamente, e cada vez mais dispositivos entram no cotidiano, como roteadores inteligentes, dongles para TV, Tmall Genie e aspiradores robô. Esses equipamentos trazem a conveniência da tecnologia inteligente, mas o modelo tradicional de desenvolvimento de software embarcado não se adapta bem a eles, e as soluções convencionais de logging não atendem aos seus requisitos.

Praticamente nenhum método eficaz para software tradicional funciona no cenário de IoT. Os principais desafios decorrem das seguintes características dos dispositivos IoT:

  • Grande volume de dispositivos — Na operação e manutenção tradicional, uma empresa que gerencia 10.000 servidores já é considerada de grande porte. Para dispositivos IoT, 100.000 unidades online representam apenas um patamar inicial.

  • Ampla distribuição geográfica — Após a implantação do hardware, os dispositivos frequentemente se espalham por todo um país ou até pelo mundo inteiro.

  • Caixa preta — É difícil acessar e depurar esses dispositivos remotamente; na maioria das vezes, seu estado permanece desconhecido.

  • Recursos limitados — Para controlar custos, dispositivos IoT vêm com hardware restrito, como apenas 32 MB de memória total. Técnicas que funcionam em PCs geralmente falham nesse ambiente.

C Producer

O C Producer é uma versão leve do Logtail, o cliente do Simple Log Service. Ele herda a estabilidade, o alto desempenho e o baixo consumo de recursos do Logtail, porém não oferece mecanismo de gerenciamento de configuração em tempo real.

Uma aplicação pode criar múltiplos Producers, e cada Producer pode conter vários Clients. Cada Client possui seu próprio endereço de destino, nível de log, chave de depuração local, tamanho de cache, ID personalizado e tópico.

Recursos do C Producer

O C Producer oferece os seguintes recursos para coleta de logs em dispositivos IoT e embarcados:

  • Multitenancy — Processe diversos tipos de log, como Metric, DebugLog e ErrorLog, com prioridades distintas. Configure também múltiplos Clients, cada um com sua própria prioridade de coleta, projeto de destino e LogStore. O C Producer envia primeiro os logs do Client com maior prioridade.

  • Consulta contextual — Logs provenientes do mesmo Client pertencem ao mesmo contexto, permitindo visualizar os registros anteriores e posteriores a um log específico.

  • Envio simultâneo e upload retomável — Defina um limite máximo para o cache. Ao atingir esse limite, novas gravações de log falham.

  • Gravação de alta concorrência no cliente — O pool de threads de envio é configurável e suporta a escrita de centenas de milhares de logs por segundo. Para métricas de throughput e uso de recursos em hardware de classe servidor e dispositivos restritos, consulte Testes de desempenho.

  • Envio direto pela rede — Os logs do Client não são gravados em disco. Após a geração, os dados seguem diretamente ao servidor via rede.

  • Separação entre computação e I/O — O C Producer grava logs de forma assíncrona no cliente, evitando que as escritas bloqueiem as threads de trabalho.

  • Baixo consumo de recursos — Em hardware de baixo desempenho, como um Raspberry Pi, a geração de 100 logs por segundo praticamente não impacta os recursos. O C Producer também fornece os seguintes recursos exclusivos para dispositivos IoT:

  • Depuração local — O C Producer grava o conteúdo dos logs no dispositivo local, com configurações de rotação, quantidade de logs e tamanho de rotação. Ative a depuração local para testar sua aplicação no dispositivo quando não houver conexão de rede disponível.

  • Controle granular de recursos — Defina limites de cache e métodos de agregação separados para cada tipo de dado ou log.

  • Cache de logs compactados — O C Producer compacta os dados cuja transmissão falhou antes de armazená-los em cache, reduzindo o uso de memória no dispositivo.

    Features that C Producer provides on IoT devices

O C Producer cuida dos detalhes de implementação da coleta de logs. Não é necessário implementar lógica de coleta na sua aplicação, e a coleta de logs não afeta a operação normal do seu negócio.

Advantages of C Producer for log collection on IoT devices

Download e integração

Baixe a biblioteca C Producer no GitHub.

Para obter o método detalhado de instalação e o procedimento de integração, consulte o arquivo README no repositório.

Downloading and integrating the C Producer library

C Producer com Simple Log Service

O C Producer e o Alibaba Cloud Simple Log Service formam uma solução de logging ponta a ponta para dispositivos IoT. O C Producer coleta logs no dispositivo e os envia ao Simple Log Service, onde ficam disponíveis para consumo, consulta, análise e visualização. A solução apresenta as seguintes características:

  • Grande escala — O Simple Log Service suporta gravações em tempo real de centenas de milhões de clientes, com volume de dados na ordem de PB/dia.

  • Coleta rápida — Os dados podem ser consumidos assim que gravados, tornando-se visíveis no servidor em segundos.

  • Consultas velozes — Uma consulta complexa com cinco condições processa bilhões de registros de dados em menos de um segundo.

  • Análise ágil — Análises complexas com agregação em cinco dimensões e GroupBy processam centenas de milhões de registros em até um segundo.

  • Integração abrangente — O Simple Log Service integra-se a serviços da Alibaba Cloud e funciona com sistemas de armazenamento, computação e visualização em diversos formatos open source. O Simple Log Service oferece as seguintes funções para os logs de dispositivos coletados:

  • LogHub — Coleta e consumo de logs em tempo real.

  • Search/Analytics — Consulta e análise em tempo real.

  • Interconexão — Suporte a Grafana e JDBC/SQL92.

  • Visualização — Funções de painel e relatórios.

    End-to-end solution: C Producer on the device with Simple Log Service on the server

Outras soluções de coleta do Simple Log Service

O Logtail, cliente do Simple Log Service, é executado em milhões de servidores X86. Para embasamento técnico, consulte os seguintes artigos sobre o Logtail: , . O Simple Log Service também disponibiliza outras soluções de coleta:

  • Mobile SDK — Coleta dados nas plataformas Android e iOS, atendendo atualmente dezenas de milhões de DAU por dia.

  • Web Tracking (JS) — Método leve de coleta que não exige assinatura. Para servidores X86, utilize o Logtail. Para aplicações Android e iOS, use o Mobile SDK. Para dispositivos IoT e embarcados, opte pelo C Producer.

Simple Log Service collection solutions: Logtail, Mobile SDK, Web Tracking, and C Producer

Comparação com outras soluções de coleta embarcada

A tabela a seguir compara o C Producer com outras soluções de coleta para ambientes embarcados.

Categoria

Item de comparação

C Producer

Outras soluções embarcadas

Programação

Plataforma

Móvel e embarcada

Principalmente móvel

Programação

Contexto

Suportado

Não suportado

Programação

Múltiplos tipos de log

Suportado

Não suportado (apenas um tipo de log)

Programação

Formato personalizado

Suportado

Não suportado (conjunto limitado de campos)

Programação

Prioridade

Suportada

Não suportada

Programação

Parâmetros de ambiente

Configuráveis

Configuráveis

Estabilidade

Concorrência

Alta

Média

Estabilidade

Algoritmo de compressão

LZ4 (equilíbrio entre eficiência e desempenho) + GZIP

Otimizado

Estabilidade

Baixo consumo de recursos

Otimizado

Médio

Transmissão

Upload retomável

Suportado

Não suportado por padrão, exige desenvolvimento personalizado

Transmissão

Ponto de acesso

8 (China) + 8 (Global)

Hangzhou

Depuração

Logs locais

Suportado

Suportado manualmente

Depuração

Configurações de parâmetros

Suportadas

Não suportadas

Tempestividade

Visibilidade no servidor

1 segundo (99,9%), 3 segundos (máx.)

1 a 2 horas

Processamento personalizado

Métodos de integração

Mais de 15 métodos de integração

Soluções personalizadas em tempo real e offline

Testes de desempenho

O C Producer foi testado em dois ambientes. Utilize os resultados X86 como referência para hardware de classe servidor e os resultados do Raspberry Pi como referência para dispositivos com recursos restritos.

Configuração do ambiente

  • Cenário de alto desempenho: servidor X86 tradicional.

  • Cenário de baixo desempenho: Raspberry Pi em ambiente de baixa potência. A figura a seguir mostra as configurações de ambos os ambientes.

Test environment configurations for the X86 server and the Raspberry Pi

Configuração do C Producer

  • ARM (Raspberry Pi)

    • Cache: 10 MB

    • Tempo de agregação: 3 segundos (o C Producer empacota e envia os dados agregados assim que o tempo de agregação, o tamanho do pacote agregado ou a contagem de logs agregados é atingida)

    • Tamanho do pacote de dados agregados: 1 MB

    • Contagem de logs agregados: 1000

    • Threads de envio: 1

    • Tags personalizadas: 5

  • X86Amostra de log

    • Cache: 10 MB

    • Tempo de agregação: 3 segundos (o C Producer empacota e envia os dados agregados assim que o tempo de agregação, o tamanho do pacote agregado ou a contagem de logs agregados é atingida)

    • Tamanho do pacote de dados agregados: 3 MB

    • Contagem de logs agregados: 4096

    • Threads de envio: 4

    • Tags personalizadas: 5

    (nove pares chave-valor, com volume de dados de aproximadamente 350 bytes)

__source__: 192.0.2.1
__tag__:1: 2
__tag__:5: 6
__tag__:a: b
__tag__:c: d
__tag__:tag_key: tag_value
__topic__: topic_test
_file_: /disk1/workspace/tools/aliyun-log-c-sdk/sample/log_producer_sample.c
_function_: log_producer_post_logs
_level_: LOG_PRODUCER_LEVEL_WARN
_line_: 248
_thread_: 40978304

Resultados dos testes

  • Resultados na plataforma X86

    • O C Producer atinge velocidade de envio de 90 MB/s. Faz upload de 200.000 logs por segundo, utilizando 70% da CPU e 140 MB de memória.

    • Com 200 logs por segundo, o envio de dados praticamente não impacta a CPU do servidor, caindo para menos de 0,01%.

    • Uma thread de cliente leva, em média, 1,2 microssegundos para enviar um dado, ou seja, para gravar um log.

    Performance test results on the X86 platform

  • Resultados na plataforma Raspberry Pi

    • No teste com Raspberry Pi, a frequência da CPU é de apenas 600 MHz, resultando em desempenho cerca de 1/10 do servidor. O dispositivo envia no máximo 20.000 logs por segundo.

    • Com 20 logs por segundo, o envio de dados praticamente não impacta a CPU do Raspberry Pi, caindo para menos de 0,01%.

    • Uma thread de cliente leva cerca de 12 microssegundos, em média, para enviar um dado, ou seja, para gravar um log. O Raspberry Pi conecta-se a um PC via USB e compartilha a rede desse PC.

    Performance test results on the Raspberry Pi platform