應(yīng)用版日常巡檢shell腳本

編程需求:

之前已經(jīng)編寫過一個性能監(jiān)控腳本.現(xiàn)在將其再次進(jìn)行功能的豐富,以達(dá)到企業(yè)生產(chǎn)環(huán)境的需求.

本文中涉及到需保密的內(nèi)容均以...省略,盡請諒解!


源代碼:


#!/bin/bash

#腳本功能描述:監(jiān)控服務(wù)器主要性能參數(shù)指標(biāo)

#監(jiān)控項目:內(nèi)核信息,主機(jī)名稱,IP地址,登錄賬戶,內(nèi)存與swap信息,磁盤信息,CPU負(fù)載

#內(nèi)核信息

kernel=$(uname -r)

#操作系統(tǒng)版本

release=$(cat /etc/redhat-release)

#主機(jī)名稱

hostname=$HOSTNAME

#本地IP地址列表

localip=$(ip a s | awk '/inet /{print $2}')

#總內(nèi)存容量

mem_total=$(free | awk '/Mem/{print $2}')

#剩余內(nèi)存容量

mem_free=$(free | awk '/Mem/{print $NF}')

#總swap容量

swap_total=$(free | awk '/Swap/{print $2}')

#剩余swap容量

swap_free=$(free | awk '/Swap/{print $NF}')

#磁盤信息

disk=$(df | awk '/^\/dev/{print $1,$2,$4}'|column -t)

#CPU最近1分鐘的平均負(fù)載

load1=$(uptime | sed 's/,//g' | awk '{print $(NF-2)}')

#CPU最近5分鐘的平均負(fù)載

load5=$(uptime | sed 's/,//g' | awk '{print $(NF-1)}')

#CPU最近15分鐘的平均負(fù)載

load15=$(uptime | sed 's/,//g' | awk '{print $(NF)}')

#登錄用戶數(shù)量

login_users=$(who | wc -l)

#進(jìn)程數(shù)量

procs=$(ps aux | wc -l)

#系統(tǒng)總賬戶數(shù)量

users=$(sed -n '$=' /etc/passwd)

#CPU型號

cpu_info=$(LANG=C lscpu |awk -F: '/Model name/ {print $2}')

#CPU內(nèi)核數(shù)量

cpu_core=$(awk '/processor/{core++} END{print core}' /proc/cpuinfo)

#安裝性能監(jiān)控軟件

yum -y -q? install sysstat &>/dev/null

echo -e "\033[34m提取磁盤性能指標(biāo),請稍后...\033[0m"

tps=$(LANG=C sar -d -p 1 6 | awk '/Average/' | tail -n +2 |awk '{print "["$2"]磁盤平均IO數(shù)量:"$3}') &

read_write=$(LANG=C sar -d -p 1 6 |awk '/Average/' | tail -n +2 | awk '{print "["$2"]平均每秒讀寫扇區(qū)量:"$4,$5}') &

#中斷數(shù)量

irq=$(vmstat 1 2 |tail -n +4 | awk '{print $11}')

#上下文切換數(shù)量

cs=$(vmstat 1 2|tail -n +4 | awk '{print $12}')

#占用內(nèi)存資源最多的10個進(jìn)程列表

top_proc_mem=$(ps --no-headers -eo comm,rss | sort -k2 -n |tail -10)

#占用內(nèi)存資源最多的10個進(jìn)程列表

top_proc_cpu=$(ps --no-headers -eo comm,rss | sort -k2 -n |tail -10)

#獲取網(wǎng)卡流量信息,接收|發(fā)送的數(shù)據(jù)流量,單位為字節(jié)(bytes)

net_monitor=$(cat /proc/net/dev | tail -n +3 |awk 'BEGIN{ print "網(wǎng)卡名稱 入站數(shù)據(jù)流量(bytes) 出站數(shù)據(jù)流量(bytes)"} {print $1,$2,$10}' | column -t)

#輸出數(shù)據(jù)信息

echo -e "\033[32m************************本機(jī)主要參數(shù)列表********************\033[0m"

echo -e "本機(jī)IP地址列表:\033[32m$localip\033[0m"

echo -e "本機(jī)主機(jī)名稱:\033[32m$hostname\033[0m"

echo -e "操作系統(tǒng)版本為:\033[32m$release\033[0m,內(nèi)核版本:\033[32m$kernel\033[0m"

echo -e "CPU型號為:\033[32m$cpu_info\033[0m,CPU內(nèi)核數(shù)量:\033[32$kernel\033[0m"

echo -e "本機(jī)總內(nèi)存容量:\033[32m$mem_total\033[0m,剩余可用內(nèi)存容量:\033[32m$mem_free\033[0m"

echo -e "本機(jī)swap總?cè)萘?\033[32m$swap_local\033[0m,剩余swap容量:\033[32m$swap_free\033[0m"

echo -e "CPU最近1分鐘,5分鐘,15分鐘的平均負(fù)載分別為:\033[32m$load1 $load5 $load15\033[0m"

echo -e "本機(jī)總賬戶數(shù)量為:\033[32m$users\033[0m,當(dāng)前登錄系統(tǒng)的賬戶數(shù)量:\033[32m$login_users\033[0m"

echo -e "當(dāng)前系統(tǒng)中啟動的進(jìn)程數(shù)量:\033[32m$procs\033[0m"

echo -e "占用CPU資源最多的10個進(jìn)程列表為:"

echo -e "\033[32m$top_proc_cpu\033[0m"

echo -e "占用CPU內(nèi)存資源最多的10個進(jìn)程列表為:"

echo -e "\033[32m$top_proc_mem\033[0m"

echo -e "CPU中斷數(shù)量為:\033[32m$irq\033[0m,CPU上下文切換數(shù)量:\033[32m$cs\033[0m"

echo -e "每個磁盤分區(qū)的總?cè)萘颗c剩余容量信息如下:"

echo -e "$disk"

echo -e "$tps"

echo -e "$read_write"

echo -e "$net_monitor"

echo -e "\033[32m************************巡檢結(jié)束********************\033[0m"


腳本的運行結(jié)果


/root/sys_info.sh

提取磁盤性能指標(biāo),請稍后...

************************本機(jī)主要參數(shù)列表********************

本機(jī)IP地址列表:127.0.0.1/8

....

本機(jī)主機(jī)名稱:? ..............

操作系統(tǒng)版本為:CentOS Linux release 7.5.1804 (Core) ,內(nèi)核版本:............

CPU型號為:? ? ? ? ? ? Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz,CPU內(nèi)核數(shù)量: ...............

本機(jī)總內(nèi)存容量:16324192,剩余可用內(nèi)存容量:14519016

本機(jī)swap總?cè)萘?,剩余swap容量:0

CPU最近1分鐘,5分鐘,15分鐘的平均負(fù)載分別為:1.19 0.44 0.37

本機(jī)總賬戶數(shù)量為:48,當(dāng)前登錄系統(tǒng)的賬戶數(shù)量:2

當(dāng)前系統(tǒng)中啟動的進(jìn)城數(shù)量:247

占用CPU資源最多的10個進(jìn)程列表為:

evolution-calen 65048

gnome-software? 65628

evolution-calen 67732

chrome? ? ? ? ? 74140

sogou-qimpanel? 79252

fcitx? ? ? ? ? 81160

mysqld? ? ? ? ? 91256

chrome? ? ? ? ? 103384

chrome? ? ? ? ? 121404

gnome-shell? ? 171912

占用CPU內(nèi)存資源最多的10個進(jìn)程列表為:

evolution-calen 65048

gnome-software? 65628

evolution-calen 67732

chrome? ? ? ? ? 74140

sogou-qimpanel? 79252

fcitx? ? ? ? ? 81160

mysqld? ? ? ? ? 91256

chrome? ? ? ? ? 103384

chrome? ? ? ? ? 121404

gnome-shell? ? 171912

CPU中斷數(shù)量為:294,CPU上下文切換數(shù)量:292

每個磁盤分區(qū)的總?cè)萘颗c剩余容量信息如下:

/dev/sda2? 103080888? 76076244

/dev/sda1? 307084240? 227897560

/dev/loop0? 9176232? ? 0

網(wǎng)卡名稱? ? ? 入站數(shù)據(jù)流量(bytes)? 出站數(shù)據(jù)流量(bytes)

rhce-nic:? ? ? 0? ? ? ? ? ? ? ? ? ? 0

rhce:? ? ? ? ? 0? ? ? ? ? ? ? ? ? ? 0

private1-nic:? 0? ? ? ? ? ? ? ? ? ? 0

public2-nic:? 0? ? ? ? ? ? ? ? ? ? 0

public1-nic:? 0? ? ? ? ? ? ? ? ? ? 0

private2-nic:? 0? ? ? ? ? ? ? ? ? ? 0

eth0:? ? ? ? ? 2247764? ? ? ? ? ? ? 562741

lo:? ? ? ? ? ? 248? ? ? ? ? ? ? ? ? 248

private1:? ? ? 0? ? ? ? ? ? ? ? ? ? 0

virbr0-nic:? ? 0? ? ? ? ? ? ? ? ? ? 0

virbr0:? ? ? ? 0? ? ? ? ? ? ? ? ? ? 0

private2:? ? ? 0? ? ? ? ? ? ? ? ? ? 0

vbr-nic:? ? ? 0? ? ? ? ? ? ? ? ? ? 0

public2:? ? ? 0? ? ? ? ? ? ? ? ? ? 0

public1:? ? ? 0? ? ? ? ? ? ? ? ? ? 0

vbr:? ? ? ? ? 0? ? ? ? ? ? ? ? ? ? 0

************************巡檢結(jié)束********************


目前本人正在進(jìn)行3.0版本的研究,需要完成對應(yīng)閥值郵件報警的功能;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 編程需求: 日常巡檢是每一個運維必須要做的事情,如果能用腳本實現(xiàn)的話,那將大大簡化巡檢的工作難度! 現(xiàn)編寫一個日常...
    CasonHong97閱讀 1,361評論 2 9
  • 系統(tǒng)巡檢腳本:Version 2016.08.09 ############################ 系統(tǒng)...
    NamasAmitabha閱讀 1,480評論 0 0
  • 分析Linux系統(tǒng)以及狀態(tài)的監(jiān)視,提取Linux操作系統(tǒng)信息,獲取操作系統(tǒng)運行狀態(tài),分析應(yīng)用狀態(tài)nginx,mys...
    KevinCool閱讀 829評論 0 0
  • 1、LVS客戶端自動配置 #/bin/bash VIP=(202.106.195.111 202.106.195....
    妖孽白YoonA_11c3閱讀 898評論 0 0
  • 在安裝完App后會出現(xiàn)兩個按鈕,一個完成,一個打開,點擊打開按鈕,App從引導(dǎo)頁進(jìn)入主頁面后,返回桌面點擊App圖...
    土豆吞噬者閱讀 581評論 0 0

友情鏈接更多精彩內(nèi)容