Esta aplicación pretende ser un reemplazo de udplogbeat. Aunque es bastante similar, tiene algunas mejoras y permite iniciar mediante UDP o TCP. Puede aceptar registros de texto sin formato o JSON y también actuar como reemplazo del destino de syslog.
Asegúrese de que esta carpeta esté en la siguiente ubicación: ${GOPATH}/github.com/harfordfive
protologbeat.protocol
: tcp o udp (predeterminado: udp)protologbeat.address
: la dirección en la que escuchará el proceso (predeterminado: 127.0.0.1)protologbeat.port
: el puerto en el que escuchará el proceso (predeterminado = 5000)protologbeat.max_message_size
: el tamaño máximo de mensaje aceptado (predeterminado = 4096)protologbeat.json_mode
: habilita el registro de solo mensajes con formato JSON (predeterminado = falso)protolog.merge_fields_to_root
: cuando json_mode está habilitado, si se fusionan los campos analizados en el nivel raíz. (Predeterminado = falso)protologbeat.default_es_log_type
: Tipo de Elasticsearch para asignar a un evento si no se especifica ninguno (Predeterminado: protologbeat)protologbeat.enable_syslog_format_only
: valor booleano que indica si solo se deben aceptar mensajes syslog. (Predeterminado = falso)protologbeat.enable_gelf
: valor booleano que indica si el proceso debe estar en modo para aceptar solo mensajes con formato GELFprotologbeat.enable_json_validation
: valor booleano que indica si se debe aplicar la validación del esquema JSON para mensajes en formato json
(predeterminado = falso)protologbeat.validate_all_json_types
: cuando json_mode está habilitado, indica si TODOS los tipos deben tener un esquema especificado. Las entradas de registro con tipos que no tengan esquema no se publicarán. (Predeterminado = falso)protologbeat.json_schema
: un hash que consta del tipo Elasticsearch como clave y la ruta absoluta del archivo de esquema local como valor. Los siguientes son ejemplos de bloques de configuración para la sección protologbeat
.
Los esquemas JSON se pueden generar automáticamente a partir de un objeto aquí: http://jsonschema.net/. También puede ver los esquemas email_contact y stock_item como ejemplos.
Consulte el directorio _samples/
para ver ejemplos de clientes en varios idiomas.
Para comenzar a ejecutar Protologbeat y también instalar las dependencias, ejecute el siguiente comando:
make setup
Creará un historial de git limpio para cada paso importante. Tenga en cuenta que siempre puede reescribir el historial si lo desea antes de realizar los cambios.
Para enviar Protologbeat al repositorio de git, ejecute los siguientes comandos:
git remote set-url origin https://github.com/harfordfive/protologbeat
git push origin master
Para un mayor desarrollo, consulte la guía para desarrolladores de Beat.
Para compilar el binario para Protologbeat, ejecute el siguiente comando. Esto generará un binario en el mismo directorio con el nombre protologbeat.
make
Si desea compilar el binario para OSX, Linux y/o Windows, puede ejecutar lo siguiente:
./build-bin [TAG_VERSION]
Los binarios resultantes se colocarán en el directorio bin/
Para ejecutar Protologbeat con la salida de depuración habilitada, ejecute:
./protologbeat -c protologbeat.yml -e -d "*"
Para probar Protologbeat, ejecute el siguiente comando:
make testsuite
alternativamente:
make unit-tests
make system-tests
make integration-tests
make coverage-report
La cobertura de la prueba se informa en la carpeta ./build/coverage/
Cada ritmo tiene una plantilla para el mapeo en elasticsearch y una documentación para los campos que se genera automáticamente en función de etc/fields.yml
. Para generar etc/protologbeat.template.json y etc/protologbeat.asciidoc
make update
Para limpiar el código fuente de Protologbeat, ejecute los siguientes comandos:
make fmt
make simplify
Para limpiar el directorio de compilación y los artefactos generados, ejecute:
make clean
Para clonar Protologbeat desde el repositorio de git, ejecute los siguientes comandos:
mkdir -p ${GOPATH}/github.com/harfordfive
cd ${GOPATH}/github.com/harfordfive
git clone https://github.com/harfordfive/protologbeat
Para un mayor desarrollo, consulte la guía para desarrolladores de Beat.
Puedes encontrar las imágenes de Docker para este ritmo aquí. Tenga en cuenta que el contenedor comienza con una configuración básica que escucha en el protocolo/dirección/puerto predeterminado y acepta mensajes de texto sin formato. Para cualquier personalización, modifique la configuración de muestra protologbeat.full.yml y cree su propio archivo Docker que sobrescriba el original.
Beat Frameworks proporciona herramientas para compilar y empaquetar tu ritmo para diferentes plataformas. Esto requiere Docker y Vendor como se describe anteriormente. Para crear paquetes de tu ritmo, ejecuta el siguiente comando:
make package
Esto buscará y creará todas las imágenes necesarias para el proceso de construcción. El proceso del agujero para finalizar puede tardar varios minutos.