web-dev-qa-db-ja.com

Ubuntuのシステム監視ツール

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

  • CPU使用率

  • ラムの使用

  • スワップ使用

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

  • 熱監視

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

147
Qasim

Glances-システムに注目

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

Installation

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

Ubuntu 16.04以降では、Sudo apt install glancesと入力できますが、バージョン2.3 このバグがあります です。その他:

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

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | Sudo /bin/bash

OR

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と入力するだけです。

screenshot

CPU、負荷、メモリ、スワップネットワーク、ディスクI/O、プロセスなど、システムのリソースに関する多くの情報がすべて1ページに表示されます。デフォルトでは、色分けは次のことを意味します。

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、スワップの監視

screenshot

ディスク監視

screenshot

システム熱監視

glances --helpと入力すると、検索されます(-eセンサーモジュールを有効にします(Linuxのみ))

glances -e

screenshot

screenshot

構成ファイル

Glance/configureファイルでしきい値を設定できます。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.103 GlancesがコンテナIPに接続されている

screenshot

CPU使用率の概要

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

glances cpu usage

184
Qasim

indicator-SysMonitor

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

enter image description here

こちら からダウンロード

コンキー

私のお気に入りの一つ

enter image description here

スクリーンレットUbuntuソフトウェアで利用可能なscreenlets-allパッケージに含まれるさまざまなスタイルのCPUとRAMモニターの束が見つかりますセンター。

enter image description here

目線

インストールする:

Sudo apt-get install python-pip build-essential python-dev
Sudo pip install Glances
Sudo pip install PySensors

enter image description here

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では、コマンドラインを介してシステムデバイスのアクティビティを監視することもできます。

enter image description here

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

Sudo apt-get install saidar

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

saidar -c -d 1

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

GKrellM

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

enter image description here

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

Sudo apt-get install gkrellm

Monitorix

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

enter image description here

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

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

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

http://localhost/monitorix/

33
Maythux

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

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

過去数年間、私は使用しています:

システム負荷インジケータ

enter image description here

Software Centreから入手可能

10
david6

トップ

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

htop

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

iotop

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

8
BeryJu

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

5
calvin k

パッケージ systat にはsarというツールがあり、必要なすべてを実行できます。また、過去のデータを収集できるため、しばらく前に何が起こったかを確認できます。

3
Grzegorz Żur

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

2

3
Adam Johnson
  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
    
2
hennamusick

http://conky.sourceforge.net/ をお勧めします

設定が非常に簡単で、リソースの使用量が最小限です。

2
Ronny

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

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

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

2
ShaneCar

私はあなたが好きなように設定できるconkyを使用したい:

enter image description here

conkyをグーグル検索して、787,000件のヒットを見つけることができます。皆のための何かがあります。

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

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

2

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

2
menixator

Java/J2EEアプリケーションの監視、サーバーの監視、データベースの監視、トランザクションの監視、ネットワークの監視など、監視のさまざまな側面をカバーするAppPerfectの Agentless Monitor をご覧ください。 、ログ監視、およびシステム監視。無料で使いやすいです。

1
Steve Young

eginnovations Linux監視ツールを確認します- http://www.eginnovations.com/web/linux-server-monitoring.htm

webベースで、インストールが簡単で、Linux仮想化もサポートします。

1
Mark Smith

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

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

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

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

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

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

help

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

1
MilaDroid