วิธีการเขียน Script ตรวจสอบ Server Performance สำหรับเครื่อง Linux Server

ขอนำเสนอ PHP Script และ Terminal linux program สำหรับใช้ Monitor Server Performance สำหรับ Ubuntu Linux ดังนี้

คำสั่งตรวจสอบ Hostname

hostname -A

วิธีตรวจสอบ Traffic จาก ifconfig ด้วย PHP5 Script

<?php
//Net Traffic
exec("ifconfig | grep 'RX bytes'",$net);
$neteth0 = explode(":",$net[0]);
$netin1 = explode(" ",$neteth0[1]);
$netin = $netin1[0];
$netout1 = explode(" ",$neteth0[2]);
$netout = $netout1[0];
unset($net);
unset($neteth0);
unset($netin1);
unset($netout1);
exec("cat net.db",$nethistory);
$hnet = explode(":",$nethistory[0]);
$diff = time()-$hnet[0];
$cnetin = round(($netin-$hnet[1])/$diff,0);
$cnetout = round(($netout-$hnet[2])/$diff,0);
unset($nethistory);
exec("echo ".time().":".$netin.":".$netout." > net.db");
echo date("d-m-Y H:i:s",time())." Traffic In : ".$cnetin.", Traffic Out : ".$cnetout;
?>

วิธีการตรวจสอบ CPU จาก /proc/cpuinfo ด้วย PHP5 Script

<?php
//CPU
exec("cat /proc/cpuinfo | grep MHz | head -1",$clockrate);
exec("cat /proc/cpuinfo | grep MHz | wc -l",$cpucount);
$clockrate1 = explode(":",$clockrate[0]);
$maxcpu = trim($clockrate1[1])*$cpucount[0];
unset($clockrate);
unset($clockrate1);
unset($cpucount);
exec("vmstat 1 2 | tail -1 | awk '{ print $15 }'",$pcpufree);
$pcpuuse = 100-$pcpufree[0];
$cpuuse = round(($pcpuuse*$maxcpu)/100,0);
unset($pcpufree);
echo "MAX CPU Speed : ".$maxcpu." MHz\n";
echo "CPU Use : ".$cpuuse." MHz (".$pcpuuse." %)\n";
?>

วิธีการตรวจสอบ Memory จาก free -m ด้วย PHP5 Script

<?php
//MEM
exec("free -m | grep Mem: | awk '{print $2\":\"$3}'",$ram);
$ramraw = explode(":",$ram[0]);
$ramtotal = $ramraw[0];
$ramuse = $ramraw[1];
$pramuse = round(($ramuse/$ramtotal)*100,0);
unset($ram);
unset($ramraw);
echo "MAX RAM : ".$ramtotal." MB\n";
echo "MEMORY Use : ".$ramuse." MB (".$pramuse." %)\n";
?>

คำสั่งตรวจสอบ Connection (ยกตัวอย่างเฉพาะ port 80)

netstat -na | grep 192.168.99.1:80 | wc -l

คำสั่งตรวจสอบ Unique IP (ยกตัวอย่างเฉพาะ port 80)

netstat -na | grep 192.168.99.1:80 | sed 's/::ffff://g' | awk '{print $5}' | cut -f 2 -d ' ' | cut -f 1 -d ':' | sort | uniq | wc -l

จะเห็นได้ว่าเราสามารถเขียน script monitor ได้หลากหลายมุมมอง ได้ตามต้องการเลยครับ

Share the Post:

Related Posts

ทำความรู้จักกับ Outlook บนเว็บ

Post Views: 5 Outlook เป็นเครื่องมือจัดการอีเมลและปฏิทินที่ทรงพลัง ซึ่งช่วยให้คุณมีระเบียบและเพิ่มความสามารถในการทำงาน ด้วยอินเทอร์เฟซที่ใช้งานง่าย คุณสามารถจัดการกล่องขาเข้าของคุณ นัดหมาย และทำงานร่วมกับเพื่อนร่วมงานได้อย่างง่ายดาย ฟีเจอร์ที่แข็งแกร่งของ Outlook รวมถึงแม่แบบอีเมลที่ปรับแต่งได้ ความสามารถในการค้นหาขั้นสูง และการผสานรวมที่ไร้รอยต่อกับแอปพลิเคชัน Microsoft Office อื่นๆ ไม่ว่าคุณจะเป็นมืออาชีพที่ยุ่งอยู่หรือเป็นนักเรียนที่ต้องจัดการกับภารกิจหลายอย่าง Outlook

Read More

[บันทึกกันลืม] JupyterHub Authenticated with OIDC

Post Views: 36 ต่อจากตอนที่แล้ว [บันทึกกันลืม] JupyterHub ด้วย Docker คราวนี้ ถ้าต้องการให้ ยืนยันตัวตนด้วย OpenID เช่น PSU Passport เป็นต้น ก็ให้ทำดังนี้ ในไฟล์ jupyterhub_config.py ใส่

Read More