Logtail は、バイナリファイルから Linux の systemd ジャーナルログを収集します。Log Service コンソールで Logtail 構成を作成し、これらのログを収集してください。
前提条件
ご利用のサーバーに Linux 向け Logtail 0.16.18 以降がインストールされている必要があります。Linux サーバーへの Logtail のインストールをご参照ください。
概要
systemd は Linux のシステムおよびサービスマネージャーです。PID 1 として実行される際、ユーザースペースのサービスを起動・維持し、カーネルログやアプリケーションログを含むすべてのユニットのログを一元管理します。設定ファイルは通常 /etc/systemd/journald.conf にあります。
オペレーティングシステムはジャーナルログフォーマットをサポートしている必要があります。
機能
-
Logtail はチェックポイントを自動保存するため、再起動後に収集を再開します。
-
指定されたユニットでログをフィルターできます。
-
カーネルログを収集できます。
-
ログレベルを自動的に解析します。
-
Docker や Kubernetes などのコンテナ化環境でホストのジャーナルログを収集できます。
ユースケース
-
カーネルイベントを監視し、例外が発生した際に自動的にアラートをトリガーします。
-
ディスク領域使用量を削減するために、すべてのシステムログを長期ストレージ用に収集します。
-
ソフトウェア (ユニット) の出力ログを分析またはアラート機能のために収集します。
-
journalctlよりも高速にジャーナルログをキーワードまたはエントリで検索します。
操作手順
Simple Log Service コンソールにログインします。
-
データの取り込み セクションで、カスタムデータプラグイン を選択します。
-
送信先のプロジェクトと Logstore を選択し、次へ をクリックします。
マシングループの設定 ステップで、マシングループを設定します。
必要に応じて [シナリオ] および [インストール環境] パラメーターを設定します。
重要マシングループが利用可能かどうかに関係なく、[シナリオ] および [インストール環境] パラメーターを必ず設定してください。パラメータ設定は後続の構成に影響します。
適用済みサーバーグループ セクションにマシングループが表示されていることを確認し、[次へ] をクリックします。
マシングループが利用可能
ソースマシングループ セクションからマシングループを選択します。

マシングループが利用不可
[マシングループの作成] をクリックします。マシングループの作成 パネルでパラメーターを設定します。[マシングループ識別子] パラメーターには IP アドレス または カスタム識別子 を設定できます。詳細については、「カスタム識別子ベースのマシングループの作成」または「IP アドレスベースのマシングループの作成」をご参照ください。
重要マシングループを作成直後に適用すると、マシングループのハートビートステータスが FAIL になる場合があります。これは、マシングループが Simple Log Service に接続されていないために発生します。この問題を解決するには、[自動再試行] をクリックしてください。問題が解決しない場合は、「Logtail でハートビート接続が検出されない場合はどうすればよいですか?」をご参照ください。
-
データソース設定 タブで、構成名 および プラグイン設定 を設定し、[次へ] をクリックします。
-
inputs は必須項目で、Logtail 構成のデータソース設定を構成するために使用されます。
重要inputs では、1 種類のデータソースのみを指定できます。
-
processors は任意項目で、Logtail 構成のデータ処理設定を構成し、データを解析するために使用されます。1 つ以上の処理方法を指定できます。
inputs の設定のみではログを解析できない場合は、プラグイン設定 フィールドでプロセッサを設定し、データ処理用のプラグインを追加できます。たとえば、フィールドの抽出、ログ時間の抽出、データのマスク、ログのフィルターなどです。詳細については、「データ処理用の Logtail プラグイン」をご参照ください。
{ "inputs": [ { "detail": { "JournalPaths": [ "/var/log/journal" ], "Kernel": true, "ParsePriority": true, "ParseSyslogFacility": true }, "type": "service_journal" } ] }パラメーター
タイプ
必須
説明
type
文字列
はい
データソースのタイプ。
service_journalを設定します。JournalPaths
文字列の配列
はい
systemd ジャーナルディレクトリのパス。例:/var/log/journal。
SeekPosition
文字列
いいえ
初期収集開始位置。有効な値:
headおよびtail。デフォルト値:tail。-
head:既存のすべてのログデータを先頭から収集します。 -
tail:構成適用後に生成された新しいログデータのみを収集します。
Kernel
ブール値
いいえ
カーネルログを収集します。デフォルト:
true。Units
文字列の配列
いいえ
ログを収集するユニット。空の場合、Logtail はすべてのユニットから収集します。
ParseSyslogFacility
ブール値
いいえ
syslog ログから
facilityフィールドを解析します。デフォルト:false。ParsePriority
ブール値
いいえ
Priorityフィールドを解析します。デフォルト:false。true に設定すると、Priority フィールドは次のようにマップされます。
"0": "emergency" "1": "alert" "2": "critical" "3": "error" "4": "warning" "5": "notice" "6": "informational" "7": "debug"UseJournalEventTime
ブール値
いいえ
ジャーナルログエントリのタイムスタンプをログ時間として使用します。デフォルト:
false(収集時間を使用)。リアルタイム収集の場合、ジャーナルタイムスタンプと収集時間の差は通常 3 秒未満です。
-
インデックスを作成し、データをプレビューしてから、[次へ] をクリックします。Simple Log Service では、デフォルトでフルテキストインデックスが有効になっています。収集されたログに対して手動でフィールドインデックスを作成することもできます。または、[自動インデックス生成] をクリックすると、Simple Log Service がフィールドインデックスを自動生成します。詳細については、「インデックスの作成」をご参照ください。
重要ログ内のすべてのフィールドをクエリしたい場合は、フルテキストインデックスを使用することを推奨します。特定のフィールドのみをクエリしたい場合は、フィールドインデックスを使用することを推奨します。これにより、インデックストラフィックを削減できます。フィールドを分析する場合は、フィールドインデックスを作成する必要があります。分析を行うには、クエリ文に SELECT 文を含める必要があります。
[クエリログ] をクリックします。すると、Logstore のクエリと分析ページにリダイレクトされます。
インデックスが有効になるまで約 1 分お待ちください。その後、生ログ タブで収集されたログを表示できます。ログのクエリと分析方法の詳細については、「クエリと分析クイックスタート」をご参照ください。
使用例
-
例 1
デフォルトディレクトリ
/var/log/journalからジャーナルログを収集します。次の構成を使用します。{ "inputs": [ { "detail": { "JournalPaths": [ "/var/log/journal" ] }, "type": "service_journal" } ] }ログサンプル:
MESSAGE: rejected connection from "192.168.0.250:43936" (error "EOF", ServerName "") PACKAGE: embed PRIORITY: 6 SYSLOG_IDENTIFIER: etcd _BOOT_ID: fe919cd1268f4721bd87b5c18afe59c3 _CAP_EFFECTIVE: 0 _CMDLINE: /usr/bin/etcd --election-timeout=3000 --heartbeat-interval=500 --snapshot-count=50000 --data-dir=data.etcd --name 192.168.0.251-name-3 --client-cert-auth --trusted-ca-file=/var/lib/etcd/cert/ca.pem --cert-file=/var/lib/etcd/cert/etcd-server.pem --key-file=/var/lib/etcd/cert/etcd-server-key.pem --peer-client-cert-auth --peer-trusted-ca-file=/var/lib/etcd/cert/peer-ca.pem --peer-cert-file=/var/lib/etcd/cert/192.168.0.251-name-3.pem --peer-key-file=/var/lib/etcd/cert/192.168.0.251-name-3-key.pem --initial-advertise-peer-urls https://192.168.0.251:2380 --listen-peer-urls https://192.168.0.251:2380 --advertise-client-urls https://192.168.0.251:2379 --listen-client-urls https://192.168.0.251:2379 --initial-cluster 192.168.0.249-name-1=https://192.168.0.249:2380,192.168.0.250-name-2=https://192.168.0.250:2380,192.168.0.251-name-3=https://192.168.0.251:2380 --initial-cluster-state new --initial-cluster-token abac64c8-baab-4ae6-8412-4253d3cfb0cf _COMM: etcd _EXE: /opt/etcd-v3.3.8/etcd _GID: 995 _HOSTNAME: iZbp1f7y2ikfe4l8nx95amZ _MACHINE_ID: f0f31005fb5a436d88e3c6cbf54e25aa _PID: 10926 _SOURCE_REALTIME_TIMESTAMP: 1546854068863857 _SYSTEMD_CGROUP: /system.slice/etcd.service _SYSTEMD_SLICE: system.slice _SYSTEMD_UNIT: etcd.service _TRANSPORT: journal _UID: 997 __source__: 172.16.1.4 __tag__:__hostname__: logtail-ds-8kqb9 __topic__: _monotonic_timestamp_: 1467135144311 _realtime_timestamp_: 1546854068864309 -
例 2
説明コンテナからホストのジャーナルログを収集する際の制限事項:
-
systemd バージョン 247 以前のコンテナは、systemd バージョン 249 以降を実行するホストのジャーナルログを収集できません。
-
systemd バージョン 249 以降のコンテナは、新旧両方のフォーマットのログを読み取ることができます。
Kubernetes 環境では、DaemonSet モードを使用してホストシステムログを収集します。処理プラグインを使用して重要なフィールドのみを保持します。構成例:
{ "inputs": [ { "detail": { "JournalPaths": [ "/logtail_host/var/log/journal" ], "ParsePriority": true, "ParseSyslogFacility": true }, "type": "service_journal" } ], "processors": [ { "detail": { "Exclude": { "UNIT": "^libcontainer.*test" } }, "type": "processor_filter_regex" }, { "detail": { "Include": [ "MESSAGE", "PRIORITY", "_EXE", "_PID", "_SYSTEMD_UNIT", "_realtime_timestamp_", "_HOSTNAME", "UNIT", "SYSLOG_FACILITY", "SYSLOG_IDENTIFIER" ] }, "type": "processor_pick_key" } ] }ログサンプル:
MESSAGE: rejected connection from "192.168.0.251:48914" (error "EOF", ServerName "") PRIORITY: informational SYSLOG_IDENTIFIER: etcd _EXE: /opt/etcd-v3.3.8/etcd _HOSTNAME: iZbp1i0czq3zgvxlx7u8ueZ _PID: 10590 _SYSTEMD_UNIT: etcd.service __source__: 172.16.0.141 __tag__:__hostname__: logtail-ds-dp48x __topic__: _realtime_timestamp_: 1547975837008708 -
トラブルシューティング
Logtail を設定してログを収集した後、プレビューまたはクエリページにデータが表示されない場合は、「Logtail 収集失敗のトラブルシューティング」をご参照ください。