สนับสนุนเว็บ

ผู้เขียน หัวข้อ: [ MRTG ] วิธีอ่านข้อมูลที่เก็บอยู่ใน MRTG  (อ่าน 278 ครั้ง)

0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

Permalink: [ MRTG ] วิธีอ่านข้อมูลที่เก็บอยู่ใน MRTG

18/ธ.ค./13 หัวข้อไอดี: 16040835 | ลิ้งค์หัวข้อ: /topic/16040835

ออฟไลน์ นๅยด้ามขวาน

  • ออฟไลน์
  • 49115
    30336
    64884



  • Administrator
  • *****
  • สมัครสมาชิกเมื่อ 17/07/2009
    YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
  • กระทู้ : 49115
  • Like Post : 64884
  • Peny : 30336
  • 16

    • ดูรายละเอียด


  • เข้าใช้งานล่าสุดเมื่อ 04/ธ.ค./19


วิธีอ่านข้อมูลที่เก็บอยู่ใน MRTG

เวลาเราแสดงกราฟด้วย MRTG ใช้ไปนานๆ เกิดอยากจะรู้ว่า ข้อมูลที่อยู่ในกราฟเก็บเท่าไหร่ เมื่อวันไหน เวลาไหน จะทำไงดี ?

ผมเลยเขียน PHP มาอ่านค่า Log ดังนี้ครับ

โค๊ด: [Select]
<?php
        $filename 
'/var/www/mrtg/mail/mail-member.log';
        
$data='';
        
$handle=fopen($filename,'r');
        while(
$buffer=fread($handle,1024)){
                
$data .=$buffer;
        }
        
fclose($handle);
        
$rows split("\n",$data);
        foreach(
$rows as $row) {
                
$f split(" ",$row);
                echo 
date("Ymd-His",$f[0]) .  $f[1]  $f[2]"\n";
        }

?>
หลักการคือ mrtg จะเก็บค่าที่แสดงในกราฟไว้ในไฟล์ .log อย่างของผมเก็บไว้ที่ '/var/www/mrtg/mail/mail-member.log'

ซึ่งจะแบ่งออกมาเป็น 5 ฟิลด์

ฟิลด์แรกเก็บค่าของ timestamp อีก 4 ฟิลด์ เก็บค่าของตัวเลขที่แสดงบนกราฟ

วิธีของผมคือ อ่านข้อมูลจากไฟล์ มาเก็บใน array แล้ว ก็แยกค่าใน array ทีละบรรทัด แล้วใช้ฟังก์ชั่น date แปลง timestamp ออกมาเป็นรูปแบบวันที่ตามต้องการครับ

แค่นี้เราก็รู้แล้วว่า มันเก็บค่าอะไรอยู่ เมื่อวันที่เท่าไหร่ครับผม

ขอบคุณ psu.ac.th

LikePost โดย 0 สมาชิก :


 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 
ร่วมขับเคลื่อนโดย