Это приложение задумано как замена udplogbeat. Хотя он очень похож, он имеет некоторые улучшения и позволяет запускаться через UDP или TCP. Он может принимать журналы в виде обычного текста или JSON, а также выступать в качестве замены места назначения системного журнала.
Убедитесь, что эта папка находится по следующему адресу: ${GOPATH}/github.com/harfordfive
protologbeat.protocol
: TCP или udp (по умолчанию: udp)protologbeat.address
: адрес, по которому будет подключаться процесс (по умолчанию: 127.0.0.1).protologbeat.port
: порт, который будет прослушиваться процессом (по умолчанию = 5000).protologbeat.max_message_size
: Максимальный принятый размер сообщения (по умолчанию = 4096).protologbeat.json_mode
: включить регистрацию только сообщений в формате JSON (по умолчанию = false)protolog.merge_fields_to_root
: если включен json_mode , следует ли объединять проанализированные поля с корневым уровнем. (по умолчанию = ложь)protologbeat.default_es_log_type
: тип Elasticsearch для назначения событию, если он не указан (по умолчанию: protologbeat)protologbeat.enable_syslog_format_only
: логическое значение, указывающее, следует ли принимать только сообщения системного журнала. (по умолчанию = ложь)protologbeat.enable_gelf
: логическое значение, указывающее, должен ли процесс находиться в режиме приема только сообщений в формате GELF.protologbeat.enable_json_validation
: логическое значение, указывающее, следует ли применять проверку схемы JSON для сообщений формата json
(по умолчанию = false)protologbeat.validate_all_json_types
: если включен json_mode, указывает, должна ли для ВСЕХ типов быть указана схема. Записи журнала с типами, не имеющими схемы, не будут опубликованы. (по умолчанию = ложь)protologbeat.json_schema
: хеш, состоящий из типа Elasticsearch в качестве ключа и абсолютного пути к файлу локальной схемы в качестве значения. Ниже приведены примеры блоков конфигурации для раздела protologbeat
.
Схемы JSON можно автоматически генерировать из объекта здесь: http://jsonschema.net/. Вы также можете просмотреть схемы email_contact и stock_item в качестве примеров.
В каталоге _samples/
вы найдете примеры клиентов на разных языках.
Чтобы начать работу с Protologbeat, а также установить зависимости, выполните следующую команду:
make setup
Он создаст чистую историю git для каждого основного шага. Обратите внимание, что вы всегда можете переписать историю, если хотите, прежде чем вносить изменения.
Чтобы добавить Protologbeat в репозиторий git, выполните следующие команды:
git remote set-url origin https://github.com/harfordfive/protologbeat
git push origin master
Для дальнейшего развития ознакомьтесь с руководством разработчика Beat.
Чтобы собрать двоичный файл для Protologbeat, выполните команду ниже. Это создаст в том же каталоге двоичный файл с именем protologbeat.
make
Если вы хотите собрать двоичный файл для OSX, Linux и/или Windows, вы можете запустить следующее:
./build-bin [TAG_VERSION]
Полученные двоичные файлы будут помещены в каталог bin/
Чтобы запустить Protologbeat с включенным выводом отладки, выполните:
./protologbeat -c protologbeat.yml -e -d "*"
Чтобы протестировать Protologbeat, выполните следующую команду:
make testsuite
альтернативно:
make unit-tests
make system-tests
make integration-tests
make coverage-report
О покрытии тестами сообщается в папке ./build/coverage/
Каждый бит имеет шаблон для сопоставления в elasticsearch и документацию для полей, которая автоматически генерируется на основе etc/fields.yml
. Для создания файлов etc/protologbeat.template.json и etc/protologbeat.asciidoc.
make update
Чтобы очистить исходный код Protologbeat, выполните следующие команды:
make fmt
make simplify
Чтобы очистить каталог сборки и сгенерированные артефакты, запустите:
make clean
Чтобы клонировать Protologbeat из репозитория git, выполните следующие команды:
mkdir -p ${GOPATH}/github.com/harfordfive
cd ${GOPATH}/github.com/harfordfive
git clone https://github.com/harfordfive/protologbeat
Для дальнейшего развития ознакомьтесь с руководством разработчика Beat.
Вы можете найти образы Docker для этого бита здесь. Обратите внимание, что контейнер начинается с базовой конфигурации, которая прослушивает протокол/адрес/порт по умолчанию и принимает текстовые сообщения. Для любых настроек измените образец конфигурации protologbeat.full.yml и создайте собственный файл Docker, который перезапишет оригинал.
Фреймворки битов предоставляют инструменты для кросс-компиляции и упаковки битов для разных платформ. Для этого требуется докер и поставщики, как описано выше. Чтобы собрать пакеты вашего бита, выполните следующую команду:
make package
Это позволит получить и создать все изображения, необходимые для процесса сборки. Процесс завершения отверстия может занять несколько минут.