IIS
セキュリティモニタリングが使用可能です セキュリティモニタリングが使用可能です

IIS

Agent Check Agentチェック

Supported OS: Windows

IIS グラフ

概要

すべてのサイトを集計して、またはサイトごとに IIS メトリクスを収集します。IIS Agent チェックは、アクティブな接続数、送信および受信バイト数、HTTP メソッド別のリクエスト数などのメトリクスを収集します。サイトごとのサービスチェックも送信されるため、サイトが稼働しているか停止しているかを把握できます。

セットアップ

インストール

IIS チェックは Agent にパッケージ化されています。IIS のメトリクスとログの収集を開始するには、以下のようにします。

  1. IIS サーバーに Agent をインストールします。

  2. IIS サーバーに Win32_PerfFormattedData_W3SVC_WebService WMI クラスがインストールされている必要があります。確認するには、次のコマンドを使用します。

    Get-WmiObject -List -Namespace root\cimv2 | select -Property name | where name -like "*Win32_PerfFormattedData_W3SVC*"

このクラスは、web-common-http Windows Feature の一部としてインストールされます。

```text
PS C:\Users\vagrant> Get-WindowsFeature web-* | where installstate -eq installed | ft -AutoSize

Display Name                       Name               Install State
------------                       ----               -------------
[X] Web Server (IIS)               Web-Server             Installed
[X] Web Server                     Web-WebServer          Installed
[X] Common HTTP Features           Web-Common-Http        Installed
[X] Default Document               Web-Default-Doc        Installed
[X] Directory Browsing             Web-Dir-Browsing       Installed
[X] HTTP Errors                    Web-Http-Errors        Installed
[X] Static Content                 Web-Static-Content     Installed
```

この機能がない場合は、install-windowsfeature web-common-http を使用して追加できます。正しく動作させるには、システムの再起動が必要です。

構成

まず、IIS サーバーで WMI カウンターを再同期します。Windows <2003 (または同等のバージョン) の場合は、cmd.exe で次のコマンドを実行します。

C:/> winmgmt /clearadap
C:/> winmgmt /resyncperf

Windows >= 2008 (または同等のバージョン) の場合は、次のコマンドを実行します。

C:/> winmgmt /resyncperf

ホスト

ホストで実行中の Agent でこのチェックを構成する場合は、以下の手順に従ってください。コンテナ環境の場合は、コンテナ化セクションを参照してください。

メトリクスの収集
  1. IIS のサイトデータの収集を開始するには、Agent の構成ディレクトリのルートにある Agent の conf.d ディレクトリiis.d/conf.yaml ファイルを編集します。使用可能なすべての構成オプションの詳細については、サンプル iis.d/conf.yaml を参照してください。

  2. Agent を再起動すると、Datadog への IIS メトリクスの送信が開始されます。

ログの収集

Agent バージョン 6.0 以降で利用可能

  1. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
  2. IIS のログの収集を開始するには、次の構成ブロックを iis.d/conf.yaml ファイルに追加します。

    logs:
     - type: file
       path: C:\inetpub\logs\LogFiles\W3SVC1\u_ex*
       service: myservice
       source: iis

    path パラメーターと service パラメーターの値を変更し、環境に合わせて構成してください。使用可能なすべての構成オプションの詳細については、サンプル iis.d/conf.yaml を参照してください。

  3. Agent を再起動します

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートをガイドとして参照して、次のパラメーターを適用します。

メトリクスの収集
パラメーター
<インテグレーション名>iis
<初期コンフィギュレーション>空白または {}
<インスタンスコンフィギュレーション>{"host": "%%host%%"}
ログの収集

Agent バージョン 6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集のドキュメントを参照してください。

パラメーター
<LOG_CONFIG>{"source": "iis", "service": "<サービス名>"}

検証

Agent の status サブコマンドを実行し、Checks セクションで iis を探します。

収集データ

メトリクス

iis.uptime
(gauge)
The amount of time the IIS server has been running
Shown as second
iis.net.bytes_sent
(gauge)
The number of bytes served per second
Shown as byte
iis.net.bytes_rcvd
(gauge)
The number of bytes received per second
Shown as byte
iis.net.bytes_total
(gauge)
The total number of bytes transferred per second
Shown as byte
iis.net.num_connections
(gauge)
The number of active connections
Shown as connection
iis.net.files_sent
(gauge)
The number of files sent per second
Shown as file
iis.net.files_rcvd
(gauge)
The number of files received per second
Shown as file
iis.net.connection_attempts
(gauge)
The number of connection attempts since service startup
Shown as connection
iis.net.connection_attempts_sec
(gauge)
The number of connection attempts per second
Shown as connection
iis.httpd_request_method.get
(gauge)
The number of GET requests per second
Shown as request
iis.httpd_request_method.post
(gauge)
The number of POST requests per second
Shown as request
iis.httpd_request_method.head
(gauge)
The number of HEAD requests per second
Shown as request
iis.httpd_request_method.put
(gauge)
The number of PUT requests per second
Shown as request
iis.httpd_request_method.delete
(gauge)
The number of DELETE requests per second
Shown as request
iis.httpd_request_method.options
(gauge)
The number of OPTIONS requests per second
Shown as request
iis.httpd_request_method.trace
(gauge)
The number of TRACE requests per second
Shown as request
iis.errors.not_found
(gauge)
The number of not found errors per second (typically reported as an HTTP 404 response code)
Shown as error
iis.errors.locked
(gauge)
The number of locked errors per second (typically reported as an HTTP 423 response code)
Shown as error
iis.users.anon
(gauge)
The number of requests from users over an anonymous connection per second
Shown as request
iis.users.nonanon
(gauge)
The number of requests from users over a non-anonymous connection per second
Shown as request
iis.requests.cgi
(gauge)
The number of Common Gateway Interface requests executed per second
Shown as request
iis.requests.isapi
(gauge)
The number of ISAPI requests executed per second
Shown as request
iis.app_pool.state
(gauge)
The current status of the application pool (1 - Uninitialized, 2 - Initialized, 3 - Running, 4 - Disabling, 5 - Disabled, 6 - Shutdown Pending, 7 - Delete Pending).
iis.app_pool.uptime
(gauge)
The length of time, in seconds, that the application pool has been running since it was started.
Shown as second
iis.app_pool.recycle.count
(count)
The number of times that the application pool has been recycled since Windows Process Activation Service (WAS) started.

イベント

IIS チェックには、イベントは含まれません。

サービスのチェック

iis.site_up:
Agent は、iis.yaml で構成されたサイトごとにこのサービスチェックを送信します。サイトのアップタイムがゼロの場合は、Critical を返します。それ以外の場合は、OK を返します。

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問合せください。