このアプリケーションは、udplogbeat の代替として意図されています。非常に似ていますが、いくつかの改良が加えられており、UDP または TCP 経由で起動できるようになります。プレーンテキストまたは JSON ログを受け入れることができ、syslog 宛先の置換としても機能します。
このフォルダーが次の場所にあることを確認します: ${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が有効な場合、解析されたフィールドをルート レベルにマージするかどうか。 (デフォルト = false)protologbeat.default_es_log_type
: 指定されていない場合にイベントに割り当てる Elasticsearch タイプ (デフォルト: protologbeat)protologbeat.enable_syslog_format_only
: syslog メッセージのみを受け入れるかどうかを示すブール値。 (デフォルト = false)protologbeat.enable_gelf
: プロセスが GELF 形式のメッセージのみを受け入れるモードであるかどうかを示すブール値protologbeat.enable_json_validation
: json
形式のメッセージに JSON スキーマ検証を適用するかどうかを示すブール値 (デフォルト = false)protologbeat.validate_all_json_types
: json_mode が有効な場合、すべてのタイプにスキーマを指定する必要があるかどうかを示します。スキーマを持たないタイプのログ エントリは公開されません。 (デフォルト = false)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
さらなる開発については、ビート開発者ガイドを確認してください。
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
git リポジトリから Protologbeat のクローンを作成するには、次のコマンドを実行します。
mkdir -p ${GOPATH}/github.com/harfordfive
cd ${GOPATH}/github.com/harfordfive
git clone https://github.com/harfordfive/protologbeat
さらなる開発については、ビート開発者ガイドを確認してください。
このビートの Docker イメージはここで見つけることができます。コンテナーは、デフォルトのプロトコル/アドレス/ポートをリッスンし、プレーンテキスト メッセージを受け入れる基本的な構成で開始されることに注意してください。カスタマイズする場合は、サンプルの protologbeat.full.yml 構成を変更し、元の Docker ファイルを上書きする独自の Docker ファイルを作成してください。
Beat フレームワークは、さまざまなプラットフォーム向けに Beat をクロスコンパイルしてパッケージ化するためのツールを提供します。これには、上で説明したように、Docker とベンダーが必要です。ビートのパッケージをビルドするには、次のコマンドを実行します。
make package
これにより、ビルド プロセスに必要なすべてのイメージが取得および作成されます。穴の処理が完了するまでに数分かかる場合があります。