ホームページ  >  記事  >  運用・保守  >  Linuxサーバの監視例を詳しく解説

Linuxサーバの監視例を詳しく解説

零下一度
零下一度オリジナル
2017-07-21 11:55:393380ブラウズ

1. 監視の概要

Linux サーバーの高可用性を確保するには、サーバーを効果的に監視し、サーバーの稼働状況をリアルタイムで把握し、さまざまなパフォーマンス指標が正常であるかどうかを把握する必要があります。問題が発生する前に問題を検出し、操作を実行する ディメンション ログの記録、グラフィカルな監視、問題発生時のメッセージ アラーム メカニズムはすべて、Linux サーバーが通常の外部サービスを提供できるようにするための前提条件です。

2. モニタリングの内容

モニタリングは予防の重要な部分です。まず、何を監視する必要があるかについて説明します。システム負荷、CPU 使用率、メモリ使用率、ディスク容量、ネットワーク トラフィック、ポート、プロセス、Apache または Tomcat への接続数、mysql の実行ステータスはすべて監視する必要があります。サーバーの全体的な動作ステータスを常に把握するには、Linux に組み込まれているいくつかのパフォーマンス監視コマンドのみに依存することは困難です。したがって、サーバー監視にはシェル スクリプトとオープンソース監視ツールを使用することが 2 つの主要なオプションになります。

3. 監視方法

まず、Linux サーバー監視のためのいくつかの一般的なコマンドと、これらのコマンドによって作成された監視スクリプトを理解する必要があります。最後に、いくつかの成熟したオープンソース監視ツールも必要です。

3.1 一般的な監視コマンド


1) [iostat]: iostat コマンドは、ストレージ サブシステムの詳細情報を表示するために使用されます。通常、ディスク I/O 状態を監視するために使用されます。

2) [meminfo と無料]: cat /proc/meminfo 無料

3) [mpstat]: リアルタイム システム監視ツール。マルチ CPU システムでは、すべての CPU の平均ステータス情報を表示できるだけでなく、 、ただし、特定の CPU 情報も表示します

4) [netstat]: ネットワーク関連の大量の情報を表示します

5) [nmon]: Linux システムのパフォーマンスを監視し、ダウンロードしてインストールするためのオープンソース ツール

6) [pmap]: pmap コマンド 各プロセスが占有しているメモリの詳細を報告するために使用されます。このコマンドは、プロセス ID をパラメータとして必要とします。

7) [ps pstree]: ps は各プロセスが占有するメモリと CPU 処理時間を示し、pstree は子プロセス情報を含むプロセス間の依存関係をツリー構造で表示します

8) [sar]: sar CPU 使用率、メモリ ページ データ、ネットワーク I/O および転送統計、プロセス作成アクティビティ、ディスク デバイス アクティビティの詳細を表示するために使用されます。

9) [strace]: strace ls などの診断プロセス ツールですが、診断されたプロセスは速度が低下します

10) [tcpdump] ネットワーク監視ツール。どのプロセスがネットワークを使用しているかを確認するための基本的なプロトコル分析を行うために使用され、ネットワークの使い方。

11) [uptime]: このコマンドは、このサーバーが起動されてからどれくらいの時間稼働しているかを示します

12) [vmstat] 仮想メモリを監視します

13) [Wireshark]: 検出プログラムが許可するネットワークプロトコルですプログラムを通じて Web サイトの実行に関する関連情報を取得できます

14) [dstat] マルチタイプのリソース統計ツール: このコマンドは vmstat、iostat、および ifstat コマンドを統合します

15) [htop]: よりわかりやすいトップ、次の違いを参照してください2 つ: 「htop と top の比較」

16) [ss]: ソケットの統計情報を記録するために使用され、netstat と同様の情報を表示でき、さらに多くの TCP およびステータス情報も表示できます

17) [lsof]:開いているファイルのリスト

18) [iftop] は、ネットワーク情報に基づくもう 1 つのトップのようなプログラムです。現在のネットワーク接続ステータスを帯域幅の使用量やアップロードまたはダウンロードの量によって並べ替えて表示できます

3.2 シェル監視スクリプト


ここでは 4 つのスクリプトが提供されています (performance.sh パフォーマンス監視、process.sh プロセス監視、network.sh トラフィック監視、 tongji.sh トラフィック分析と統計)、crontab を使用してスクリプトを定期的に実行して監視データを記録し、毎日の監視ログを作成して以下の対応するフォルダーに配置し、自分で設定したアラーム値を超えたときに電子メール通知を送信しますTencent 企業メールボックスや 163 メールボックスなど、無料の SMS 通知機能を備えたメールボックスを試すことができます。メール通知を受信すると、すぐに SMS が届きます。

3.2.1 パフォーマンス監視スクリプト Performance.sh

コード GitHub アドレス:

コードのスクリーンショットは次のとおりです。4 つあります


パフォーマンス監視スクリプト 01-CPU 負荷の監視

パフォーマンス監視スクリプト 02 - CPU 使用率を監視します

パフォーマンス監視スクリプト 03 - スワップ パーティションを監視します

パフォーマンス監視スクリプト 04 -ディスク容量を監視します

3.2.2 プロセス監視スクリプト process.sh

コード GitHub アドレス:

コードのスクリーンショットは次のとおりです


プロセス監視スクリプト process.sh

3.2.3 トラフィック監視スクリプト network.sh

コード GitHub アドレス:

コードのスクリーンショットは次のとおりです:


トラフィック監視スクリプト network.sh
3.2.4 トラフィック分析と統計スクリプト tongji.sh

コード GitHub アドレス:

コードのスクリーンショットは次のとおりです:


トラフィック分析統計スクリプト tongji.sh
3.3 監視ツール


3.3.1 ) Cacti+Na gios

【 Cacti 】: Cacti は、PHP、MySQL、SNMP、RRDTool に基づいて開発されたネットワーク トラフィック監視グラフィカル分析ツールのセットです。

【Nagios】: Nagiosは、システムの稼働状況やネットワーク情報を監視する監視システムです。指定したローカルまたはリモートのホストとサービスを監視し、例外通知機能などを提供できます

3.3.2) Zabbix

【Zabbix】: さまざまなネットワークパラメータを監視し、サーバーシステムの安全な動作を保証することに加えて、Zabbix はSMS、電子メール、ジャバーなどの通知メカニズムを提供し、システム管理者がさまざまな既存の問題を迅速に特定/解決できるようにします。基本的にはcacti+nagiosの機能を実現できます

以上がLinuxサーバの監視例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。