ubuntu 下系统监视器_Ubuntu系统监控工具
問題描述
我正在尋找系統監視工具,它們是GUI和Cli或基于Web的工具,其中包括基本功能,例如
CPU使用率
公羊使用
交換使用
磁盤使用情況(空間/I /O)
熱監測
我知道有很多工具可以使用,但我正在尋找一種具有這些基本功能的工具。
最佳解決方案
瀏覽 – 關注你的系統
Glances是一款免費軟件(根據LGPL授權),可通過文本界面監控您的GNU /Linux或BSD操作系統。 Glances使用庫libstatgrab從您的系統中檢索信息,并使用Python開發。
Installation
打開終端(Ctrl + Alt + T)并運行以下命令:
從Ubuntu 16.04及以上版本,您只需鍵入sudo apt install glances,但版本2.3 have this bug。其他:
curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash
要么
wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash
手動安裝
sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances
基本用法
要啟動glances,只需在終端中鍵入glances。
通過瀏覽,您可以看到關于系統資源的大量信息:默認情況下,CPU,負載,內存,交換網絡,磁盤I /O和進程全部在一個頁面中,顏色代碼表示:
GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)
當Glances正在運行時,您可以按下一些特殊的鍵給它發送命令:
c: Sort processes by CPU%
m: Sort processes by MEM%
p: Sort processes by name
i: Sort processes by IO Rate
d: Show/hide disk I/O stats
f: Show/hide file system stats
n: Show/hide network stats
s: Show/hide sensors stats
b: Bit/s or Byte/s for network IO
w: Delete warning logs
x: Delete warning and critical logs
1: Global CPU or Per Core stats
h: Show/hide this help message
q: Quit (Esc and Ctrl-C also work)
l: Show/hide log messages
Cpu,Ram,交換監控
磁盤監視
系統熱量監測
如果鍵入glances --help,則會發現(-e啟用傳感器模塊(Linux-only))
glances -e
配置文件
您可以在Glances配置文件中設置閾值,在GNU /Linux上,默認配置文件位于/etc/glances/glances.conf中。
客戶端/服務器模式
此監視工具的另一個有趣功能是,只需鍵入glances -s即可在服務器模式下啟動它,這將為Glances服務器運行在0.0.0.0:61209上提供輸出,現在可以使用glance從另一臺計算機連接到它–c @server其中@server是服務器的IP地址或主機名。
Glances使用XML /RPC服務器,可以被其他客戶端軟件使用。在服務器模式下,您可以設置綁定地址(-B ADDRESS)和偵聽TCP端口(-p PORT),默認綁定地址為0.0.0.0(Glances將監聽所有網絡接口),并且TCP端口為61209.在客戶端模式下,可以設置服務器的TCP端口(-p端口)。在客戶端/服務器模式下,服務器端設置限制。版本1.6引入了一個可選的密碼來訪問服務器(-P密碼),如果在服務器上設置的話,也必須在客戶端上使用。
Update
舉例來說,監控juju容器是如何看起來像Large Image
在終端號1中,Glances在服務器模式下運行,在終端號2中,juju容器正在運行apt-get update&在終端3中glances -c 192.168.1.103 Glances已連接到容器IP
次佳解決方案
indicator-SysMonitor
Indicator-SysMonitor做了一些,但做得很好。一旦安裝并運行,它將顯示頂部面板上CPU和RAM的使用情況。簡單。
Conky的
我個人的最愛之一
Screenlet可以在Ubuntu軟件中心的screenlets-all軟件包中找到一堆不同風格的CPU和RAM監視器。
眼神
安裝:
sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors
VMSTAT
顯示有關CPU,內存,進程等的信息
IOSTAT
該命令行工具將顯示有關CPU的統計信息,硬盤分區的I /O信息,網絡文件系統(NFS)等。要安裝iostat,請運行以下命令:
sudo apt-get install sysstat
要啟動報告,請運行以下命令:
iostat
要僅檢查CPU統計信息,請使用以下命令:
iostat -c
有關更多參數,請使用以下命令:
iostat --help
MPSTAT
mpstat命令行實用程序將顯示每個處理器的平均CPU使用情況。要運行它,只需使用以下命令:
mpstat
對于每個處理器的CPU使用率,請使用此命令:
mpstat -P ALL
Saidar
Saidar還允許通過命令行來監視系統設備活動。
你可以用這個命令來安裝:
sudo apt-get install saidar
要開始監控,請運行以下命令:
saidar -c -d 1
統計信息將每秒刷新一次。
的gkrellm
GKrellM是一個可定制的小部件,具有各種主題,可在桌面系統設備信息(CPU,溫度,內存,網絡等)上顯示。
要安裝GKrellM,請運行以下命令:
sudo apt-get install gkrellm
Monitorix
Monitorix是另一個具有用于監視系統設備的web-based用戶界面的應用程序。
使用以下命令安裝它:
sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix
通過此URL啟動Monitorix:
http://localhost/monitorix/
第三種解決方案
以下是用于監視Linux系統的工具
系統命令如top,free -m,vmstat,iostat,iotop,iotop,sar,netstat等等。當您調試問題時,沒有任何東西在這些linux實用程序附近出現。這些命令為您提供了一個清晰的畫面,它將進入您的服務器
SeaLion:代理執行#1(也是用戶定義的)中提到的所有命令,這些命令的輸出可以在漂亮的Web界面中訪問。當您在數百臺服務器上進行調試時,此工具非常方便,因為安裝非常簡單。它的免費
Nagios:它是所有監視/警報工具的母親。這是非常多的定制,但非常難以為初學者設置。有幾套叫做nagios插件的工具涵蓋了幾乎所有重要的Linux指標
穆寧
服務器密度:一種基于云計算的付費服務,可收集重要的Linux指標并為用戶編寫自己的插件提供支持。
New Relic:另一個眾所周知的托管監控服務。
ZABBIX
第四種方案
在過去的幾年中,我使用了:
可從軟件中心獲得
第五種方案
最佳
top是監控軟件,列出所有CPU /RAM使用情況,整體CPU /RAM使用情況等等。大多數情況下默認安裝
HTOP
htop就像頂級的擴展版本。它具有上述所有功能,但您可以看到子進程并自定義顯示的所有內容。它也有顏色。
iotop
iotop專門用于監控硬核I /O它列出所有進程并顯示其硬盤驅動器的使用情況以供讀取和寫入。
第六種方案
您可能想嘗試sysmon。盡管不像Glances那么華麗,但它非常簡單易用。
如果你想變得骯臟,并在python中做一些腳本,下面是一些使用Python進行系統監控的基礎知識,以幫助你開始。
您需要一個名為psutil的外部模塊來監視大多數事情。使用外部模塊安裝程序最容易,而不是從源代碼構建。
注意:這些例子是用Python 2.7編寫的
sudo apt-get install pip
sudo pip install psutil
現在我們已經安裝了模塊,我們可以開始編碼。
首先,創建一個名為usage.py的文件。
gedit ~/usage.py
從導入psutil開始
import psutil
然后,創建一個函數來監視CPU核心運行的百分比。
def cpu_perc():
cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
for i in range(len(cpu_perc)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
讓我們來分解一下,我們會嗎?
第一行cpu_num = psutil.cpu_percent(interval=1, percpu=True)查找CPU內核運行的百分比,并將其分配到名為cpu_perc的列表。
這個循環就在這里
for i in range(len(cpu_num)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
是一個for循環,打印出每個CPU內核的當前百分比。
我們來添加內存使用情況。
創建一個名為ram_perc的函數。
def ram_perc():
mem = psutil.virtual_memory()
mem_perc = mem.percent
print "RAM: ", mem_perc, "%"
psutil.virtual_memory給出一個數據集,其中包含關于計算機中RAM的不同事實。
接下來,您可以添加一些有關您的網絡的事實。
def net():
net = psutil.net_io_counters()
mbytes_sent = float(net.bytes_sent) / 1048576
mbytes_recv = float(net.bytes_recv) / 1048576
print "MB sent: ", mbytes_sent
print "MB received: ", mbytes_recv
由于psutil.net_io_counters()僅向我們提供有關以字節為單位發送和接收的數據包的信息,因此需要進行一些轉換。
要獲得有關交換空間的一些信息,請添加此功能。
def swap_perc():
swap = psutil.swap_memory()
swap_perc = swap.percent
這個很簡單。
溫度很難做,所以你可能需要做一些自己的研究來弄清楚你的硬件可以使用什么。您將不得不顯示某個文件的內容。
磁盤使用比溫度要容易得多。您需要做的就是通過某個功能傳遞要監控的磁盤(即:/)。
def disks():
if len(sys.argv) > 1:
for disk in range(1, len(sys.argv)):
tmp = psutil.disk_usage(sys.argv[disk])
print sys.argv[disk], "\n"
print "Megabytes total: ",
print str(float(tmp.total) / 1048576)
print "Megabytes used: ",
print str(float(tmp.used) / 1048576)
print "Megabytes free: ",
print str(float(tmp.free) / 1048576)
print "Percentage used: ",
print tmp.percent, "\n"
psutil.disk_usage的原始輸出是這樣的,
>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)
但您也可以只收到total,used,free或percent。
已完成的課程:(上述功能合并)
import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var
def disp(degree):
global cpu_perc
global swap
global swap_perc
global mem
global mem_perc
global net
global mbytes_sent
global mbytes_recv
cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
swap = psutil.swap_memory()
swap_perc = swap.percent
mem = psutil.virtual_memory()
mem_perc = mem.percent
net = psutil.net_io_counters()
mbytes_sent = float(net.bytes_sent) / 1048576
mbytes_recv = float(net.bytes_recv) / 1048576
os.system('clear') #clear the screen
print "-"*30
print "CPU"
print "-"*30
print "CPU Temperature: " , degree, "'C"
for i in range(len(cpu_perc)):
print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"
print "-"*30
print "MEMORY"
print "-"*30
print "RAM: ", mem_perc, "%"
print "Swap: ", swap_perc, "%"
print "-"*30
print "NETWORK"
print "-"*30
print "MB sent: ", mbytes_sent
print "MB received: ", mbytes_recv
print "-"*30
print "DISKS"
print "-"*30
if len(sys.argv) > 1:
for disk in range(1, len(sys.argv)):
tmp = psutil.disk_usage(sys.argv[disk])
print sys.argv[disk], "\n"
print "Megabytes total: ",
print str(float(tmp.total) / 1048576)
print "Megabytes used: ",
print str(float(tmp.used) / 1048576)
print "Megabytes free: ",
print str(float(tmp.free) / 1048576)
print "Percentage used: ",
print tmp.percent, "\n"
def main():
print("Press Ctrl+C to exit")
while True:
temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
temp = float(temp) / 1000
disp(temp)
main()
temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')行可能不適用于您的硬件配置。
從命令行運行該程序。將要監視的磁盤作為參數從命令行傳遞。
$ python usage.py /
Press Ctrl+C to exit
------------------------------
CPU
------------------------------
CPU Temperature: 39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM: 33.6 %
Swap: 6.4 %
------------------------------
NETWORK
------------------------------
MB sent: 2.93382358551
MB received: 17.2131490707
------------------------------
DISKS
------------------------------
/
Megabytes total: 13952.484375
Megabytes used: 8542.6640625
Megabytes free: 4678.5703125
Percentage used: 61.2
/media/calvin/Data
Megabytes total: 326810.996094
Megabytes used: 57536.953125
Megabytes free: 269274.042969
Percentage used: 17.6
希望這可以幫助!評論你是否有任何問題。
第七種方案
包systat有一個名為sar的工具,可以滿足您的所有需求。它還可以收集歷史數據,以便您可以查看前一段時間發生的情況。
第八種方案
SeaLion可以很方便使用,因為它具有內置命令來監視您的服務器性能以及您可以添加自己的自定義命令,scirpts和日志輸出。這是非常容易設置,并找出在特定時間出了什么問題。
參考資料
總結
以上是生活随笔為你收集整理的ubuntu 下系统监视器_Ubuntu系统监控工具的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海洋主题绘画_儿童画创意 | 三个海洋主
- 下一篇: E001检测到您的环境不支持HTML5,