Este aplicativo pretende substituir o udplogbeat. Embora bastante semelhante, ele apresenta algumas melhorias e permite a inicialização via UDP ou TCP. Ele pode aceitar logs de texto simples ou JSON e também atuar como um substituto de destino de syslog.
Certifique-se de que esta pasta esteja no seguinte local: ${GOPATH}/github.com/harfordfive
protologbeat.protocol
: tcp ou udp (padrão: udp)protologbeat.address
: O endereço no qual o processo será executado (Deafult: 127.0.0.1)protologbeat.port
: a porta na qual o processo irá escutar (padrão = 5000)protologbeat.max_message_size
: o tamanho máximo da mensagem aceita (padrão = 4096)protologbeat.json_mode
: habilita o registro apenas de mensagens formatadas em JSON (padrão = false)protolog.merge_fields_to_root
: Quando json_mode habilitado, mescla os campos analisados no nível raiz. (Padrão = falso)protologbeat.default_es_log_type
: tipo Elasticsearch para atribuir a um evento se nenhum for especificado (padrão: protologbeat)protologbeat.enable_syslog_format_only
: Valor booleano que indica se apenas mensagens syslog devem ser aceitas. (Padrão = falso)protologbeat.enable_gelf
: valor booleano que indica se o processo deve estar no modo para aceitar apenas mensagens formatadas em GELFprotologbeat.enable_json_validation
: valor booleano que indica se a validação do esquema JSON deve ser aplicada para mensagens no formato json
(padrão = falso)protologbeat.validate_all_json_types
: Quando json_mode habilitado, indica se TODOS os tipos devem ter um esquema especificado. As entradas de log com tipos que não possuem esquema não serão publicadas. (Padrão = falso)protologbeat.json_schema
: um hash que consiste no tipo Elasticsearch como chave e no caminho absoluto do arquivo do esquema local como valor. A seguir estão exemplos de blocos de configuração para a seção protologbeat
.
Os esquemas JSON podem ser gerados automaticamente a partir de um objeto aqui: http://jsonschema.net/. Você também pode visualizar os esquemas email_contact e stock_item como exemplos.
Consulte o diretório _samples/
para exemplos de clientes em vários idiomas.
Para começar a rodar com o Protologbeat e também instalar as dependências, execute o seguinte comando:
make setup
Ele criará um histórico git limpo para cada etapa principal. Observe que você sempre pode reescrever o histórico, se desejar, antes de enviar suas alterações.
Para enviar o Protologbeat no repositório git, execute os seguintes comandos:
git remote set-url origin https://github.com/harfordfive/protologbeat
git push origin master
Para maior desenvolvimento, confira o guia do desenvolvedor do beat.
Para construir o binário para Protologbeat execute o comando abaixo. Isso irá gerar um binário no mesmo diretório com o nome protologbeat.
make
Se quiser construir o binário para OSX, Linux e/ou Windows, você pode executar o seguinte:
./build-bin [TAG_VERSION]
Os binários resultantes serão colocados no diretório bin/
Para executar o Protologbeat com a saída de depuração habilitada, execute:
./protologbeat -c protologbeat.yml -e -d "*"
Para testar o Protologbeat, execute o seguinte comando:
make testsuite
alternativamente:
make unit-tests
make system-tests
make integration-tests
make coverage-report
A cobertura do teste é relatada na pasta ./build/coverage/
Cada batida possui um template para mapeamento no elasticsearch e uma documentação para os campos que é gerada automaticamente com base em etc/fields.yml
. Para gerar etc/protologbeat.template.json e etc/protologbeat.asciidoc
make update
Para limpar o código-fonte do Protologbeat, execute os seguintes comandos:
make fmt
make simplify
Para limpar o diretório de construção e os artefatos gerados, execute:
make clean
Para clonar o Protologbeat do repositório git, execute os seguintes comandos:
mkdir -p ${GOPATH}/github.com/harfordfive
cd ${GOPATH}/github.com/harfordfive
git clone https://github.com/harfordfive/protologbeat
Para maior desenvolvimento, confira o guia do desenvolvedor do beat.
Você pode encontrar as imagens do Docker para esta batida aqui. Observe que o contêiner começa com uma configuração básica que escuta o protocolo/endereço/porta padrão e aceita mensagens de texto simples. Para quaisquer personalizações, modifique a configuração de amostra protologbeat.full.yml e crie seu próprio arquivo Docker que substitui o original.
As estruturas de batida fornecem ferramentas para compilar e empacotar sua batida para diferentes plataformas. Isso requer docker e vendor conforme descrito acima. Para construir pacotes da sua batida, execute o seguinte comando:
make package
Isso irá buscar e criar todas as imagens necessárias para o processo de construção. O processo de acabamento do furo pode levar vários minutos.