Ubuntuのシステム監視ツール


147

次のような基本機能を含むGUIおよびCliまたはWebベースのシステム監視ツールを探しています。

  • CPU使用率

  • ラムの使用

  • スワップ使用

  • ディスク使用量(スペース/ I / O)

  • 熱監視

使用できるツールはたくさんありますが、これらの基本機能を備えた単一のツールを探しています。

回答:


184

Glances-システムに注目

Glancesは、テキストインターフェイスからGNU / LinuxまたはBSDオペレーティングシステムを監視するためのフリーソフトウェア(LGPLの下でライセンスされています)です。Glancesはライブラリlibstatgrabを使用してシステムから情報を取得し、Pythonで開発されています。

設置

ターミナル(Ctrl+ Alt+ T)を開き、次のコマンドを実行します。

Ubuntu 16.04以降ではsudo apt install glances、入力するだけで済みますが、バージョン2.3にはこのバグがあります。その他:

簡単なスクリプトインストールの 概要

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のみ))

glances -e

スクリーンショット

スクリーンショット

構成ファイル

Glances構成ファイルでしきい値を設定できます。GNU/ Linuxでは、デフォルトの構成ファイルはにあり/etc/glances/glances.confます。

クライアント/サーバーモード

この監視ツールのもう1つの興味深い機能は、入力するだけでサーバーモードで起動できることですglances -s。これにより、Glancesサーバーが0.0.0.0:61209で実行されているように出力され、glances -c @を使用して別のコンピューターから接続できるようになりますserver @serverはサーバーのIPアドレスまたはホスト名です。

GlancesはXML / RPCサーバーを使用し、別のクライアントソフトウェアで使用できます。サーバーモードでは、バインドアドレス(-B ADDRESS)とリッスンTCPポート(-p PORT)を設定できます。デフォルトのバインドアドレスは0.0.0.0(Glanceはすべてのネットワークインターフェイスでリッスンします)、TCPポートは61209です。クライアントモードでは、サーバーのTCPポート(-pポート)を設定できます。クライアント/サーバーモードでは、制限はサーバー側で設定されます。バージョン1.6では、サーバーにアクセスするためのオプションのパスワード(-Pパスワード)が導入されており、サーバーで設定されている場合はクライアントでも使用する必要があります。

追加ソース: PyPIGithubLinuxaria

更新

物事がどのように見えるかだけ例えばジュジュコンテナを監視する大画像

ターミナルNo 1 Glancesはサーバーモードで実行されています。ターミナルNo 2ではjujuコンテナが実行されています。apt-get updateターミナル3ではglances -c 192.168.1.103GlanceがコンテナIPに接続されています。

スクリーンショット

CPU使用率の概要

組み込みのシステムモニター使用率グラフから明らかなように、Glances自体はアクティブな状態でCPU使用率の期間スパイクを必要とするようです。グラフが正確な場合-一目でシステム上のCPUの約1/4を使用できます。これは、サーバーのCPU負荷を監視している人に効果があります。

CPUの使用状況を見る


:)、はい@ B4NZ41
カシム

4
私が見た中で最高のツール
....-Dinesh

1
ここで提案されている「簡単な」インストール方法には強くお勧めします!インターネットから特権BASHインタープリターへのデータのパイピングは非常に安全ではありません。誰かがDNSを誤って設定した場合、またはbit.lyをハッキングした場合、システムに何かをインストールしている可能性があり、知らないかもしれません。
ルークスタンリー

1
私はお勧めしません「イージースクリプトのインストール」を、パッケージを使用してのみインストールします。
パブロA

3
をアンインストールするだけsudo pip uninstall glancesです。
パブロA

33

インジケータ-SysMonitor

Indicator-SysMonitorは少し機能しますが、うまく機能します。インストールして実行すると、トップパネルにCPUとRAMの使用量が表示されます。シンプル。

ここに画像の説明を入力してください

ここからダウンロード

コンキ

私のお気に入りの一つ

ここに画像の説明を入力してください

スクリーンレット では、Ubuntu Software Centerで利用可能な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では、コマンドラインを介してシステムデバイスのアクティビティを監視することもできます。

ここに画像の説明を入力してください

次のコマンドでインストールできます:

sudo apt-get install saidar

監視を開始するには、次のコマンドを実行します。

saidar -c -d 1

統計は毎秒更新されます。

GKrellM

GKrellMは、デスクトップシステムのデバイス情報(CPU、温度、メモリ、ネットワークなど)に表示されるさまざまなテーマを持つカスタマイズ可能なウィジェットです。

ここに画像の説明を入力してください

GKrellMをインストールするには、次のコマンドを実行します。

sudo apt-get install gkrellm

Monitorix

Monitorixは、システムデバイスを監視するためのWebベースのユーザーインターフェイスを備えた別のアプリケーションです。

ここに画像の説明を入力してください

次のコマンドでインストールします:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix

次のURLからMonitorixを起動します。

http://localhost/monitorix/

 


一目でいい。それが私に示すのは、いくつかの重要なログです。何が問題を見つけるのですか?Thouseログはどこにありますか?警告|クリティカルログ(最後の9エントリ)2016-03-23 19:09:48> 2016-03-23 19:09:54 CPUユーザー(72.7 / 76.6 / 80.6)2016-03-23 19:09:28> 2016-03-23 19:09:32 CPU IOwait(62.5 / 62.5 / 62.5)2016-03-23 19:08:45> 2016-03-23 19:08:48 CPUユーザー(86.3 / 86.3 / 86.3)〜 2016-03-23 19:08:16> ___________________ LOAD 5-min(1.0 / 1.1 / 1.2)-上位プロセス:php5-cgi 2016-03-23 19:08:09> 2016-03-23 19:08: 19 CPU IOwait(74.3 / 74.6 / 75.0)
カンガルー

あなただけ読んで、そのようなナンセンスコメントの前に検索し、はい、それはPPA :: upubuntu-COM / PPAだ...このリンクを参照することが良いでしょう@Thuener launchpad.net/~upubuntu-com/+archive/ubuntu/ppa と私downvoteを削除する方が良いと思う:)
Maythux

私はGKrellMを使用してきましたが、特に温度センサーのディスプレイが本当に気に入っています。それらがグラフィカルであることを願っていますが、過熱の問題があるため、ラップトップがどのように機能しているかを知ることができます。
Heather92065

22

以下は、Linuxシステムを監視するためのツールです

  1. システムのようなコマンドtopfree -mvmstatiostatiotopsarnetstatなどの問題をデバッグするときに何がこれらのLinuxユーティリティの近くに来ません。これらのコマンドを使用すると、サーバーの内部を明確に把握できます
  2. アシカ:エージェントは、#1(ユーザー定義)に記載されているすべてのコマンドを実行し、これらのコマンドの出力には美しいWebインターフェイスでアクセスできます。このツールは、インストールが非常に簡単であるため、数百台のサーバーでデバッグする場合に便利です。そしてその無料
  3. ナギオス:すべての監視/警告ツールの母です。それは非常にカスタマイズされていますが、初心者向けのセットアップは非常に困難です。ほとんどすべての重要なLinuxメトリックをカバーするnagiosプラグインと呼ばれるツールのセットがあります
  4. ムニン
  5. サーバー密度:重要なLinuxメトリックを収集し、ユーザーが独自のプラグインを作成できるようにするクラウドベースの有料サービス。
  6. New Relic:別のよく知られているホスト型監視サービス。
  7. ザビックス


8

topは、ソフトウェアを監視し、CPU / RAM使用率、全体的なCPU / RAM使用率などを含むすべてのプロセスを一覧表示します。また、ほとんどがデフォルトでインストールされます

htop

htopはtopの拡張バージョンのようなものです。上記のすべての機能がありますが、子プロセスを確認して、すべての表示をカスタマイズできます。色もあります。

iotop

iotopはハードリバーI / Oの監視専用です。すべてのプロセスを一覧表示し、読み取りと書き込みのハードドライブの使用状況を表示します。


熱監視はどこですか?あなたの答えにはすでに3つのユーティリティが含まれています...質問を確認してください**私はいくつかの基本的な機能を備えた単一のツールを探しています**
Qasim

3つのツールを使用して、OPに異なるオプションを提供しているだけですが、熱監視機能がないのは
残念です-BeryJu

少なくともあなたは質問に答えようとしました...ありがとう
カシム

google(サイダーubuntu)
カシム

5

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]), "%"

各CPUコアの現在の割合を出力するforループです。

RAM使用量を追加しましょう。

という関数を作成します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)

しかし、あなたはまた、単に受信することができtotalusedfree、または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 

お役に立てれば!ご質問がある場合はコメントしてください。

https://github.com/calthecoder/sysmon-1.0.1


このリンクは質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供する方が良いでしょう。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。
ロン

@Ron-わかりました。投稿に編集を追加して、数日後にsysmonの基本的なスクリプト部分を表示します。アドバイスをありがとう!
カルビンk

meta.askubuntu.com/questions/13900/…をご覧ください。正確に何を試しましたか?
ムル

@muru-気にしないで、今は機能しています。リンクをありがとう!
カルバンk

@muru-しかし、質問に答えるために、3つのバッククォートでコードブロックを開始し、次に構文を強調表示する言語を続けて、3つのバッククォートで終了しました。
カルバンk


3

SeaLionには、サーバーのパフォーマンスを監視するコマンドが組み込まれているほか、独自のカスタムコマンド、スクリプト、ログ出力を追加できる便利なツールです。特定の時間に何がうまくいかなかったかを見つけるのは非常に簡単です。

2



2

という組み込みツールがありgnome-system-monitorます。熱監視を除く、あなたが言及したことのすべてを行うことができます。


2

Nagiosは最も人気があり、最もカスタマイズ可能であるようですが、GUIには選択しません。

Zabbixのオープンソースソリューションは、あなたが言及したすべてを監視し、パフォーマンス監視のための時間ベースのグラフを提供します。

さらにクリーンなGUIを探している場合は、Zenossをチェックしてください。ZenossはオープンソースのWebベースのツールですが、適切なツールを使用してサービス分析と根本原因分析を提供します。


2
  1. このfreeコマンドは、linux / ubuntuのメモリ使用量を確認するための最もシンプルで使いやすいコマンドです。

    free -m
    
  2. メモリ使用量を確認するには、/proc/meminfoファイルを読み取ります。

    cat /proc/meminfo
    
  3. オプション付きのvmstatコマンドs

    vmstat -s
    
  4. このtopコマンドは通常、プロセスごとのメモリとCPUの使用状況を確認するために使用されます。

    top
    
  5. htopコマンドは、メモリ使用量を他のさまざまな詳細とともに表示します。

    htop
    
  6. インストールされているRAMに関するハードウェア情報を見つける。

    sudo dmidecode -t 17
    

1
私はhtopが大好きです!シンプルで十分です。
ペールブルードット

2

conkyとにかく設定できるものを使用したい:

ここに画像の説明を入力してください

Google conkyで787,000件のヒットを見つけることができます。皆のための何かがあります。

ディスプレイ上部の「ロック画面:4分間の明るさ:2074」に注意してください。これらは「Indicator-Sysmonitor」によって生成され、bashスクリプトを使用してsystray /アプリケーションインジケーターに表示できます。

「Indicator-Sysmonitor」のセットアップに関するチュートリアルについては、「アプリケーションインジケーターとしてシステムトレイにBASHを表示できますか?」を参照してください



1

私はあなたが見てとるべきだと思いエージェントレス監視 JAVA / J2EEアプリケーションの監視、サーバ監視、データベース監視、トランザクション監視、ネットワーク監視、モニタリングをログ、およびシステム監視などの監視のさまざまな側面をカバーしていAppPerfectからは、。無料で使いやすいです。


1

私の場合、このリンクからのこの回答は私を大いに助けてくれました。

以前はWindowsユーザーでしたか?Windowsタスクマネージャーに相当するUbuntuが必要な場合は、Ctrl + Alt + Delキーの組み合わせで開きます。

Ubuntuには、システムモニターと呼ばれる「タスクマネージャー」のように動作するシステム実行プロセスを監視または強制終了する組み込みユーティリティがあります。

デフォルトでは、Ctrl + Alt + Delショートカットキーを使用して、Ubuntu Unityデスクトップにログアウトダイアログが表示されます。タスクマネージャにすばやくアクセスすることに慣れているユーザーには役立ちません。

キーの設定を変更するには、Unity Dashからキーボードユーティリティを開きます(またはシステム設定->キーボード)。

[ショートカット]タブ-> [カスタムショートカット]で、プラスアイコンをクリックしてショートカットを追加します。名前をタスクマネージャーに入力し、コマンドgnome-system-monitorを入力します。

助けて

追加した後、「無効」と表示されている場所をクリックして、Ctrl + Alt + Deleteを押します。「ショートカットキー…は既にログアウトに使用されています」というダイアログが表示されたら、[再割り当て]をクリックして完了です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.