怎麼監控 Linux 伺服器狀態?
導讀 | 伺服器我們天天打交道,特別是 Linux 工程師更是如此。為了保證伺服器的安全與效能,我們經常需要監控伺服器的一些狀態,以保證工作能順利開展。 |
本文介紹的幾個 ,不僅僅適用於伺服器監控,也適用於我們日常情況下的開發。
watch 我們的使用頻率很高,它的基本作用是,按照指定頻率重複執行某一條指令。使用這個命令,我們可以重複呼叫一些命令來達到監控伺服器的作用。
預設情況下,watch 命令的執行週期是 2 秒,但我們可以使用 -n 選項來指定執行頻率,比如我們想要每隔 5 秒執行 date 命令,可以這麼執行:
$ watch -n 5 date
一臺伺服器肯定有多人在用,特別是本部門的小夥伴。對於這些小夥伴有沒渾水摸魚,我們可以使用一些命令來監控他們。
我們可以每隔 10 秒執行 who 命令,來看看都有誰在使用伺服器。
$ watch -n 10 who Every 10.0s: who butterfly: Tue Jan 23 16:02:03 2019 shs :0 2019-01-23 09:45 (:0) dory pts/0 2019-01-23 15:50 (192.168.0.5) alvin pts/1 2019-01-23 16:01 (192.168.0.15) shark pts/3 2019-01-23 11:11 (192.168.0.27)
如果發現系統執行很慢,我們可以呼叫 uptime 命令來檢視系統平均負載情況。
$ watch uptime Every 2.0s: uptime butterfly: Tue Jan 23 16:25:48 2019 16:25:48 up 22 days, 4:38, 3 users, load average: 1.15, 0.89, 1.02
一些關鍵的程式肯定不能掛,否則可能會影響到業務開展,所以我們可以重複統計伺服器中的所有程式數量。
$ watch -n 5 'ps -ef | wc -l' Every 5.0s: ps -ef | wc -l butterfly: Tue Jan 23 16:11:54 2019 245
想動態知道伺服器記憶體使用情況,可以重複執行 free 命令。
$ watch -n 5 free -m Every 5.0s: free -m butterfly: Tue Jan 23 16:34:09 2019 total used free shared buff/cache available Mem: 5959 776 3276 12 1906 4878 Swap: 2047 0 2047
當然不僅僅是這些,我們還可以重複呼叫很多命令來對伺服器一些關鍵引數進行監控,
使用 top 命令我們可以知道系統的很多關鍵引數,而且是動態更新的。預設情況下,top 監控的是系統的整體狀態,如果我們只想知道某個人的使用情況,可以使用 -u 選項來指定這個人。
$ top -u alvin top - 16:14:33 up 2 days, 4:27, 3 users, load average: 0.00, 0.01, 0.02 Tasks: 199 total, 1 running, 198 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 5959.4 total, 3277.3 free, 776.4 used, 1905.8 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 4878.4 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 23026 alvin 20 0 46340 7820 6504 S 0.0 0.1 0:00.05 systemd 23033 alvin 20 0 149660 3140 72 S 0.0 0.1 0:00.00 (sd-pam) 23125 alvin 20 0 63396 5100 4092 S 0.0 0.1 0:00.00 sshd 23128 alvin 20 0 16836 5636 4284 S 0.0 0.1 0:00.03 zsh
在這個結果裡,你不僅僅可以看到 alvin 這個使用者執行的所有的程式數,也可以看到每個程式所消耗的系統資源(CPU,記憶體),同時依然可以看到整個系統的關鍵引數。
如果你想知道每個使用者登入伺服器所使用的時間,你可以使用 ac 命令。這個命令需要你安裝 acct 包(Debian)或 psacct 包(RHEL, )。
如果我們想知道所有使用者登陸伺服器所使用的時間之和,我們可以直接執行 ac 命令,無需任何引數。
$ ac total 1261.72
如果我們想知道各個使用者所使用時間,可以加上 -p 選項。
$ ac -p shark 5.24 alvin 5.52 shs 1251.00 total 1261.76
我們還可以透過加上 -d 選項來檢視具體每一天使用者使用伺服器時間之和。
$ ac -d | tail -10 Jan 11 total 0.05 Jan 12 total 1.36 Jan 13 total 16.39 Jan 15 total 55.33 Jan 16 total 38.02 Jan 17 total 28.51 Jan 19 total 48.66 Jan 20 total 1.37 Jan 22 total 23.48 Today total 9.83
我們可以使用很多命令來監控系統的執行狀態,本文主要介紹了三個:watch 命令可以讓你重複執行某一條命令來監控一些引數的變化,top 命令可以檢視某個使用者執行的程式數以及消耗的資源,而 ac 命令則可以檢視每個使用者使用伺服器時間。你經常使用哪個命令呢?
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2699060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2. 監控nginx伺服器502狀態碼Nginx伺服器
- git實戰-linux定時監控github更新狀態(二)LinuxGithub
- PIGOSS BSM 如何實現伺服器硬體狀態監控?Go伺服器
- Docker 之 執行狀態監控Docker
- MySQL MHA 執行狀態監控MySql
- jProfiler遠端連線Linux監控jvm、tomcat執行狀態LinuxJVMTomcat
- 利用superlance監控supervisor執行狀態
- 7. 監控MySQL主從狀態MySql
- 伺服器監控運維方案,一體化智慧觀測伺服器狀態伺服器運維
- Linux伺服器---流量監控ntopLinux伺服器
- Linux伺服器---流量監控webalizerLinux伺服器Web
- Linux伺服器---流量監控MRTGLinux伺服器
- 使用CloudStats監控Linux伺服器CloudLinux伺服器
- Linux伺服器---流量監控bandwidthdLinux伺服器
- 巧用Zabbix自定義監控Mysql效能狀態MySql
- Shell指令碼監控MySQL主從狀態指令碼MySql
- springCloud入門學習--Hystrix狀態監控SpringGCCloud
- 伺服器異常狀態怎麼解決伺服器
- prometheus-新增監控linux伺服器PrometheusLinux伺服器
- 基於websocket的celery任務狀態監控Web
- zabbix應用-監控mysql slave 主從狀態MySql
- 使用 Prometheus 監控 eKuiper 規則執行狀態PrometheusUI
- 在Linux中,記憶體怎麼看?磁碟狀態怎麼看?Linux記憶體
- 雲端計算運維學習---Linux監控tcp連線數及狀態運維LinuxTCP
- 開啟nginx狀態監控,檢視web伺服器的併發連線數NginxWeb伺服器
- Linux 監控Linux
- 使用Nagios打造專業的業務狀態監控iOS
- WGLCOUD 使用手冊 - 監控攝像頭的狀態
- linux檢視伺服器狀態命令--lsloadLinux伺服器
- iStat Menus:Mac系統狀態監控的終極利器Mac
- 【flask】使用prometheus_client監控服務相關狀態FlaskPrometheusclient
- uptime命令檢視Linux伺服器健康狀態Linux伺服器
- 監控 Linux 伺服器活動的幾個命令Linux伺服器
- 手把手教你搭建高逼格監控平臺,第四彈,監控主機存活狀態
- NiosII+GPS/GSM實現汽車狀態監控系統iOS
- 專案實戰:zabbix監控MySQL狀態、服務資訊MySql
- 動態監控程式
- Linux 效能監控工具Linux