1. 程式人生 > >shell指令碼實現linux系統監控

shell指令碼實現linux系統監控

一、系統監控要監控什麼?

  1. 硬體
    CPU:
[[email protected] ~]# top | sed -n '3p'

記憶體:
檢視系統記憶體的使用情況:

硬碟:
檢視磁碟的使用情況

  1. 系統
    負載:
    系統執行時間:
    檢視作業系統的版本:
    檢視主機名:
    檢視核心的版本:
    系統程序:

  2. 網路
    檢視內網地址:

[[email protected] ~]# ifconfig | sed -n '2p' | cut -d: -f2 |awk '{print $1}'

檢視外網地址:

curl members.3322.org/dyndns/getip

檢視DNS:

二、基本命令

  • 檢視記憶體(free):
[[email protected] ~]# free
             total       used       free     shared    buffers     cached
Mem:       1907280     933372     973908       3032      65984     513788
-/+ buffers/cache:     353600    1553680
緩衝區(存放要放入磁碟中讀取的資料)/快取(存放從磁碟讀取出來的資料)   
Swap:      2097148       6020    2091128

  • 檢視磁碟(df)
[[email protected] ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda3        8904744 3816180   4629556  46% /
tmpfs             953092      76    953016   1% /dev/shm
/dev/sda1         487652   79137    382915  18% /boot
/dev/sda2        8904744   20740   8424996   1% /home
/dev/sda5         185035    1550    173720   1% /mnt/disk1
/dev/sda6         185035    1550    173720   1% /mnt/disk2
/dev/sr0         3878870 3878870         0 100% /media/CentOS_6.9_Final
  • 檢視CPU佔用率(top)
    top是Linux下常用的效能分析工具,能夠實時顯示系統中各個程序的資源佔用情況,類似於windows的工作管理員。
[[email protected] ~]# top
top - 22:23:11 up 1 day, 16 min,  5 users,  load average: 0.00, 0.01, 0.00
Tasks: 160 total,   1 running, 159 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.3%sy,  0.0%ni, 98.7%id,  0.8%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1907280k total,   933388k used,   973892k free,    65776k buffers
Swap:  2097148k total,     6020k used,  2091128k free,   513784k cached

第一行:系統當前時間、系統到目前為止已執行的時間、當前登入系統的使用者量、系統負載(三個值分別為1分鐘,5分鐘,15分鐘)
第二行:程序數、正在執行的程序數、掛起的程序數、停止的程序數、殭屍程序數
第三行:使用者空間佔用CPU百分比、核心空間佔用CPU百分比、使用者空間內改變過優先順序的程序佔用百分比、空閒CPU百分比、等待輸入輸出百分比、CPU服務於硬體中段所耗費的時間總額、CPU軟體中斷所耗費的時間總額。
第四行物理區記憶體總量、已經使用的實體記憶體、空閒實體記憶體、核心快取記憶體
第五行交換區總量、已使用交換區總量、空閒交換區總量、緩衝的交換區總量

  • 檢視核心版本(uname):
    uname -a:檢視全部資訊
[[email protected] ~]# uname -a
Linux myp 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

作業系統名稱、主機名稱、作業系統發行編號、#顯示系統時間、x86_64(計算機型別)

[[email protected] ~]# uname -m     主機硬體架構名稱
x86_64
[[email protected] ~]# uname -p     處理器型別
x86_64
[[email protected] ~]# uname -i    硬體平臺
x86_64
[[email protected] ~]# uname -o    作業系統
GNU/Linux
[[email protected] ~]# uname -s  核心名稱
Linux
[[email protected] ~]# uname -r   核心發行編號
2.6.32-754.el6.x86_64
[[email protected] ~]# uname -v   作業系統時間
#1 SMP Tue Jun 19 21:26:04 UTC 2018

檢視網路:nmap
nmap是Linux系統下的網路掃描和嗅探工具包。基本功能有三個,一是探測一組主機是否線上。二是
掃描主機埠。