Ubuntu Server のシステム監視ツールを習得することは、最適なパフォーマンスの確保、問題の診断、システムの信頼性の維持に不可欠です。このチュートリアルでは、リアルタイムのリソース監視、ディスク I/O、ネットワークアクティビティ、サーバーダッシュボードなど、Ubuntu サーバーで利用できる最高のシステム監視ツールを紹介します。
前の記事:
01. Ubuntu Server 入門 – SysOSX: AI & Cloud
02. 初めての Ubuntu サーバーのセットアップ方法:初心者ガイド – SysOSX: AI & Cloud
03.Ubuntu Server のための Linux コマンドラインの習得 – SysOSX: AI & Cloud
04. Ubuntu Server でのユーザーと権限の管理:包括的ガイド – SysOSX: AI & Cloud
05. Ubuntu Server のためのネットワークの基礎:包括的ガイド – SysOSX: AI & Cloud
06. Ubuntu Server へのソフトウェアのインストールと管理:完全ガイド – SysOSX: AI & Cloud
07.Ubuntu Server のパッチ適用と更新:包括的ガイド – SysOSX: AI & Cloud
08. Ubuntu サーバーのセキュリティ確保:強化と保護のための実践的な手順 – SysOSX: AI & Cloud
使い方: htop と top によるリアルタイムリソース監視
入門: htop と top
次の2つのツール htop と top は、リアルタイムでシステムリソースを監視するための必須のコマンドラインツールです。CPU 使用率、メモリ消費量、実行中のプロセスなどの情報を表示します。
インストールと実行: htop (デフォルトでインストールされています)
インストール: htop、実行コマンド:
sudo apt update
sudo apt install htop
起動方法: htop、次のように入力します:
htop
主な機能と使用シナリオ: htop
htop は、次の用途に最適です:
- リソースを大量に消費するプロセスの特定:CPU またはメモリの使用量でプロセスを並べ替え、リソースを大量に消費するプロセスをすばやく見つけることができます。
- プロセスの終了:
F9を押すと、応答しないプロセスや問題のあるプロセスをhtopインターフェースから直接終了できます。 - スレッドの監視:プロセスを展開すると、個々のスレッドとそのリソース使用量を表示できます。
- 列のカスタマイズ:
F2を押すと、表示を設定し、ディスク I/O やネットワーク使用率などのメトリクスを追加/削除できます。
使い方: top
top は、よりシンプルなツールで、Ubuntu サーバーにプリインストールされています。実行するには、次のようにします:
top
主なコマンド: top:
- キー:
Shift + pを押すと、CPU 使用率順に並べ替えます。 - キー:
Shift + mを押すと、メモリ使用率順に並べ替えます。 - キー:
qを押すと終了します。
パフォーマンスメトリクス取得のための sysstat のインストールと設定
概要: sysstat?
sysstat は、システムパフォーマンスメトリクスを長期的に収集および報告するためのツール群です。次のようなユーティリティが含まれています: iostat、 vmstat、および sar.
インストール: sysstat
インストール: sysstat:
sudo apt update
sudo apt install sysstat
設定: sysstat
設定ファイルを編集して、データ収集を有効にします:
sudo nano /etc/default/sysstat
次の値を変更します: ENABLED="false" を ENABLED="true"に変更します。保存して終了し、サービスを再起動します:
sudo systemctl restart sysstat
使い方: sysstat ツール
iostat:ディスク I/O パフォーマンスを監視します。iostat

vmstat:メモリ、CPU、I/O の統計情報を監視します。vmstat

sar:システムアクティビティの履歴レポートを生成します。sar -u 5 10 # CPU usage every 5 seconds for 10 intervals

ディスク I/O とネットワークアクティビティの監視
ディスク I/O 監視: iotop
次のツールを使用してください: iostat ( sysstat由来)または iotop で、リアルタイムのディスク I/O を監視できます。
インストール: iotop:
sudo apt update
sudo apt install iotop
起動: iotop :
sudo iotop
ただし、次のツールを実行すると、次のエラーが発生する場合があります。ツール: iotop:
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %
エラーの修正: iotop 。
この問題は、カーネルに CONFIG_TASK_DELAY_ACCT 機能がないために発生します。この機能は、 iotop が SWAPIN と IO の割合を表示するために必要です。幸い、GRUB の設定を更新することで解決できます。
エラーを修正する手順
- GRUB 設定ファイルを編集します:
sudo nano /etc/default/grub
- 次のオプション:
delayacctをGRUB_CMDLINE_LINUX_DEFAULTエントリに追加します。行が最初は空の場合(GRUB_CMDLINE_LINUX_DEFAULT="")の場合は、次のように更新します:GRUB_CMDLINE_LINUX_DEFAULT="delayacct"行にすでに他のオプションが含まれている場合は、delayacctを既存のオプションに追加し、スペースで区切ります。例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash delayacct"
- 変更を適用するために GRUB を更新します:
sudo update-grub
- サーバーを再起動します:
sudo reboot
再起動後、エラーは解決され、 iotop は正しく動作するようになります。
使い方:`iotop
問題が修正されたら、 iotop を実行してディスク I/O を監視できます:
sudo iotop
を使ってできること: iotop
- ディスク I/O の高負荷の原因となっているプロセスを特定します。
- 読み取り/書き込み操作をリアルタイムで監視します。
- プロセスをディスク使用量で並べ替えます。
ネットワークアクティビティの監視
使い方: iftop
インストール: iftop:
sudo apt update
sudo apt install iftop
起動: iftop :
sudo iftop
使い方: nload
インストール: nload:
sudo apt update
sudo apt install nload
起動: nload :
nload
Cockpit によるサーバーダッシュボードのセットアップ
Cockpit とは?
Cockpit は、サーバーを監視および管理するための Web ベースのグラフィカルダッシュボードです。CPU、メモリ、ディスク使用量、ネットワークアクティビティに関するリアルタイムの洞察を提供します。
Cockpit のインストール
Cockpit をインストールするには、次のようにします:
sudo apt update
sudo apt install cockpit
Cockpit へのアクセス
Cockpit サービスを開始します:
sudo systemctl start cockpit.socket
sudo systemctl enable cockpit.socket
次のアドレスに移動して、ダッシュボードにアクセスします:
https://<your-server-ip>:9090
Cockpit の機能
- システムパフォーマンスを視覚的に監視します。
- サービス、ログ、ユーザーアカウントを管理します。
- ディスク使用量とネットワークアクティビティを表示します。
その他の推奨監視ツール
以下のツールは htop、 sysstat、および Cockpit がほとんどのサーバー監視ニーズに最適ですが、複雑な環境向けにさらに深い洞察と優れた可視化を提供できる他の高度なツールもあります。以下に、検討できるその他の監視ツールをいくつか示します:
Prometheus と Grafana
Prometheus
Prometheus は、信頼性と拡張性を重視して設計されたオープンソースの監視およびアラートツールキットです。クラウドネイティブ環境で広く使用されており、分散システムやマイクロサービスの監視に特に適しています。
主な機能:
- 時系列データベース:タイムスタンプ付きのメトリクスを効率的に保存します。
- 強力なクエリ言語(
PromQL)で、メトリクスを分析できます。 - アラートシステム:通知のために Alertmanager などのツールと統合されています。
- プルベースのアーキテクチャ:Prometheus はターゲットからメトリクスを能動的に収集します。
使用例:
- 複数のサーバーにわたる CPU、メモリ、ディスクの使用量を監視します。
- アプリケーション固有のメトリクス(HTTP リクエストのレイテンシ、エラー率など)を追跡します。
- 異常なメトリクスやシステム障害に対するアラートを生成します。
インストール手順:
Ubuntu に Prometheus をインストールするには、次のようにします:
sudo apt update
wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
tar xvf prometheus-2.44.0.linux-amd64.tar.gz
cd prometheus-2.44.0.linux-amd64
./prometheus
次のアドレスに移動して、Prometheus にアクセスします:
http://<your-server-ip>:9090
Prometheus と Cockpit はどちらもデフォルトのポートが 9090 であることに注意してください。同時に使用する場合は、デフォルトのポートを変更することをお勧めします:
Prometheus と Cockpit のポート競合の解決
オプション 1:Prometheus のポートを変更する
設定ファイルを変更することで、Prometheus が別のポートを使用するように設定できます。
- Prometheus の設定ファイルを開きます:
nano prometheus.yml
- Prometheus の起動コマンドまたはサービスファイルで、
--web.listen-addressフラグを追加または変更し、別のポートを指定します(例:9091):
--web.listen-address=:9091
- 変更を適用するために Prometheus を再起動します:
sudo systemctl restart prometheus
- 新しいポートを使用して Prometheus にアクセスします:
http://<your-server-ip>:9091
オプション 2:Cockpit のポートを変更する
Prometheus をポート 9090 のままにする場合は、Cockpit のデフォルトポートを変更することもできます。
- Cockpit 用のカスタム設定ファイルを作成します:
sudo nano /lib/systemd/system/cockpit.socket
- 新しいポートを指定するために、次の行を追加します(例:
9092):ListenStream=9092 - Cockpit サービスを再起動します:
systemctl daemon-reload
systemctl restart cockpit.socket
- 新しいポートを使用して Cockpit にアクセスします:
https://<your-server-ip>:9092
オプション 3:リバースプロキシを使用する
ポートを変更するのが理想的でない場合は、リバースプロキシを使用できます(例: Nginx または Apache)。これにより、デフォルトのポートを維持したまま、両方のサービスを異なる URL にマッピングできます。
例:
- Prometheus:
http://<your-server-ip>/prometheus
- Cockpit:
http://<your-server-ip>/cockpit
推奨事項
両方のツールを頻繁に使用する場合:
将来の参照や他の管理者のために、ポートの変更を文書化してください。
次の値を変更します: Prometheus のポートを 9091 に変更します。Cockpit はデフォルトのポート番号 9090.
Grafana
Grafana は、Prometheus とシームレスに統合する強力な可視化プラットフォームです。動的なダッシュボードを作成して、メトリクスと傾向を可視化できます。
主な機能:
- マルチソース対応:Prometheus、Elasticsearch、MySQL などと連携します。
- カスタムダッシュボード:インタラクティブなグラフ、ヒートマップ、テーブルを作成できます。
- アラート:主要メトリクスのしきい値に基づいてアラートを設定します。
- 共有:ダッシュボードをチームと簡単に共有できます。
使用例:
- Prometheus が収集したサーバーパフォーマンスメトリクスを可視化します。
- 長期的な傾向を監視し、容量計画を改善します。
- 複数のソースからのデータを統一されたダッシュボードに表示します。
インストール手順:
Ubuntu に Grafana をインストールするには、次のようにします:
sudo apt update
sudo apt install -y software-properties-common
sudo wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
sudo echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt update
sudo apt install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
sudo systemctl status grafana-server
次のアドレスに移動して、Grafana にアクセスします:
http://<your-server-ip>:3000
Nagios
Nagios は、最も人気のあるインフラストラクチャ監視ツールの 1 つです。サーバー、ネットワークデバイス、アプリケーションに対する包括的な監視とアラートを提供します。高度にカスタマイズ可能で、機能拡張のためのプラグインをサポートしています。
主な機能:
- サーバーの健全性の監視:CPU、メモリ、ディスク使用量などを追跡します。
- ネットワーク監視:ルーター、スイッチ、ファイアウォールの問題を検出します。
- アラート:メール、SMS、または Slack との統合を介して通知を送信します。
- 豊富なプラグインライブラリ:データベース、Web サーバー、その他のサービスを監視します。
使用例:
- 本番環境の重要なサーバーとアプリケーションを監視します。
- ディスク容量の不足や CPU 使用率の高騰に関するアラートを受け取ります。
- ネットワークデバイスの稼働時間と可用性を監視します。
インストール手順:
Ubuntu に Nagios をインストールするには、次のようにします:
sudo apt install nagios4 nagios-plugins
sudo a2enmod rewrite cgi
systemctl restart apache2
sudo systemctl status nagios4
sudo systemctl enable nagios4
sudo systemctl start nagios4
Nagios には、監視対象を設定するための追加設定が必要です。詳細な設定については、次のドキュメントを参照してください: Nagios ドキュメント.
Netdata:リアルタイムシステム監視ツール
Netdata は、システムパフォーマンスに関する詳細な洞察を提供する軽量のリアルタイム監視ツールです。インストールが簡単で、メトリクスを可視化するための美しい Web インターフェースが付属しています。
ステップ 1:システムパッケージを更新する
ターミナルで次のコマンドを実行して、システムが最新の状態であることを確認します:
sudo apt update
sudo apt upgrade
ステップ 2:Netdata をインストールする
デフォルトの Ubuntu リポジトリから Netdata をインストールします:
sudo apt install netdata
ステップ 3:Netdata を設定する
リモートアクセスを許可するために、Netdata の設定ファイルを編集します:
sudo nano /etc/netdata/netdata.conf
次のフィールドを探します: bind socket to IP フィールドで、 127.0.0.1 をサーバーの IP アドレスに置き換えます:
[global]
bind socket to IP = <your-server-ip>
ファイルを保存し、Netdata サービスを再起動します:
sudo systemctl restart netdata
ステップ 4:ファイアウォールを設定する
Netdata のデフォルトポート(19999)へのアクセスを許可し、ファイアウォールを有効にします:
sudo ufw allow 19999
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status
ステップ 5:Netdata の Web インターフェースにアクセスする
Web ブラウザを開き、次のアドレスに移動します:
http://<your-server-ip>:19999

ツールの比較
| ツール | 最適な用途 | 使いやすさ | 可視化 | アラート |
|---|---|---|---|---|
| Prometheus | 大規模なメトリクス収集 | 中程度 | 限定的 | はい |
| Grafana | 高度なダッシュボード | 簡単 | 優れている | はい |
| Nagios | インフラストラクチャ監視 | 中程度 | 基本的 | はい |
| Netdata | 軽量なリアルタイム監視 | 簡単 | 優れている | はい |
結論
Ubuntu サーバーの監視は、パフォーマンスの維持、問題の診断、ダウンタイムの防止に不可欠です。次のようなツール、 htop、 top、 sysstat、Cockpit などのツールにより、管理者はリソースを効果的に監視できます。コマンドラインツールとグラフィカルダッシュボードのどちらを好む場合でも、このガイドでは堅牢な監視システムを構築するために必要なすべてを説明します。
次回: 集中ログ記録と監視
次の記事では、 集中ログ記録と監視 に焦点を当て、サーバー管理とパフォーマンス追跡をさらに効率化します。取り上げるトピックは次のとおりです:
- 集中ログ記録のための rsyslog または syslog-ng のセットアップ。
- ログをリモートのログサーバーに転送し、整理と分析を改善します。
- Ubuntu サーバーを次のような堅牢な監視プラットフォームと統合すること: Nagios、 Zabbix、または Prometheus により、システムの健全性とパフォーマンスについてより深い洞察を得ることができます。
ログインフラストラクチャを集中化し、監視ツールを活用してサーバー運用を効果的に最適化する方法については、次回をお楽しみに!










2 thoughts on “10. System Monitoring Tools for Ubuntu Server: A Comprehensive Guide”