vnStat - การตรวจสอบเครือข่ายที่ใช้คอนโซลน้ำหนักเบา
vnStatเป็นเครื่องตรวจสอบการรับส่งข้อมูลเครือข่ายแบบคอนโซลสำหรับ Linux และ BSD ที่เก็บบันทึกการรับส่งข้อมูลเครือข่ายสำหรับส่วนต่อประสานที่เลือก มันใช้สถิติอินเตอร์เฟสเครือข่ายที่จัดทำโดยเคอร์เนลเป็นแหล่งข้อมูล ซึ่งหมายความว่า vnStat จะไม่ดมกลิ่นการรับส่งข้อมูลใด ๆ และยังช่วยให้มั่นใจได้ว่าการใช้ทรัพยากรระบบมีน้อย
ในบทช่วยสอนนี้เราจะตรวจสอบ:
- คุณสมบัติ
- การติดตั้ง
- องค์ประกอบ
- เริ่มบริการ Systemd
- การใช้งาน (จากบรรทัดคำสั่ง)
- ตัวอย่างการแสดงผลแบบเรียลไทม์ Conky
คุณสมบัติ
- ติดตั้งและใช้งานง่ายและรวดเร็ว
- สถิติที่รวบรวมไว้ยังคงมีอยู่ผ่านการรีบูตระบบ
- สามารถตรวจสอบหลายอินเตอร์เฟสในเวลาเดียวกัน
- ตัวเลือกเอาต์พุตหลายตัว
- สรุป, รายชั่วโมง, รายวัน, รายเดือน, รายสัปดาห์, สูงสุด 10 วัน
- เอาต์พุตภาพ png เผื่อเลือก (โดยใช้ libgd)
- สามารถกำหนดค่าเดือนเพื่อติดตามรอบบิล
- แสงใช้ทรัพยากรน้อยที่สุด
- การใช้ cpu ต่ำเดียวกันโดยไม่คำนึงถึงปริมาณการใช้งาน
- สามารถใช้งานได้โดยไม่มีการอนุญาตรูท
- เครื่องมือแก้ไขการกำหนดค่าสีออนไลน์
การติดตั้ง
nvStat อยู่ในที่เก็บอย่างเป็นทางการดังนั้นจึงไม่จำเป็นต้องเชื่อมโยงไปยัง ppa ใหม่ หากต้องการติดตั้งให้สร้างอินสแตนซ์ของ Terminal โดยใช้Ctrl+ Alt+ Tและพิมพ์ที่พรอมต์:
sudo apt-get update
sudo apt-get install vnstat
หลังจากการติดตั้งเปิด Terminal ของคุณสำหรับส่วนต่อไปนี้ ไม่จำเป็นต้องรีบูต
องค์ประกอบ
เลือกอินเทอร์เฟซเครือข่ายที่ต้องการและแก้ไขตัวแปรอินเทอร์เฟซ /etc/vnstat.conf
ตามลำดับ ในรายการอินเตอร์เฟสทั้งหมดที่มีให้ vnstat ใช้:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
ในการเริ่มต้นตรวจสอบอินเทอร์เฟซเฉพาะคุณต้องเริ่มต้นฐานข้อมูลก่อน แต่ละอินเตอร์เฟสต้องการฐานข้อมูลของตัวเอง คำสั่งเพื่อเริ่มต้นหนึ่งสำหรับอินเตอร์เฟส eth0 คือ:
sudo vnstat -u -i enp59s0
เริ่มบริการ Systemd
หลังจากแนะนำอินเตอร์เฟสแล้วตรวจสอบไฟล์ปรับแต่ง คุณสามารถเริ่มกระบวนการตรวจสอบผ่านsystemd
:
sudo systemctl start vnstat.service
ในการทำให้บริการนี้ใช้งานอย่างถาวร:
sudo systemctl enable vnstat.service
จากนี้ไปvnstat
จะเป็นการรวบรวมการใช้งานเครือข่ายในพื้นหลังโดยใช้ CPU เพียงเล็กน้อยซึ่งจะไม่ปรากฏในรายการกระบวนการ 9 อันดับแรกของ conky (การตรวจสอบระบบ) (บนเครื่องของฉัน)
การใช้งาน (จาก Command Line)
สอบถามปริมาณการใช้เครือข่าย:
vnstat -q
การดูการใช้งานเครือข่ายสด:
vnstat -l
ในการค้นหาตัวเลือกเพิ่มเติมให้ใช้:
vnstat --help
ยอดรวมรายเดือน
หากต้องการดูยอดรวมรายเดือนให้ใช้:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
ตัวอย่างการแสดงผลแบบเรียลไทม์ Conky
Conky เป็น System Monitor ที่นิยมใช้ในการกระจาย Linux คุณสามารถแสดงผลรวมแบนด์วิดท์ของ vnStat ได้ในจอแสดงผลของคุณแบบนี้:
.gif 30 วินาทีในส่วนที่เกี่ยวข้องของ Conky
รหัส Conky ในการผลิตจอแสดงผลนี้คือ:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
เพื่อประหยัดพื้นที่เดสก์ทอปแคบ Conky หน้าต่างการใช้งานของฉัน "G" แทน "กิ๊บ", "เอ็ม" แทน "เอ็มไอ" ฯลฯ ถ้าคุณมีหน้าจอเพิ่มเติมเปลี่ยนแปลงอสังหาริมทรัพย์substr ($10, 1, 1)
ไปและทำเช่นเดียวกันสำหรับ$10
$9
คุณอาจจะต้องเปลี่ยนenp59s0
ไปeth0
, wlan0
หรือeth1
อื่น ๆ ifconfig
ขึ้นอยู่กับชื่อเครือข่ายของคุณรายงานโดย
vnstat