iislog

چطور لاگ های IIS را بخوانیم و آنالیز کنیم

آیا تا به حال مجبور به تجزیه و تحلیل لاگ های مربوط به وب سرورهای IIS برای معیارهای خاص شده اید؟ این قضیه می تواند کاملاً دردناک و وقت گیر باشد!

وب سرور Microsoft IIS از یک قالب فایل برای لاگ هایش استفاده می کند که به ندرت دیده می شود. لاگ های IIS از یک قالب فایل با فضای محدود استفاده می کنند و همچنین حاوی خط های comment شده هستند. عناوین ستون ها در قسمت comment شده، تعریف شده است. در این مقاله ، ما می خواهیم نگاهی به نحوه تفسیر پرونده های ورود به سیستم IIS بیندازیم.

نحوه تفسیر قالبهای ورود به سیستم IIS

در اینجا چند نکته اصلی وجود دارد که باید در مورد قالب های ورود به سیستم IIS بدانید :

  • IIS ممکن است فایل های لاگ را براساس روز، ساعت و سایت ساخته شده، ایجاد کند
  • خطوطی که با # شروع می شوند، comment هستند
  • هر بار که IIS مجدداً راه اندازی شود، در فایل لاگ نسخه فعلی، تاریخ و فیلدهایی که در زیر آورده شده اند را می نویسد
  • فایل در قالب یک فایل با فرمت فضای محدود شده است
  • فیلدهایی که هیچ مقداری ندارند ، با (-) نشان داده می شوند، زیرا فضاها مجاز نیستند

در زیر مثالی از شکل خروجی یک لاگ IIS آورده شده است. این یک مثال بسیار ساده از یک صفحه وب ASP.NET است که قابل دسترسی است. می بینید که این صفحه همچنین برخی از پرونده های JavaScript و CSS را بارگیری می کند. این مثال عنوان ستون ها و یک خط را نشان می دهد. اینجا به صورت خلاصه نشان داده می شود، زیرا کامل آن طولانی است.

#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) cs(Referer) sc-status sc-substatus sc-win32-status time-taken
2016-09-13 21:45:10 ::1 GET /webapp2 – 80 – ::1 Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/52.0.2743.116+Safari/537.36 – 500 0 0 5502

فیلدهای موجود در لاگ :

Default  Description Appears As Field
Y The date on which the activity occurred date Date
Y The time, in coordinated universal time (UTC), at which the activity occurred time Time
Y The IP address of the client that made the request c-ip Client IP Address
Y The name of the authenticated user who accessed your server. Anonymous users are indicated by a hyphen cs-username User Name
N The Internet service name and instance number that was running on the client s-sitename Service Name and Instance Number
N The name of the server on which the log file entry was generated s-computername Server Name
Y The IP address of the server on which the log file entry was generated s-ip Server IP Address
Y The server port number that is configured for the service s-port Server Port
Y The requested action, for example, a GET method cs-method Method
Y The target of the action, for example, Default.htm cs-uri-stem URI Stem
Y The query, if any that the client was trying to perform. A Universal Resource Identifier (URI) query is necessary only for dynamic pages cs-uri-query URI Query
Y The HTTP status code sc-status HTTP Status
N The Windows status code sc-win32-status Win32 Status
N The number of bytes that the server sent sc-bytes Bytes Sent
N The number of bytes that the server received cs-bytes Bytes Received
N The length of time that the action took, in milliseconds time-taken Time Taken
N The protocol version —HTTP or FTP —that the client used cs-version Protocol Version
N The host header name, if any cs-host Host
Y The browser type that the client used cs(User-Agent)

User Agent

N The content of the cookie sent or received if any cs(Cookie) Cookie
N The site that the user last visited. This site provided a link to the current site cs(Referrer) Referrer
Y The sub status error code sc-substatus Protocol Substatus

نحوه شخصی سازی پرونده های ورود به سیستم IIS

IIS تنظیماتی را برای شخصی سازی لاگ های IIS، در کنسول IIS Manager فراهم می کند. می توانید آنها را در قالب پیش فرض W3C بگذارید یا از قالب های پرونده های IIS ، NCSA یا سفارشی استفاده کنید.

شما همچنین می توانید نحوه برگرداندن لاگ ها را مشخص کنید. این تعیین می کند که آیا یک لاگ جدید به صورت ساعتی ، روزانه ، هفتگی و غیره ایجاد می شود. همچنین می توانید به جای آن حداکثر اندازه لاگ را تعیین کنید.

فیلد هایی که وارد لاگ می شوند نیز می توانند سفارشی شوند. شما می توانید زمینه هایی را که نیازی ندارید حذف کنید ، از برخی فیلد های اختیاری انتخاب کنید یا حتی مال خود را ایجاد کنید. قسمتهای سفارشی باید مقادیری باشند که در هدرهای HTTP یا از متغیرهای سرور موجود باشند.

iis-log

 

نحوه تجزیه و تحلیل لاگ های IIS با استفاده از Log Parser Studio

Log Parser Studio یک ابزار خارق العاده است که دقیقاً برای تجزیه و تحلیل لاگ طراحی شده است. می تواند با استفاده از SQL با query ، قالب های مختلف انواع فایل را تجزیه کند.

برخی از ویژگی های آن عبارتند از:

  • امکان تجزیه انواع فرمت های لاگ از جمله W3SVC / IIS ، CSV ، HTTP و غیره
  • query زدن روی لاگ فایل ها همانند sql
  • گزارش تولید کنید
  • یک اسکریپت PowerShell حاوی query خود ایجاد کنید

نصب Log Parser Studio

  • فریم ورک Log Parser را از لینک زیر دانلود و نصب کنید:

Download Log Parser

  • Log Parser Studio GUI را از لینک زیر دانلود و اجرا کنید:

Download Log Parser Studio

نمایش سریع

در اینجا یک مثال سریع نشان داده شده است که انجام آن در Log Parser Studio آسان است.

  • Log Parser Studio را باز کنید.

 

  • لاگ های گزارش را که می خواهید آنالیز کنید را انتخاب کنید.

log-parser-2

 

  • یک query جدید بسازید.
  • نوع لاگ های خود را مشخص کنید – در مورد ما لاگ های IIS.

log-parser-3

  • query را اجرا کنید و نتیجه را به همراه گزارش ببینید.

log-parser-4

log-parser-5

 

 

نتیجه

Log Parser یکی از برنامه های کاربردی بسیار خوبی است که هر توسعه دهنده ای باید به کیف ابزار خود اضافه کند. قطعاً ارزش دیدن دارد!

2 دیدگاه در “چطور لاگ های IIS را بخوانیم و آنالیز کنیمافزودن → خودتان

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *