企業にとって、さまざまなシステムが正常に稼働していることを確認するために、サーバーの監視は非常に重要です。
ビジネスが成長するにつれて、リソース、労働力、サービス、システム、IT インフラストラクチャも成長し始めます。したがって、サーバーの健全性、アクティビティ、および機能を観察するには、パフォーマンス監視ソリューションが重要になります。
この記事では、サーバーを監視するための軽量で無料で使用できる複数のツールについて説明します。
すべての IT 管理者は、サーバーのクラッシュ、アプリケーションの速度の低下、予期せぬダウンタイム、依存関係の構成、メモリ リークのトラブルシューティングなど、これらの課題に直面しています。これらの問題を解決するには、IT 監視ソフトウェア/アプリケーションが必要です。
Nagios と Zabbix は、インフラストラクチャ全体の最も人気のある監視ツールです。これらのツールを使用すると、サーバーのパフォーマンス、ネットワークのパフォーマンス、プロトコル、オペレーティング システム、アプリケーション、Web サイトなど、ほぼすべてを監視できます。
ただし、インフラストラクチャが十分に大きくない場合、または要件がサーバーのパフォーマンスを監視することだけである場合は、本格的なエンドツーエンド ツールを使用するのではなく、サーバーを監視する軽量のセルフホスト ソフトウェアを使用できます。
注 : Linux を使用している場合は、CPU、メモリ、プロセスを監視する組み込みコマンドを試すこともできます。
区
Ward は、 サーバーにのみ関連する最小限/主要な情報を提供します。すべての一般的なオペレーティング システムと互換性があります。
Ward は、オペレーティング システムとハードウェアの情報を取得するために無料の Java ライブラリである OSHI を使用します。 OS のバージョン、メモリ、プロセッサ、ディスク、パーティション、CPU 使用率などの情報を共有します。
ダッシュボードには 5 つの異なるセクションがあります。
- プロセッサー : 名前、使用率 %、コア数、ビット、周波数
- マシン : OS とそのバージョン、RAM %、RAM 量、RAM タイプ、現在のプロセス数
- ストレージ : 名前、使用率 (%)、ストレージ サイズ、ディスク数、仮想メモリ
- % 使用率 : このセクションには、過去 20 秒間のプロセッサ、メモリ、ストレージの視覚化が表示されます。
- Ward : Linux では最後の起動時間以降の稼働時間を示し、Windows ではハード リセット時間を示します。
Ward を実行するには、このプロジェクトの jar ファイルを作成して実行するか、最新リリースの jar ファイルをダウンロードして実行します。 Docker コンテナ内で Ward を起動することもできます。
ネットデータ
Netdata は 、システムとアプリケーションをリアルタイムで監視するための無料のオープンソース ソフトウェアです。 Linux、FreeBSD、macOS、Docker コンテナ、IoT デバイス上で実行できます。
Netdata エージェントをシステム、アプリケーション、またはコンテナにインストールすると、すべてのパフォーマンスと正常性に関する情報がリアルタイムで提供されます。
上に示されている黄色の CPU のグラフをドラッグして選択し、SHIFT + マウス ホイールを使用して拡大/縮小すると、その領域が詳細に表示されます。 Prometheus、AWS Kinesis、Graphite、MongoDB などの他のツールと簡単に統合できます。
ネットデータの機能:
- 素早く簡単な取り付け
- リアルタイムでデータを提供します
- ノードごとに数千のメトリクスを監視可能
- サーバーごとに最大 10,000 のメトリクスを独自に自動的に収集できます
- 1秒ごとの履歴データを保存します
- ダッシュボードの非常にわかりやすいプレゼンテーション
- 最新のメトリクスビジュアライザを使用して異常を超事実的に特定します
- Netdata の実行に専用のリソースは必要ありません
プロメテウス + グラファナ
Prometheus はシステム メトリクスを監視するためのオープンソース ツールで、 Grafana はオープンソースの視覚化プラットフォームです。 Prometheus と Grafana の統合セットアップは、サーバーを効率的に監視するための強力な環境です。
Prometheus サーバーはすべてのデータを定期的に収集し、Prometheus が Grafana のデータ ソースとなり、Grafana はダッシュボード上のすべてのメトリクスを視覚化します。 Grafana には、視覚化されるメトリクスをクエリするオプションもあります。
この組み合わせは試してみる価値あり!
一目見る
Glances は 、Python で書かれたクロスプラットフォーム監視ツールです。 Python 2.7 または Python >=3.4 のみをサポートします。 Python ライブラリ (psutil) を使用して、すべてのシステム情報を収集します。
インターフェース(モバイル、Web UI、ターミナル)のサイズに応じて、UI に表示される情報は動的に変化します。
グランスの特徴:
- ターミナル、Web UI、または API (XML-RPC サーバーおよび RESTful JSON) 経由でリモート監視が可能
- ファイルまたはデータベースにエクスポート可能な統計情報
- たった 1 つのコマンドで簡単にインストールできます – pip install Gives
- Glances で利用可能な Docker コンテナ
より適切な視覚化が必要な場合は、Glances から InfluxDB にデータをエクスポートし、このデータを Grafana で視覚化できます。
リナックスダッシュ
Linux Dash は、 Linux システム用の Web ダッシュボードです。 Linux Dash の UI は Angular に基づいて構築されており、サーバー側ではいくつかの言語がサポートされています。
システム ステータス タブには、RAM 使用量、CPU 平均負荷、CPU 使用率、CPU および RAM プロセス、ディスク パーティション、スワップ使用量、CPU 温度、Docker プロセスに関する情報が表示されます。
また、ネットワーク レベル、アカウント レベル、アプリケーション レベルの情報も提供します。
Linux ダッシュの機能:
- WebSocket もサポートし、リアルタイムのシステム データ視覚化を実現
- ドラッグ アンド ドロップ UI
- ダッシュボード上のカスタマイズ可能な画面 (最小化、展開、調整)
- サーバー側実装は複数の言語 (Node.js、Python、Go、PHP) で利用可能
コンキー
Conky は 、もともと X (ウィンドウ システム) 用に作成されたシステム モニターです。現在、さまざまなプラットフォームで動作します。 X、Linux、Mac OS (X Quartz を使用)、およびほとんどの BSD 上で実行できます。
単純なテキストを使用して情報を表示するか、さまざまなフォントと色を使用して進行状況バーとグラフ ウィジェットを使用して情報を表示します。
コンキーの特徴:
- システムステータスを表示する 300 以上の組み込みオブジェクト
- 非常にシンプルなユーザーインターフェース
- Audacious、MPDなどの音楽プレーヤーをサポート
- POP3とIMAPをサポート
- スクリプトや外部プログラムを使用してあらゆる情報を表示可能
結論
サーバーのパフォーマンスを監視することは確かに必要です。適切に実行しないと、パフォーマンスや稼働時間の問題が発生し、ビジネスに支障をきたす可能性があります。ただし、監視ソフトウェア ソリューションを利用してサーバーが適切に動作していることを確認すれば、心配する必要はありません。
あるいは、監視ソフトウェアのインストールや管理が不要なクラウドベースのサーバー監視ソリューションを試すこともできます。