
# 中间件-IIS日志
Internet Information Services（IIS）简称互联网信息服务，它是Windows Server的一部分，可以用来为网络上的客户端提供HTML、ASP.NET、PHP等类型的Web应用程序和服务。IIS支持多种协议，包括HTTP、HTTPS、FTP、SMTP等，广泛应用于Windows操作系统上的网站部署和管理。Internet Information Services (IIS) 日志是记录IIS服务器上Web活动的重要文件。这些日志通常包含了关于HTTP请求和响应的详细信息，如请求时间、请求来源、请求的资源、使用的协议版本、用户代理、响应状态等。
IIS日志的字段通常包括：
1. 日期和时间：记录请求发生的具体日期和时间。
2. 客户端IP地址：发起请求的客户端的IP地址。
3. 用户名：如果请求是通过身份验证的，这里会显示用户名；否则可能是"-"。
4. 请求方法：如GET、POST等。
5. 请求的资源：请求的URL路径。
6. 协议版本：如HTTP/1.1或HTTP/2等。
7. 用户代理：客户端用来描述自己的字符串，如浏览器类型和版本。
8. 响应状态：如200（成功）、404（未找到）等HTTP状态码。
9. 响应字节数：服务器发送给客户端的字节数。
10. 请求处理时间：请求从开始到结束所花费的时间。
除了这些基本字段外，IIS日志还可以包含其他自定义字段，具体取决于IIS的配置和安装的扩展。
#### 采集方法
使用ICAgent采集日志，接入前请参考[安装ICAgent（区域内主机）](https://support.huaweicloud.com/usermanual-lts/lts_02_0013.html)完成ICAgent安装。然后再通过采集ECS-文本日志方式将日志上报至LTS服务，详细操作请参考[云主机ECS文本日志接入LTS](https://support.huaweicloud.com/usermanual-lts/lts_04_1031.html)。
#### iis日志示例以及字段含义
```
#Software: Information Services 10.0  
#Version: 1.0  
#Date: 2023-09-21 02:59:24  
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-substatus sc-win32-status time-taken  
2023-09-21 02:59:24 192.168.1.1 GET /index.html - 301 0 0 123  
2023-09-21 02:59:25 192.168.1.1 GET /index.html/ 403 0 2 56
```
表1iis日志字段说明 
| 字段              | 说明                                   | 示例                                                                                                  |
|:---|:---|:---|
| #Software       | 生成日志的软件信息。                           | Information Services 10.0                                                                           |
| #Version        | 日志文件的版本信息。                           | 1.0                                                                                                 |
| #Date           | 日志开始记录的日期和时间。                        | 2023-09-21 02:59:24                                                                                 |
| #Fields         | 定义日志条目的字段。                           | date time s-ip cs-method cs-uri-stem cs-uri-query sc-status sc-substatus sc-win32-status time-taken |
| date            | 请求发生的日期。                             | 2023-09-21                                                                                          |
| time            | 请求发生的时间。                             | 02:59:24                                                                                            |
| s-ip            | 源IP地址，即发起请求的客户端的IP地址。                | 192.168.1.1                                                                                         |
| cs-method       | 请求的HTTP方法。                           | GET                                                                                                 |
| cs-uri-stem     | 请求的URL路径。                            | /index.html                                                                                         |
| cs-uri-query    | 请求的URI查询字符串。                         | 在此示例中，第一个请求的查询字符串为空。                                                                                |
| sc-status       | HTTP状态码，表示服务器的响应状态。                  | 301                                                                                                 |
| sc-substatus    | 子状态码，提供有关HTTP状态码的更多详细信息。             | 0                                                                                                   |
| sc-win32-status | Win32状态码，表示与HTTP状态码相关的Windows系统错误代码。 | 在此示例中，Win32状态码为0或2，表示没有错误或特定的系统错误。                                                                  |
| time-taken      | 请求从开始到结束所花费的时间（以毫秒为单位）。              | 123                                                                                                 |
   
#### 日志位置
Internet Information Services (IIS) 日志文件的位置取决于IIS的配置以及您使用的是IIS的哪个版本。但是，通常情况下，IIS日志文件位于服务器的以下路径之一：
1. Windows Server 2008 R2 及更早版本：
   ```
   %SystemDrive%\inetpub\logs\LogFiles\W3SVC<站点ID>
   ```
   
2. Windows Server 2012 R2 及更新版本（包括Windows 10上的IIS）：
   ```
   %SystemDrive%\inetpub\logs\LogFiles\<站点名称>
   ```
   
3. 通过IIS管理器配置：
   1. 打开IIS管理器：在Windows搜索栏中输入"Internet Information Services (IIS) 管理器"并打开它。 或者您可以在"控制面板" -\> "管理工具"中找到IIS管理器。
   
   2. 导航到站点：
      - 在IIS管理器左侧的导航窗格中，展开您的服务器名称。
      
      - 接着，您会看到"网站"或"应用程序池"等条目。单击"网站"来查看您的网站列表。
      
      - 在网站列表中，找到您想要配置日志的特定网站，然后单击它。
       
   
   3. 配置日志设置：
      - 在选定的网站下，双击"日志记录"以打开日志设置。
      
      - 在右侧窗格中，您会看到当前日志文件的存储位置和其他相关设置。
       
   
   4. 修改日志文件目录：
      - 在右侧窗格中，找到"目录"部分，单击旁边的"浏览"按钮。
      
      - 这将打开一个文件浏览器窗口，允许您选择新的日志文件存储位置。
      
      - 选择您想要放置日志文件的文件夹，然后单击"确定"。
       
    
 
