วันศุกร์ที่ 27 กันยายน พ.ศ. 2556

การอ่าน File .Log ออกมาด้วย PHP


การอ่าน File .Log ออกมาด้วย PHP


ในการอ่าน File Log ออกมานั้นเราสามารถใช้ Function "fopen();" ได้เลย
เช่น

<?php

          $handle = fopen("c:\\folder\\authen.log", "r");

?>

อธิบายคือ สร้างตัวแปร $handle เพื่อใช้ในการเปิด file แล้ะใช้คำสั่ง fopen("file_path","mod");

mod คือกำหนดว่าจะทำอะไรกับ file

"r"      >> เปิดเพื่อการอ่านเพียงอย่างเดียว
"r+"    >> เปิดเพื่อการอ่านและเขียน มีการวาง file pointer ที่ต้น file
"w"     >> เปิดเพื่อเขียนอย่างเดียว
"w+"   >> เปิดเพื่อการอ่านและเขียน มีการวาง file pointer ที่ต้น file และถ้าไม่มี file นั้นอยู่จะทำการสร้างขึ้นมา
"a"      >> เปิดเพื่อเขียนอย่างเดียว มีการวาง file pointer ส่วนท้ายของ file และถ้าไม่มี file นั้นอยู่จะทำการสร้างขึ้นมา
"a+"    >> เปิดเพื่อการอ่านและเขียน มีการวาง file pointer ส่วนท้ายของ file และถ้าไม่มี file นั้นอยู่จะทำการสร้างขึ้นมา


ตัวอย่าง Code Progream

<?

     $FileName = "data/test1.log"; <<สร้างตัวแปร $FileName เพื่อเก็บชื่อ file
     $objOpen = fopen($FileName, 'r'); <<สร้างตัวแปร $objOpen เพื่อทำการเปิด file
     if ($objOpen) <<ตรงนี้แค่ตรวจสอบว่า การเปิด file ถูกต้องหรือไม่
              {
                     while (!feof($objOpen)) <<จบไฟล์หรือยังถ้ายังให้ทำต่อ
                         {
                            $file = fgets($objOpen, 4096); << อ่าน file มาทีละบรรทัด 4096 นั้นเป็น length

                            echo $file."<br>"; << แสดงข้อมูล

                          }
                      fclose($objOpen); <<เมื่อทำเสร็จให้ปิด file ด้วยนะ

              }


?>


**หากจะ coppy code กรุณาเอา <<และคอมเม้น ออกด้วยนะครับ^^!

อธิบายบาง function

feof เป็น function ที่ใช้ตรวจดุว่า จบ file หรือยัง
fgets ใช้เป็นตัวอ่าน file มาทีละบรรทัด
4096 นั้นเป็น length ของตัวอักษรที่จะอ่านออกมานะครับ
           - ถ้า length น้อยกว่าที่บรรทัดนั้นๆมีข้อมูลก็จะอ่านบรรทัดนั้นๆหลายรอบ
           - ถ้า length มากกว่าที่บรรทัดนั้นๆมีก็จะอ่านแค่หมดบรรทัด



รายละเอียดเพิ่มหาอ่านได้ที่

http://www.php.net/manual/en/function.fopen.php
http://code.function.in.th/php/file/fgets



วันพุธที่ 4 กันยายน พ.ศ. 2556

Structure Log Analysis



Structure Log Analysis

                                                                          โครงสร้างการวิเคราะห์ ล็อก



บทความนี้ผมเขียนจากการที่แปลและทำความเข้าใจมาจาก
Reference: Dileepa Jayathilake 99X Research 99X Technology Colombo, Sri Lanka 


ในการใช้งานการวิเคราะห์ Log นั้นบุคคล องค์กร หรือกลุ่มคน ที่ใช้การวิเคราะห์ Log อย่างเห็นได้ชัดก็จะมี
1 .Tester ใช้ application log ในการตรวจสอบ การทำงานหรือ function ของ software ว่าตรงตาม spec หรือไม่


2 .System administrators ใช้ในการ monitor system health และ ตรวจสอบพฤติกรรมที่ไม่พึงประสงค์ใด ๆ ในระบบ เพราะการทำงานของระบบส่วนใหญ่และการใช้งานระบบของ user จะถูกเก็บไว้ใน log file พวกมันจึงเป็นส่วนที่สำคัญในระบบนอกจากนี้ รอยรั่วของระบบ บางรอยรั่วจะสามารถระบุได้ง่ายขึ้นจากการใช้ Security warning logs

3 .Police ตำรวจใช้ Log ในการสืบหาตัวผู้กระทำผิดทางคอมพิวเตอร์ ซึ่งมีทั้งการ โจมตีระบบ เข้าสู่ระบบโดยไม่ได้รับอนุญาติ การขโมยข้อมูลซึ่งเป็นสิ่งผิดกฎหมายและ ผิดทั้งเรื่องความเป็นส่วนตัวของบุคคลหรือองค์กร Log จึงเป้นสึ่งสำคัญมากในการบอกตัวคนร้ายที่เข้ามากระทำความผิดทางคอมพิวเตอร์แก่ระบบ

4 .Developer ใช้ Log ในการวิเคราะห์โปรแกรม Unit ต่างๆว่ามี ส่วนใหนของโปรแกรม Unit ที่มีข้อผิดพลาดเกิดขึ้น และต้องแก้ตรงใหน

 Structured Log Analysis Framework โครงสร้างของการวิเคราะห์ ล็อก





ในนี้เราจะอธิบายส่วนประกอบใน Structured Log Analysis Framework

 Log data extraction เป็นตัวสร้าง tree data structure เป็นภาษา ที่ใช้ในการสกัดข้อมูล ซึ่งเราเรียกว่า Log Data Extraction Language (LDEL)

Inference engine จะใข้ข้อมูลที่ถูกสกัดเป็น tree data structure แล้วมาใช้เป็น input ในตัว Mind Maps เราเรียกมันว่า Mind Maps Language (MML)

User interface engine จะใช้ trees เพื่อนำเสนอ บน dashboard และเป็นตัวแสดงผลให้นักวิเคราะห์ใช้งานมัน จะมีการแสดงผลพร้อมกับเวลาเพื่อให้นักวิเคราะห์เข้าใจได้มากขึ้น

Data manager ทำหน้าที่ รับผิดชอบ ดูแลข้อมูลต่างๆในระบบ โดยทั่วไปแล้ว ในส่วนติดต่อข้อมูลต่างๆจะถูกเก็บไว้ในส่วนนี้ และเมื่อจะเรียกใช้ข้อมูลก็จะทำการ plug-in เอา

In-memory data เป็นข้อมูลที่จะถูกจัดเก็บลงในหน่วยความจำ หรือข้อมูลบางอย่างที่ไม่ได้เก็บลงฐานข้อมูลนั่นเอง

SQLite เป็นฐานข้อมูลที่ใช้ไว้เก็บ ข้อมูลต่างๆในระบบ Log analysis