Logtail アクセスサービスは、Log Service によって提供されるログ収集エージェントです。 Logtail を使用して、Alibaba Cloud Elastic Compute Service (ECS) インスタンスなどのサーバーから、 Log Service コンソールでリアルタイムでログを収集することができます。

図 1. 機能の利点

利点

  • ログファイルに基づく非接続のログ収集。 アプリケーションのコードを変更する必要はなく、ログ収集はアプリケーションの動作ロジックに影響を与えません。
  • テキストログの収集に加えて、binlog、http、および container stdout など、より多くの収集方法がサポートされています。
  • コンテナーは十分にサポートされています。 このサービスは、標準コンテナー、集団クラスター、および Kubernetes クラスターでのデータ収集をサポートします。
  • Logtail は、ログ収集プロセスで発生した例外を処理します。 ネットワークや Log Service などの異常が発生し、ユーザデータが一時的に予約帯域の書き込み制限を超えるといった問題が発生すると、Logtail はデータをローカルで積極的に再試行してキャッシュし、データセキュリティを保証します。
  • ログサービスに基づく集中管理機能。 Logtail をインストールした後は、ログを収集するマシンや Log Service 収集方法などの設定を、サーバーにログオンせずに別々の設定を行うことなく集中的に行うことができます。 Logtail のインストール方法については、「Logtail のインストール方法 (Windows)」と「Logtail のインストール方法 (Linux)」をご参照ください。
  • 包括的な自己保護の仕組み。 マシン上で実行されている収集エージェントがサービスのパフォーマンスに大きな影響を与えないように、Logtail クライアントは CPU、メモリ、ネットワークリソースの使用を厳しく保護し、制限します。

処理能力と制限

制限」をご参照ください。

手順

図 2. 設定プロセス
Logtail を使用してサーバーからログを収集するには、次の手順に従います。
  1. Logtail をインストールします。 ログを収集するサーバーに Logtail をインストールします。 詳細:Logtail のインストール方法 (Windows)Logtail のインストール方法 (Linux)
  2. マシングループ識別 ID の作成. Alibaba Cloud ECS インスタンスからログを収集しようとしている場合は、この手順をスキップしてください。
  3. IP アドレスが IDとなるマシングループの作成. Log Service は、マシングループの形式で Logtail クライアントを使用してログを収集するすべてのサーバーを管理します。 Log Service は、IP またはユーザー定義の ID を使用してマシングループを定義することをサポートします。 マシングループに適用ページの指示どおりにマシングループを作成することもできます。
  4. Logtail コレクション設定を作成し、それをマシングループに適用します。 データインポートウィザードで Logtail 設定を作成することにより、テキストファイルの収集syslog などのデータを収集することができます。 さらに、Logtail 設定をマシングループに適用することができます。

上記の手順を完了すると、ログを収集するサーバーの増分ログがアクティブに収集され、対応するログストアに送信されます。 履歴ログは収集されません。 コンソールまたは API/SDK を使用してこれらのログを照会することができます。 収集が正常かどうか、エラーが発生したかどうかなど、コンソールの Logtail ログ収集状況を照会することもできます。

Log Service コンソールの Logtail アクセスサービスの完全な手順については、Logtail を使用して「テキストファイルの収集」をご参照ください。 .

コンテナー

主なコンセプト

  • グループ:マシングループには、ログタイプを収集する 1 つ以上のマシンが含まれています。 Logtail 構成をマシングループに適用すると、 Log Service は同じ Logtail 構成に従ってマシングループ内のすべてのマシンからログを収集します。 Log Service コンソールでは、マシングループの作成/削除、マシングループへのマシンの追加 / 削除など、マシングループを管理することもできます。 マシングループは、Windows マシンと Linux マシンの両方を含むことはできませんが、異なるバージョンの Windows マシンまたは異なるバージョンの Linux マシンを含むことができます。
  • Logtailクライアント: Logtail は、ログを収集し、ログが収集されるサーバー上で実行されるエージェントです。 Logtail のインストール方法については、「Logtail のインストール方法 (Windows)」と「Logtail のインストール方法 (Linux)」をご参照ください。 サーバに Logtail をインストールした後、Logtail 設定を作成し、それをマシングループに適用します。
    • Linux では、Logtail は /usr/local/ilogtail ディレクトリに インストールされ、ilogtail で始まる 2 つの独立したプロセス (収集プロセスとデーモンプロセス) を開始します。 プログラム実行ログは /usr/local/ilogtail/ilogtail.LOG です。
    • Windows では、Logtail は C:\Program Files\Alibaba\Logtail ディレクトリ (32 ビットシステム用) または C:\Program Files(x86)\Alibaba\Logtail ディレクトリ (64 ビット用 システム) にインストールされます。 Windows 管理ツール > サービスに移動すると、 LogtailWorker と LogtailDaemon の 2 つの Windows サービスを表示できます。 LogtailDaemon はデーモンとして動作します。 プログラム実行ログは、 インストールディレクトリの logtail_*.log です。
  • Logtail 構成: Logtail 構成は、Logtail を使用してログを収集するポリシーの集合です。 データソースや収集モードなどの Logtail パラメータを設定することで、マシングループ内のすべてのマシンのログ収集ポリシーをカスタマイズできます。 Logtail 構成は、マシンからログの種類を収集し、収集したログを解析し、指定された Log Service の Logstore にそれらを送信するために使用されます。 Logstore がこの Logtail 構成を使用して収集されたログを受信できるようにするには、コンソール内の各 Logstore に Logtail 構成を追加できます。

基本機能

Logtail アクセスサービスは、以下の機能を提供します。
  • リアルタイムログ収集: Logtail は動的にログファイルを監視し、増分ログをリアルタイムで読み込み、解析します。 一般に、ログが生成されてから Log Service ログが送信されるまでの間に、3 秒未満の遅延が存在します。
    Logtail は履歴データの収集をサポートしていません。 読み込みから生成までが 12 時間を超えるログは破棄されます。
  • 自動ログローテーション処理:多くのアプリケーションは、ログファイルをファイルサイズまたは日付に従ってローテーションします。 回転処理中に、元のログファイルの名前が変更され、ログの書き込み用に新しい空のログファイルが作成されます。 例えば、監視されたapp.LOGapp.LOG. 1app.LOG. 2を生成するために回転します。 app.LOGのように、収集されたログが書き込まれるファイルを指定することができます。 Logtail は自動的にログローテーションプロセスを検出し、このプロセス中にログデータが失われないことを保証します。
  • 複数の収集入力ソース:テキストログ以外にも、Loglog は syslog、HTTP、MySQL、binlog などの入力ソースをサポートしています。 詳細については、「ログサービスユーザーガイド」の「データソース」を参照してください。
  • オープンソース収集エージェントとの互換性:Logstashの入力ソースは、LogstashやBeatsなどのオープンソースソフトウェアによって収集されたデータにすることができます。 詳細については、「ログサービスユーザーガイド」の「データソース」を参照してください。
  • 収集例外の自動処理: Log Service エラー、ネットワーク対策、制限を超えるクォータなどの例外によりデータ送信が失敗した場合、Logtail は特定のシナリオに基づいて積極的に再試行します。 再試行が失敗した場合、Logtail はローカルキャッシュにデータを書き込み、その後、自動的にデータを再送信します。
  • 柔軟な収集ポリシー設定: Logtail 設定を使用して、サーバからログを収集する方法を柔軟に指定することができます。 具体的には、実際のシナリオに基づいて、ワイルドカードと完全一致またはファジー一致をサポートするログディレクトリとファイルを選択できます。 ログ収集の抽出方法と抽出されたフィールドの名前をカスタマイズすることができます。 Log Service、正規表現を使用してログを抽出できます。 Log Service のログデータモデルでは、各ログに正確なタイムスタンプが必要です。 したがって、Logtail はカスタムログの時刻形式を提供し、さまざまな形式のログデータから必要なタイムスタンプ情報を抽出することができます。
  • 収集設定の自動同期:一般的に、 Log Service コンソールで設定を作成または更新すると、Logtail は自動的にその設定を受け入れ、3 分以内に設定を有効にします。 設定の更新時に収集されたデータは失われません。
  • クライアントの自動アップグレード: Logtail をサーバーに手動でインストールすると、 Log Service は自動的に Operation&Maintenance(O&M) および Logtail のアップグレードを実行します。 Logtail をアップグレードしてもログデータは失われません。
  • ステータス監視: Logtail クライアントが多すぎるリソースを消費してサービスに影響を与えないようにするため、Logtail クライアントは CPU とメモリの消費量をリアルタイムで監視します。Logtail クライアントは、リソースの使用量が制限を超えた場合に自動的に再起動され、マシン上の他の操作に影響を与えないようにします。 Logtail クライアントは、ネットワークトラフィックを積極的に制限して、過剰な帯域幅消費を防ぎます。
  • シグネチャによるデータ送信: 送信プロセス中にデータが改ざんされるのを防ぐため、Logtail クライアントは Alibaba Cloud AccessKey を取得し、送信されるすべてのログデータパケットに署名を提供します。
    Alibaba Cloud AK のセキュリティを維持するため、Logtail クライアントは HTTPS トンネルを使用して AK を取得します。

データ収集の信頼性

データ収集中、Logtail は収集されたチェックポイント情報をローカルディレクトリに定期的に保存します。 例外 (サーバーの予期しないシャットダウンやプロセスのクラッシュなど) が発生した場合、Logtail はデータ損失を防ぐために再起動後に最後に記録されたチェックポイントからデータを収集します。 次に Logtail は、設定ファイルにリストされている リソース制限 に従って動作します。 ただし、リソースが事前設定よりも 5 分以上間長く占有されると、Logtail は強制的に再起動されます。 強制再起動後、既存のデータの一部が再生成される場合があります。

Logtail は複数の方法を使用してデータ収集の信頼性を保証していますが、絶対的なデータの整合性は保証できません。 具体的には、次の理由によりデータ損失が発生する可能性があります。
  • Logtail は機能していませんが、ログは数回ローテーションされています。
  • ログの回転速度は非常に速く、たとえば 1 秒に 1 回です。
  • 長時間の場合、ログ収集速度はログ生成速度よりも遅くなります。