Simple Log Serviceを使用すると、インターネットインフォメーションサービス (IIS) ログを収集し、複数のディメンションでログを分析できます。 Logtail設定を作成してログを収集できます。 このトピックでは、Simple Log Serviceコンソールを使用してIIS構成モードでLogtail構成を作成する方法について説明します。
前提条件
プロジェクトと Logstore が作成されていること。 詳細については、「プロジェクトの作成」および「Logstoreの作成」をご参照ください。
Logtailがインストールされているサーバーは、リモートサーバーのポート80とポート443に接続できます。
サーバーでは、IIS、NCSA Common、W3C Extendedなどのログ形式が選択されています。
W3C拡張ログ形式の使用を推奨します。 W3C拡張形式を選択する場合は、事前にログフィールドを設定する必要があります。 ログフィールドを設定するには、[W3C Logging fields] ダイアログボックスで [送信バイト (sc-Bytes)] と [受信バイト (cs-bytes)] を選択し、他のフィールドのデフォルト設定を保持する必要があります。
ログを収集するサーバーは、継続的にログを生成します。
重要Logtailは増分ログのみを収集します。 適用されたLogtail設定がサーバーに配信された後にサーバー上のログファイルが更新されない場合、Logtailはファイルからログを収集しません。 詳細については、「ログファイルの読み取り」をご参照ください。
背景情報
サーバーは、選択したログ形式に基づいてIISログを生成します。 IIS、NCSA Common、およびW3C Extendedのいずれかのログ形式を選択できます。 IIS構成モードでは、Logtailはログの内容を構造化します。
ログフォーマット
# フィールド: 日付時刻s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status sc-bytes cs-bytes time-taked
フィールドの接頭辞
プレフィックス
説明
s-
サーバーアクションを示します。
c-
クライアントのアクションを示します。
cs-
クライアントからサーバーへのアクションを示します。
sc-
サーバー間アクションを示します。
フィールド
フィールド
説明
date
クライアントがリクエストを送信する日付。
time
クライアントがリクエストを送信する時点。
s-sitename
クライアントがアクセスしたサイトのインターネットサービス名とインスタンスID。
s-computername
ログが生成されるサーバーの名前。
s-ip
ログが生成されるサーバーのIPアドレス。
cs-method
クライアントが使用するリクエストメソッド (GETやPOSTなど) 。
cs-uri-stem
リクエスト内のURI。
cs-uri-query
HTTPリクエストの疑問符 (?) に続くクエリ文字列。
s-port
サーバーのポート番号。
cs-username
クライアントがサーバーにアクセスするために使用する認証済みドメイン名またはユーザー名。
ユーザーが認証済みユーザーの場合、このフィールドの値は
Domain\Username
形式で表示されます。匿名ユーザーの场合, ハイフン (-) が表示されます。
c-ip
リクエストを送信するクライアントの実際のIPアドレス。
cs-version
HTTP 1.0やHTTP 1.1など、クライアントが使用するプロトコルのバージョン。
cs (ユーザーエージェント)
クライアントによって使用されるブラウザ。
Cookie
送信または受信されるcookieの内容。 Cookieが送受信されない場合は、ハイフン (-) が表示されます。
referer
クライアントが指示されたサイト。
cs-host
ホスト情報。
sc-status
サーバーによって返されるHTTPステータスコード。
sc-substatus
サーバーによって返されるHTTP substatusコード。
sc-win32-status
サーバーによって返されるWindowsステータスコード。
sc-bytes
サーバーによって送信されるバイト数。
cs-bytes
サーバーが受信したバイト数。
time-taken
リクエストの処理に必要な時間。 単位:ミリ秒。
生ログ
2022-11-26 06:14:21 W3SVC692644773 125.XX. XX.2 GET /index.html - 80 - 10.XX. XX.10 Baiduspider +(+ http://www.example.com)200 0 64 185173 296 0
手順
Log Serviceコンソールにログインします。
[データのインポート] セクションで、[IISテキストログ] を選択します。
プロジェクトとLogstoreを選択します。 そして、[次へ] をクリックします。
マシングループを作成します。
マシングループが利用可能な場合は、[既存のマシングループを使用] をクリックします。
使用可能なマシングループがない場合は、次の手順を実行してマシングループを作成します。 この例では、Elastic Compute Service (ECS) インスタンスが使用されています。
[ECSインスタンス] タブで、[手動でインスタンスを選択] を選択します。 次に、使用するECSインスタンスを選択し、[作成] をクリックします。
詳細については、「ECSインスタンスへのLogtailのインストール」をご参照ください。
重要別のAlibaba Cloudアカウントに属するECSインスタンス、オンプレミスデータセンターのサーバー、またはサードパーティのクラウドサービスプロバイダーのサーバーからログを収集する場合は、Logtailを手動でインストールする必要があります。 詳細については、「LinuxサーバーにLogtailをインストールする」または「WindowsサーバーにLogtailをインストールする」をご参照ください。 Logtailを手動でインストールした後、サーバーのユーザー識別子を設定する必要があります。 詳細については、「ユーザー識別子の設定」をご参照ください。
Logtailをインストールしたら、[インストールの完了] をクリックします。
[マシングループの作成] ステップで、[名前] パラメーターを設定し、[次へ] をクリックします。
Log Serviceでは、IPアドレスベースのマシングループとカスタム識別子ベースのマシングループを作成できます。 詳細については、「IPアドレスベースのマシングループの作成」および「カスタム識別子ベースのマシングループの作成」をご参照ください。
[ソースサーバーグループ] から新しいマシングループを選択し、マシングループを [応用サーバーグループ] に移動します。 [次へ] をクリックします。
重要マシングループを作成した直後にマシングループを適用すると、マシングループのハートビートステータスがFAILになる可能性があります。 この問題は、マシングループがLog Serviceに接続されていない場合に発生します。 この問題を解決するには、[自動再試行] をクリックします。 問題が解決しない場合は、「Logtailでハートビート接続が検出されない場合の対処方法」をご参照ください。
Logtail設定ステップで、Logtail設定を作成します。
パラメーター
説明
設定名
Logtail設定の名前。 名前はプロジェクト内で一意である必要があります。 Logtail設定を作成した後、Logtail設定の名前を変更することはできません。
[その他の構成のインポート] をクリックすると、既存のLogtail構成をインポートできます。
ログのパス
ログファイルのディレクトリと名前。 サーバー上のログの場所に基づいて、このパラメーターを設定します。
Linuxオペレーティングシステムでログパスを指定する場合、パスはスラッシュ (/) で始まる必要があります。 例: /apsara/nuwa/.../app.Log
Windowsオペレーティングシステムでログパスを指定する場合、パスはドライブ文字で始まる必要があります。 例: C:\Program Files\Intel\...\*.Log
正確なディレクトリと正確な名前を指定できます。 ワイルドカード文字を使用して、ディレクトリと名前を指定することもできます。 詳細については、「ワイルドカードの一致」をご参照ください。 Log Serviceは、指定されたディレクトリのすべてのレベルで、指定された条件に一致するログファイルをスキャンします。 例:
/apsara/nuwa/**/*.logを指定した場合、Log Serviceは名前にが付いているログファイルからログを収集します。/apsara/nuwaディレクトリとディレクトリの再帰サブディレクトリにログインします。
/var/logs/app_*/*.logを指定した場合、Log Serviceは次の条件を満たすログファイルからログを収集します。ファイル名の接尾辞はです。ログを ファイルは、/var/logsディレクトリ下のサブディレクトリ、またはサブディレクトリの再帰サブディレクトリに格納されます。 サブディレクトリの名前は、app_* パターンと一致します。
/var/log/nginx/**/access * を指定した場合、Log Serviceは、名前が /var/log/nginxディレクトリのaccessで始まるログファイルと、ディレクトリの再帰的なサブディレクトリからログを収集します。
説明このパラメーターを設定すると、アスタリスク (*) または疑問符 (?) のみをワイルドカード文字として使用できます。
アスタリスク (*) を使用して、複数の文字を一致させることができます。
疑問符 (?) を使用して、1つの文字を一致させることができます。
ブラックリスト
ブラックリストをオンにする場合、特定のディレクトリまたはファイルをログ収集から除外するようにブラックリストを設定する必要があります。 正確なディレクトリとファイル名を指定できます。 ワイルドカード文字を使用して、ディレクトリとファイル名を指定することもできます。 例:
[フィルタータイプ] 列のドロップダウンリストから [ディレクトリでフィルターする] を選択し、コンテンツに /home/admin/dir1と入力すると、/home/admin/dir1ディレクトリ内のすべてのファイルがスキップされます。
[フィルタータイプ] 列のドロップダウンリストから [ディレクトリでフィルターする] を選択し、[コンテンツ] に /home/admin/dir * と入力すると、/home/admin/ ディレクトリの名前の先頭にdirが付いているすべてのサブディレクトリのファイルがスキップされます。
[フィルタータイプ] 列のドロップダウンリストから [ディレクトリでフィルターする] を選択し、コンテンツに /home/admin/*/dirと入力した場合、/home/admin/ ディレクトリの各サブディレクトリにあるすべてのファイルがスキップされます。
たとえば、/home/admin/a/dirディレクトリのファイルはスキップされますが、/home/admin/a/b/dirディレクトリのファイルはスキップされません。
[フィルターの種類] 列のドロップダウンリストから [ファイルでフィルター] を選択し、コンテンツに /home/admin/private *.logと入力した場合、名前の接頭辞がprivate、接尾辞が /home/admin/ ディレクトリへのログインはスキップされます。
[フィルタータイプ] 列のドロップダウンリストから [ファイルでフィルター] を選択し、[コンテンツ] に /home/admin/private */*_inner.logと入力した場合、/home/admin/ ディレクトリのプレフィックスがprivateであるサブディレクトリ内の_inner.logという名前のファイルはすべてスキップされます。
たとえば、/home/admin/private/app_inner.logファイルはスキップされますが、/home/admin/private/app.logファイルはスキップされません。
説明このパラメーターを設定すると、アスタリスク (*) または疑問符 (?) のみをワイルドカード文字として使用できます。
アスタリスク (*) を使用して、複数の文字を一致させることができます。
疑問符 (?) を使用して、1つの文字を一致させることができます。
ワイルドカード文字を使用してログパスを設定し、指定したディレクトリ内の一部のディレクトリをスキップする場合は、ブラックリストを設定して完全なディレクトリを入力する必要があります。
たとえば、ログパスを /home/admin/app * /Log /*.logに設定し、/home/admin/app1 * ディレクトリ内のすべてのサブディレクトリをスキップする場合は、[ディレクトリでフィルター] を選択し、/home/admin/app1 */** と入力してブラックリストを設定する必要があります。 /home/admin/app1 * と入力した場合、ブラックリストは有効になりません。
ブラックリストが使用されているとき、計算オーバーヘッドが生成される。 ブラックリストには最大10エントリを追加することを推奨します。
スラッシュ (/) で終わるディレクトリパスは指定できません。 たとえば、パスを /home/admin/dir1/ に設定した場合、ディレクトリのブラックリストは有効になりません。
Docker ファイル
Dockerコンテナからログを収集する場合は、Dockerファイルをオンにして、コンテナのディレクトリとタグを指定する必要があります。 Logtailはコンテナを監視して、コンテナが作成されたか破棄されたかを確認し、タグでコンテナをフィルタリングし、フィルタリング結果のコンテナからログを収集します。 詳細については、「Simple Log Serviceコンソールを使用してDaemonSetモードでコンテナテキストログを収集する」をご参照ください。
モード
ログ収集モード デフォルトでは、IIS構成モードが表示されます。 モードを変更できます。
ログ形式
IISサーバーで生成されるログの形式。 有効な値:
IIS: Microsoft の IIS ログファイル形式
NCSA: NCSA 共通ログファイル形式
W3C: W3C拡張ログファイル形式
IIS構成フィールド
IIS構成フィールド。
Log FormatパラメーターをIISまたはNCSAに設定すると、IIS構成フィールドが自動的に指定されます。
Log FormatパラメーターをW3Cに設定した場合、IIS構成ファイルのlogFile logExtFileFlagsパラメーターで指定された内容を入力します。
logExtFileFlags="Date、Time、ClientIP、UserName、SiteName、ComputerIP、Method、UriStem、UriQuery、HttpStatus、Win32Status、BytesSent、BytesRecv、TimeTaken、ServerPort、UserAgent、Cookie、Referer、ProtocolVersion、ホスト、HttSubStatus"
IIS5設定ファイルのデフォルトパス: C:\WINNT\system32\inetsrv\MetaBase.bin
IIS6設定ファイルのデフォルトパス: C:\WINDOWS\system32\inetsrv\MetaBase.xml
IIS7構成ファイルのデフォルトパス: C:\Windows\System32\inetsrv\config\applicationHost.config
IIS キー名
Simple Log Serviceは、IIS構成フィールドパラメーターの値に基づいて、IISキーを自動的に抽出します。
ドロップログの解析に失敗
[ログの解析に失敗した削除] をオンにした場合、解析に失敗したログはLog Serviceにアップロードされません。
[ログの解析に失敗した削除] をオフにした場合、解析に失敗したログは、__raw__ フィールドの値としてLog Serviceにアップロードされます。
監視ディレクトリの最大深度
監視するサブディレクトリのレベルの最大数。 サブディレクトリは、指定したログファイルディレクトリにあります。 有効な値: 0 ~ 1000 値0は、指定したログファイルディレクトリのみを監視することを示します。
ビジネス要件に基づいて詳細設定を構成できます。 詳細設定は変更しないことをお勧めします。 詳細設定のパラメーターを次の表に示します。
パラメーター
説明
プラグイン処理の有効化
ログが複雑で、NGINXモード、フル正規表現モード、JSONモードなどのモードで解析できない場合は、[プラグイン処理の有効化] をオンにして、ログを解析するLogtailプラグインを追加できます。
Log Serviceは、選択した収集モードに基づいてデフォルトのプラグイン設定を生成します。 processorsフィールドを設定することで、他のプラグイン設定を既定のプラグイン設定に追加できます。 詳細については、「概要」をご参照ください。
重要[プラグイン処理の有効化] をオンにすると、[生ログのアップロード] 、[タイムゾーン] 、[ログの解析に失敗したドロップ] 、[フィルタ設定] 、[エントリのアップロードが不完全 (デリミターモード)] などのパラメーターが使用できなくなります。
生ログのアップロード
[生ログのアップロード] をオンにすると、各生ログは、生ログから解析されたログとともに、__Raw__ フィールドの値としてLog Serviceにアップロードされます。
Topic の生成方法
トピック生成モードを選択します。 詳細については、「ログトピック」をご参照ください。
Null-トピックを生成しない: このモードでは、トピックフィールドは空の文字列に設定されます。 ログを照会するときに、トピックを指定する必要はありません。 デフォルト値です。
マシングループトピック属性: このモードでは、トピックはマシングループレベルで設定されます。 異なるサーバーによって生成されたログを区別する場合は、このモードを選択します。
ファイルパス正規表現: このモードでは、カスタム正規表現フィールドで正規表現を指定する必要があります。 ログパスの正規表現に一致する部分がトピックとして使用されます。 異なるユーザーまたはインスタンスによって生成されたログを区別する場合は、このモードを選択します。
ログファイルのエンコーディング
ログファイルのエンコード形式。 有効な値: utf8とgbk。
タイムゾーン
ログを収集するタイムゾーンを選択します。 有効な値:
システムタイムゾーン: この値を選択すると、Logtailがインストールされているサーバーまたはコンテナーのタイムゾーンが使用されます。
カスタム: この値を選択する場合、ビジネス要件に基づいてタイムゾーンを選択する必要があります。
タイムアウト
ログファイルが指定された期間内に更新されない場合、Logtailはモニタリングがタイムアウトしたと見なします。
Never: すべてのログファイルは継続的に監視され、監視がタイムアウトすることはありません。
30 分タイムアウト: ログファイルが30分以内に更新されない場合、Logtailはモニタリングがタイムアウトしたと見なし、ファイルをモニタリングしなくなります。
30 Minute Timeoutを選択した場合、Maximum Timeout Directory Depthパラメーターを設定する必要があります。 有効な値: 1 ~ 3。
フィルターの設定
ログの収集に使用するフィルター条件を指定します。 フィルター条件は、KeyとRegexで構成されます。 Keyは必須フィールドの名前を指定し、Regexはフィルタリングに使用される正規表現を指定します。 フィルター条件間の論理演算子はANDです。
重要シンプルモードでは、コンテンツフィールドのみが生成されます。 フィルター条件を指定する場合、Keyはcontentのみに設定できます。
指定する正規表現は、フルテキスト照合のみをサポートします。 キーワードマッチングはサポートされていません。
例:
指定されたフィルター条件に一致するログを収集します。
Keyをlevelに設定し、RegexをWARNING | ERRORに設定した場合、levelの値がWARNINGまたはERRORであるログのみが収集されます。
Keyをcontentに設定し、Regexをに設定した場合。* 05\/Jan\/2023.* の場合、contentの値に05/Jan/2023が含まれるログのみが収集されます。
指定されたフィルター条件に一致しないログを除外します。
Keyをlevelに設定し、Regexを ^(?!.*(INFO | DEBUG)).* に設定した場合、levelの値にINFOまたはDEBUGが含まれるログは除外されます。
Keyをlevelに設定し、Regexを ^(?!(INFO | DEBUG)$).* に設定した場合、levelの値がINFOまたはDEBUGであるログは除外されます。
Keyをurlに設定し、Regexをに設定した場合。* ^(?!.*(healthcheck)).* urlの値にhealthcheckが含まれているログは除外されます。
正規表現を指定する方法の詳細については、「正規表現の使い方」をご参照ください。
最初のコレクションのサイズ
Logtailがファイルからログを最初に収集するときに、Logtailがログファイルから収集できるデータのサイズを指定します。 First Collection Sizeのデフォルト値は1024です。 (単位:KB)
ファイルサイズが1,024 KB未満の場合、Logtailはファイルの先頭からデータを収集します。
ファイルサイズが1,024 KBを超える場合、Logtailはファイル内の最後の1,024 KBのデータを収集します。
ビジネス要件に基づいて最初のコレクションサイズを指定できます。 有効な値: 0 ~ 10485760 (単位:KB)
その他の設定
Logtailの拡張設定を指定します。 詳細については、「advanced」をご参照ください。
たとえば、現在のLogtail設定を使用して、異なるLogtail設定に一致するログファイルからログを収集し、ログが集計されてlog Serviceに送信される間隔を指定する場合は、現在のLogtailの拡張設定を指定できます。
{ "force_multiconfig": true、 "batch_send_interval": 3 }
[次へ] をクリックしてLogtail設定の作成を完了します。 その後、Log Serviceはログの収集を開始します。
説明Logtail設定を有効にするには、最大3分かかります。
Logtailを使用してログを収集するときにエラーが発生した場合は、「Logtail収集エラーの表示方法」をご参照ください。 およびSimple Log Serviceがログを収集するときに発生する可能性のある一般的なエラーのトラブルシューティング方法を教えてください。
データをプレビューし、インデックスを設定し、[次へ] をクリックします。
デフォルトでは、Log Serviceでフルテキストインデックスが有効になっています。 手動モードまたは自動モードで収集したログに基づいてフィールドインデックスを設定することもできます。 自動モードでフィールドインデックスを設定するには、[自動インデックス生成] をクリックします。 これにより、Log Serviceは自動的にフィールドインデックスを作成します。 詳細については、「インデックスの作成」をご参照ください。
重要ログをクエリおよび分析する場合は、フルテキストインデックス作成またはフィールドインデックス作成を有効にする必要があります。 フルテキストインデックスとフィールドインデックスの両方を有効にすると、フィールドインデックスのみが使用されます。
[ログクエリ] をクリックします。 Logstoreのクエリと分析ページにリダイレクトされます。
インデックスが有効になるまで約1分待つ必要があります。 次に、収集したログを [生ログ] タブで表示できます。 詳細については、「ログの照会と分析」をご参照ください。
トラブルシューティング
Logtailを使用してログを収集した後、プレビューページまたはクエリページにデータが表示されない場合は、「」に記載されている手順に基づいてエラーをトラブルシューティングできます。