IIS中WEB服务器的日志存放到SQL Server 2005中

IIS中WEB服务器的日志存放到SQL Server 2005中

大家好,又见面了,我是全栈君。


随着Internet的速度发展,几乎各个政府部门、公司、大专院校、科研院所等都在打算构建或正在建设自己的网站。在这个过程中,大家会遇到各种各样的问题。对Web服务器的运行和访问情况进行详细和周全地分析,可以及时了解网站运行情况,发现网站存在的不足,促进网站更好地发展,它的重要性是不言而喻的。

对于所有的管理员来说,保证网站稳定正常运行只是一个最基本的工作,管理Web
网站不只是监视Web
的速度和Web
的内容传送。它不仅要关注服务器每天的吞吐量,还要了解这些Web
网站的访问,了解网站各页面的访问情况。根据各页面的点击频率来改善网页的内容和质量,提高内容的可读性,以及跟踪包含有商业交易的步骤及管理Web
网站的一些可怕数据等(
如入侵行为)
。但这一切的一切都要依据WEB
日志,所以WEB
日志的存放就是一个很重要的内容。
可以为单个网站或 FTP 
站点选择日志格式。如果站点已启用日志记录,可以为该站点的单独目录禁用或启用日志。
 
日志文件格式
可使用下列格式在 Web 
服务器上记录用户活动:
W3C 
扩展日志文件格式
IIS 
日志文件格式
NCSA 
公用日志文件格式
ODBC 
日志记录
集中的二进制日志记录
 
W3C 
扩展日志文件格式、IIS 
日志文件格式和 NCSA 
公用日志文件格式都是 ASCII 
文本格式(除非为网站启用了 UTF-8
)。W3C 
扩展和 NCSA 
公用格式用四位年份的格式来记录日志数据。IIS 
格式对于 1999 
年和以前的年份使用两位年份格式,对于 1999 
年以后的年份使用四位年份格式。对于 NCSA 
 IIS 
日志文件格式,为每个请求记录的数据是固定的。但是,W3C 
扩展允许您选择要为每个请求记录的属性。
 
W3C 
扩展日志文件格式
W3C 
扩展格式是一个包含多个不同属性、可自定义的 ASCII 
格式。可以记录对您来说重要的属性,同时通过省略不需要的属性字段来限制日志文件的大小。属性以空格分开。时间以 UTC 
形式记录。
以下示例显示了使用下列属性的文件语句:时间、客户端 IP 
地址、方法、URI 
资源、协议状态和协议版本。
#Software: Internet Information Services 6.0
#Version: 1.0
#Date: 2001-05-02 17:42:15
#Fields: time c-ip cs-method cs-uri-stem sc-status cs-version
17:42:15 172.16.255.255 GET /default.htm 200 HTTP/1.0
 
上面所示的项目表明:2001 
 5 
 2 
日下午 5:42 (UTC)
HTTP 
版本为 1.0
IP 
地址为 172.16.255.255 
的用户针对 /Default.htm 
文件发出了 HTTP GET 
命令。该请求正确无误地返回。#Date: 
属性字段表明了第一个日志项目建立的时间,也就是创建日志的时间。#Version: 
属性字段指出使用的是 W3C 
扩展日志记录格式。
 
可以选择任何属性,但某些属性可能没有可用于某些请求的信息。对于那些选中了但其中没有信息的属性,连字符 (-) 
作为占位符出现在日志文件的属性字段中。
 
IIS 
日志文件格式
IIS 
格式是固定的(不能自定义的) ASCII 
格式。IIS 
格式比 NCSA 
公用格式记录的信息多。IIS 
格式包括一些基本项目,如用户的 IP 
地址、用户名、请求日期和时间、服务状态码和接收的字节数。另外,IIS 
格式还包括详细的项目,如所用时间、发送的字节数、动作(例如,GET 
命令执行的下载)和目标文件。这些项目用逗号分开,使得格式比使用空格作为分隔符的其他 ASCII 
格式更易于阅读。时间记录为本地时间。
 
当在文本编辑器中打开 IIS 
格式的文件时,项目与下面的示例相似:
 
192.168.114.201, -, 03/20/01, 7:55:20, W3SVC2, SALES1, 172.21.13.45, 4502, 163, 3223, 200, 0, GET, /DeptLogo.gif, -,
 
172.16.255.255, anonymous, 03/20/01, 23:58:11, MSFTPSVC, SALES1, 172.16.255.255, 60, 275, 0, 0, 0, PASS, /Intro.htm, -,
 
上面所示的项目将在下面的表中加以说明。每个表的顶行来自第二个网站实例(以 W3SVC2 
形式出现在“服务”下面),底行来自第一个 FTP 
站点实例(以 MSFTPSVC1 
形式出现在“服务”下面)。由于页宽所限,该示例出现在三个表中。
 
IIS中WEB服务器的日志存放到SQL Server 2005中

在上面的示例中,第一个项目表明:2001 
 3 
 20 
日上午 7:55
IP 
地址为 192.168.114.201 
的匿名用户发出一条 HTTP GET 
命令,从 IP 
地址为 172.21.13.45
、名为 SALES1 
的服务器请求图像文件 /DeptLogo.gif
163 
字节的 HTTP 
请求有 4502 
毫秒(4.5 
秒)的处理时间来完成,并将 3223 
个字节的数据毫无错误地返回给匿名用户。
 
在日志文件中,所有属性字段都以逗号 (,) 
结束。如果某个属性值无效,则连字符 (-) 
起占位符的作用。
 
NCSA 
公用日志文件格式
(美国)国家超级计算技术应用中心 (NCSA) 
公用格式是一种固定的(不能自定义的)ASCII 
格式,可用于网站但不能用于 FTP 
站点。NCSA 
公用格式记录了关于用户请求的基本信息,如远程主机名、用户名、日期、时间、请求类型、HTTP 
状态码和服务器发送的字节数。项目之间用空格分开;时间记录为本地时间。
 
当在文本编辑器中打开 NCSA 
公用格式文件时,项目与下面的示例相似:
 
172.21.13.45 – Microsoft\fred [08/Apr/2001:17:39:04 -0800] “GET /scripts/iisadmin/ism.dll?http/serv HTTP/1.0” 200 3401
 
 
注意 
在前面的项目中,第二个属性字段(显示用户的远程登录名)是空的,它由 IP 
地址 172.21.13.45 
后面的连字符表示。
 
以上示例的项目在下面的表中说明。由于页宽所限,该示例显示在两个表中。
 
IIS中WEB服务器的日志存放到SQL Server 2005中
上面的项目表明:Microsoft 
域中 IP 
地址为 172.21.13.45
、名为 Fred 
的用户在 2001 
 4 
 8 
日下午 5:39 
分发出一条HTTP GET 
命令(即,下载一个文件)。该请求将 3401 
个字节的数据正确无误地返回给名为 Fred 
的用户。
 
集中的二进制日志记录
集中的二进制日志记录是多个网站向单个日志文件中写入不带格式的二进制日志数据的过程。每个运行 IIS 
 Web 
服务器都为该服务器上的所有站点创建了一个日志文件。集中的二进制日志记录可节省宝贵的内存资源。根据您的配置,利用集中的二进制日志记录可以大大提高性能和可伸缩性。
 
ODBC 
日志记录
ODBC 
日志记录格式是对符合开放式数据库连接 (ODBC) 
的数据库(Microsoft Access 
 Microsoft SQL Server
™)中一组固定的数据属性的记录。记录的某些项目中包含有用户的 IP 
地址、用户名、请求日期和时间(记录为本地时间)、HTTP 
状态码、接收字节、发送字节、执行的操作(例如,GET 
命令执行的下载)和目标(例如,下载的文件)。对于 ODBC 
日志记录,必须指定要登录的数据库,并且设置数据库接收数据。
 
当启用 ODBC 
日志记录时,IIS 
会禁用内核模式缓存。因此,执行 ODBC 
日志记录可能会降低服务器的总体性能。
 
下面我们来详细看一下如何将WEB
服务器的日志存放到SQL SERVER2005
   
IIS
站点日志记录到数据库中的方法如下:
   1,
在目标服务器的SQL
里建个数据库,
例如,WEBLOG
 
IIS中WEB服务器的日志存放到SQL Server 2005中
IIS中WEB服务器的日志存放到SQL Server 2005中
 
 3,

IIS
服务器上
,
打开
ODBC
管理器
,
建立一个系统
DSN,DSN
名叫
WEBLOG,
驱动选择
SQL SERVER,
服务器就输入
SQL SERVER
服务器的
IP
地址
,
验证
,SQL SERVER
验证
,
输入用户名和密码
,
数据库选择刚建好的WEB
LOG
数据库
,
最后
,
测试
,
通过了就
OK.
IIS中WEB服务器的日志存放到SQL Server 2005中
 
IIS中WEB服务器的日志存放到SQL Server 2005中
 
 
IIS中WEB服务器的日志存放到SQL Server 2005中

再到 SQL SERVER
中查看数据表中应该已经有数据了:
 
IIS中WEB服务器的日志存放到SQL Server 2005中





 本文转自 dufei 51CTO博客,原文链接:http://blog.51cto.com/dufei/81337,如需转载请自行联系原作者

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107931.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 模块管理常规功能自己定义系统的设计与实现(31–第三阶段 权限设计[1])

    模块管理常规功能自己定义系统的设计与实现(31–第三阶段 权限设计[1])

  • .net mvc5_mvc工作流程

    .net mvc5_mvc工作流程作者:josh-jw介绍我们可以在web页面用HTML表格元素定义WebGrid显示数据,它以非常简单的方式呈现表格数据,支持自定义格式列,分页,排序,并通过AJAX异步更新。WebGrid主要属性:Source-数据来自哪里。通常情况下,通过controlleraction传递modelDefaultSort-定义如何将数据排序。只要在这里提供列名。RowsPerPage-每页表格显示…

  • 控制反转和依赖注入

    控制反转和依赖注入控制反转和依赖注入

  • java对象转换为json字符串_java中将字符串转换为json

    java对象转换为json字符串_java中将字符串转换为json概要Jackson是基于java平台的json处理框架。Jackson提供了三种可选的json处理方法:流式API、树模型、数据绑定(dataBinding),其中数据绑定是最常用的处理方式;本文主要介绍数据绑定的处理方式。java对象与json字符串互相转换java对象与json字符串互相转换的关键就是ObjectMapper对象的writeValue()方法和readValue()方法;其中json字符串可以字符串的形式传入/传出,也可以以文件的形式传入/传出,见wri.

  • ScheduledExecutorService 实现定时任务「建议收藏」

    ScheduledExecutorService 实现定时任务「建议收藏」ScheduledExecutorService实现定时任务一、背景二、ScheduledExecutorService(java.util.concurrent并发包引进)附:代码1.Main.java2.TaskService.java3.application.ymlGitHub:link. 欢迎star一、背景项目升级版本之后,新加了一些需求,其中有一个需要每天定时清理数据的业务逻辑。第一时间想到的实现方法是while循环里做sleep,想想好像有点low,就特此了解了一些Java实现定

  • leetcode-2两数相加[通俗易懂]

    leetcode-2两数相加[通俗易懂]原题链接给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号