はじめに
本書の目的
本書は、Linux環境において、Elasticsearch v9.3.0 をシングルノード構成にて、Elastic Agent、Fleet Server、及びKibanaを利用して、syslogデータ転送に対応したネットワーク機器のデータを取り込む手順をまとめたものです。
データ取り込み時のカスタマイズしたデータ加工については触れません。Elasticsearch、Elastic Agent、Fleet Server、Kibanaは構築済みの前提で説明します。
記載範囲
本書の記載範囲は以下の通りです。
- Elastic Agent エージェントポリシーを作成
- Elastic Agent エージェントポリシーの適用
- Elastic Agent エージェントポリシーの動作確認
- Kibanaでログデータを確認
これらの内容は、以下の英語版マニュアルから特に重要な部分を抜粋し、補足情報を加えた上で日本語化したものです。より詳細な情報については、マニュアルをご参照ください。
-
Elastic Agent policies
- Create a policy
- Add an integration to a policy
- Apply a policy
- Edit or delete an integration policy
- Custom TCP Log integration
前提
本書では、以下の環境にElastic関連のコンポーネントが稼働していることを前提としています。
| 項目 | 内容 |
|---|---|
| プラットフォーム | x86_64アーキテクチャマシン 1台(仮想環境 Hyper-V) |
| オペレーティングシステム | Rocky Linux 10.1 64bit(2025年11月リリース) |
| Elasticスタックのバージョン | 9.3 |
インストール環境は Rocky Linux 10.x が稼働している環境を想定しています。Red Hat Enterprise Linuxから派生するディストリビューションを利用される場合は同様の手順で操作可能と考えられますが、本ガイドでは上記の環境以外での動作確認を行っておりません。
Red Hat Enterprise Linuxおよびその派生ディストリビューション以外を利用される場合は、一部手順が異なる場合があります。英語版マニュアルを必ずご確認ください。本書の内容は、予告なく変更される可能性があります。
1. Elastic Agent エージェントポリシーを作成
手順1. Kibanaにログインし、左メニューの下にある Management より、「統合の追加」をクリックしてください。
手順2. 画面中央の「統合を検索」に custom TCP と入力してください。画面下に「Custom TCP Logs」が表示されます。
手順3. 画面右の「Custom TCP Logsの追加」をクリックしてください。
手順4. 画面中央の「統合名」にて、任意のエージェントポリシー名を入力してください。
手順5. Custom TCP Logsの「デフォルトの変更」をクリックし、詳細な設定画面を表示してください。
手順6. Custom TCP Logsの設定項目を入力します。
| 設定項目 | 値 | 備考 |
|---|---|---|
| Listen Address | 0.0.0.0 |
すべてのインターフェースで受信 |
| Listen Port |
8080(デフォルト) |
任意のポート番号に変更可能 |
デフォルトの 8080 でElastic Agentがsyslogを受信できる場合は、変更する必要はありません。
手順7. Custom TCP Logsの「Use the "logs" data stream」のスイッチを有効にしてください。「Dataset name」に tcp.generic と入力してください。Syslogデータは、このデータストリームに保存されます。
手順8. 以下のスイッチをそれぞれ有効にしてください。
| 設定項目 | 説明 |
|---|---|
| Syslog Parsing | 標準的なsyslogフォーマットをElasticが自動的に認識し、ログデータを整理して取り込みます |
| Preserve original event | オリジナルのsyslogデータもデータストリームに保存されます。パースされたログとの差を確認する目的で役立ちます |
手順9. 「この統合を追加する場所」の「New hosts」にて、エージェントポリシーを作成します。
- 既存のポリシーに追加する場合は、「Existing hosts」を選択してください
- 今回は「New hosts」にて新規作成します
- 「新しいエージェントポリシー名」に任意の名前を入力してください
- syslogデータのみ取り込むため、「システムログとメトリックの収集」のチェックボックスの選択を外してください
手順10. 画面下の「保存して続行」ボタンをクリックしてください。
手順11. 以下の画面が表示されます。「後でElasticエージェントを追加」をクリックしてください。
2. Elastic Agent エージェントポリシーを適用
手順1. Kibanaにログインし、左メニューの下にある Management より、「Fleet」をクリックしてください。
手順2. Fleet画面より、「エージェント」を選択してください。作成したエージェントポリシーを適用するElastic Agentを選択し、「新しいポリシーを割り当てる」をクリックします。任意のエージェントの右にあるボタンをクリックし、メニューより設定します。
手順3. 以下の画面より、「エージェントポリシー」を選択してください。今回は、前段で作成した「Test Agent policy 2026」を選択します。「ポリシーの割り当て」をクリックし、適用します。
手順4. ポリシーが適用されると該当のエージェントのステータスが「正常」になります。
3. Elastic Agent エージェントポリシーの動作確認
手順1. Elastic Agentの環境にて、エージェントポリシーが動作しているかを確認します。以下のコマンドで、エージェントポリシーにて設定したポートがリスニングになっているか確認します。
sudo netstat -tanp | grep :8080
実行結果の例:
手順2. 以下のコマンドで、エージェントポリシーにて設定したポートでデータを受信すると、syslogデータが表示されます。
sudo tcpdump -i any tcp port 8080 -Xvv
実行結果の例:
4. Kibanaでログデータを確認
手順1. Kibanaにログインし、左のメニューより、「Discover」をクリックしてください。
手順2. 左上のデータビューより、logs-* を選択してください。
手順3. 「KQL構文を使用してデータをフィルタリング」に、以下のクエリを入力してください。その後、「更新」ボタンをクリックしてください。
data_stream.dataset : "tcp.generic"
こちらを実行することでデータが検索され画面が更新されます。
表示されない場合、対象データの表示期間が短い可能性があります。カレンダーボタンより、対象期間を拡大してください。
手順4. 取得したログの詳細を確認します。画面中央にElasticsearchに取り込まれた各ログが表示されていますので、ログの先頭にあるアイコン「詳細ダイアログを切り替え」をクリックしてください。
右側に詳細なログ情報が表示されます。パースされたメタ情報などを確認してください。また、パースやログ取り込みに失敗した場合、error.message に理由が記録されています。必要に応じて対処してください。
まとめ
本記事では、Elastic Agent の Custom TCP Logs インテグレーションを使用して、ネットワーク機器のsyslogデータをElasticsearchに取り込む手順を紹介しました。
主なポイントは以下の通りです。
- エージェントポリシーの作成: Custom TCP Logs インテグレーションを追加し、リッスンアドレス・ポート・データストリーム・Syslog Parsingを設定
- ポリシーの適用: Fleet画面からエージェントに作成したポリシーを割り当て
-
動作確認:
netstatやtcpdumpでポートのリスニング状態とデータ受信を確認 -
ログの確認: KibanaのDiscoverで
data_stream.dataset : "tcp.generic"を使ってログを検索・確認