サーバーのメンテナンスに携わる友人は、会社のサーバーの稼働状況をリアルタイムで把握できるように、全体的な概要を提供できるサーバー パフォーマンス監視プラットフォームを望んでいることがよくあります。現在、Alibaba Cloud、Tencent Cloud、Linode、Vultr、および独自のサーバー パフォーマンス監視サービスを備えたその他の VPS ホスティング プロバイダーなど、多くのサードパーティのネットワーク パフォーマンス監視プラットフォームが市場に出回っています。
独自のサーバー監視プラットフォームを構築する場合は、以前に共有したサーバー ログ分析ツール ngxtop と GoAccess を試すことができます。これらは、サーバー ログ分析の観点からサーバーの異常を確認するのに役立ちます。また、Smokeping ツールを使用して、従来の ping、dig、echoping、curl などのサーバーのネットワーク回線のステータスを監視することもできます。
この記事では、2 つの優れたサーバー監視ツールを紹介します。1 つは、無料のオープン ソース PHP プローブ-x-prober です。インターネット上には多くの PHP プローブがありますが、x-prober は「美しさの愛好家」に適しています。もう 1 つは、クールなインターフェイスと美しいスタイルを備えた Linux サーバー パフォーマンスのリアルタイム監視ツールである Netdata です。これら 2 種類の監視により、運用および保守作業のパフォーマンスが大幅に向上します。
サーバー パフォーマンスおよびネットワーク監視コマンドと監視ツールの詳細については、以下を参照してください。
- Linux システム監視コマンドの概要 - パフォーマンスのボトルネックを見つけるためのマスター CPU、メモリ、ディスク IO など
- Smokinging のインストールと構成 - 無料のオープンソース ネットワーク パフォーマンス監視ツールのビジュアルなマスター/スレーブ展開
- サーバー ログ分析ツール: ngxtop および GoAccess - 例外の原因を迅速に見つけるためのリアルタイム監視と視覚的管理
1. 無料のオープンソース PHP プローブ: x-prober
Webサイト:
- プロジェクト: https://github.com/kmvan/x-prober
- ダウンロード: https://api.inn-studio.com/download?id=xprober
- デモ: https://tz.inn-studio.com/
これは、Yahei プローブを置き換えることができる PHP プローブであり、美しいインターフェイス、シンプルだが実用的な機能を備えており、基本的なサーバー プローブのニーズに適しています。 (拡大するにはクリックしてください)
x-prober プローブは、サーバーのステータス、トラフィック統計、サーバー情報、PHP 情報、PHP 拡張機能、データベース、サーバー パフォーマンス スコアなどを表示できます。
2. Linuxリアルタイム監視ツールNetdataのインストールと使い方
Webサイト:
- 公式サイト:https://my-netdata.io/
- デモ: https://my-netdata.io/#demosites
- ホームページ: https://github.com/firehol/netdata
2.1 ネットデータ機能の紹介
Netdata は、非常にクールなインターフェイス、非常に強力な機能、および非常に簡単なインストールを備えた Linux サーバー パフォーマンス監視ツールです。リアルタイムで更新され、ワンクリックでインストールされ、メンテナンスは必要なく、監視データがブラウザに直接表示されます。 Netdata は 1 秒あたり数千のインジケーターを収集しますが、それは単一の CPU コアの 1% にすぎず、メモリの量も少なく、ディスク IO の読み書きはまったくありません。以下に示すように: (クリックして拡大)
Netdata は、主に次のような多くのコンテンツを監視します。
CPU: 使用率、割り込み、softirq、周波数、合計およびコアごとの CPU ステータス
メモリ: RAM、スワップおよびカーネル メモリの使用量、KSM (カーネル同一ページ マージ)、NUMA
ディスク: ディスクごと: I/O、操作、バックログ、使用率、スペース、ソフトウェア RAID (md)
ネットワーク インターフェイス: インターフェイスごと: 帯域幅、パケット、エラー、ドロップ
IPv4 ネットワーク、IPv6 ネットワーク: 帯域幅、パケット、エラー、フラグメント、tcp: 接続、パケット、エラー、ハンドシェイク、udp: パケット、エラー、ブロードキャスト: 帯域幅、パケット、マルチキャスト: 帯域幅、パケット
netfilter/iptables Linux ファイアウォール: 接続、接続トラッカー イベント、エラー
NFS ファイル サーバーおよびクライアント: NFS v2、v3、v4: I/O、キャッシュ、先読み、RPC 呼び出し
Apache および lighttpd Web サーバー: mod-status (v2.2、v2.4) および複数のサーバーのキャッシュ ログ統計
Nginx Web サーバー: 複数のサーバーのスタブ状態
Tomcat: アクセス、スレッド、使用可能なメモリ、ボリューム
Web サーバー ログ ファイル: Web サーバーのパフォーマンス メトリックをリアルタイムで抽出し、複数のヘルス チェックを適用します。
mySQL データベース: 複数のサーバー、各サーバーが表示: 帯域幅、クエリ/ハンドラー、ロック、問題、tmp 操作、接続、binlog メトリクス、スレッド、innodb メトリクスなど
Postgres データベース: 複数のサーバー、各サーバーはデータベースごとの統計 (接続、返された読み取り/書き込みタプル、トランザクション、ロック)、バックエンド プロセス、インデックス、テーブル、先行書き込み、バックグラウンド ライターなどを表示します。
Redis データベース: 複数のサーバー、各サーバーの表示: 操作、ヒット率、メモリ、キー、クライアント、スレーブ サーバー
CouchDB: 読み取り/書き込み、リクエスト メソッド、ステータス コード、タスク、レプリケーション、データベースごとなど。
memcached データベース: 複数のサーバー、各サーバーが表示: 帯域幅、接続、プロジェクト
NSD ネーム サーバー: クエリ、ゾーン、プロトコル、クエリ タイプ、トランスポートなど。
PowerDNS: クエリ、回答、キャッシュ、レイテンシなど
Postfix 電子メール サーバー: メッセージ キュー (エントリ、サイズ)
NUT および APC 無停電電源装置: 負荷、容量、バッテリ電圧、温度、ユーティリティ インジケータ、出力インジケータ
PHP-FPM: 複数のインスタンス。それぞれが接続、リクエスト、パフォーマンスをレポートします。
Smartd: ディスク S.M.A.R.T. 値
2.2 Netdata のインストール方法
すべての Linux システムでは、次の方法を使用して、ワンクリックで netdata をインストールできます (sudo を使用する必要はありません)。
# 基础安装 bash <(curl -Ss https://my-netdata.io/kickstart.sh) # 或者 # 安装所有的组件 bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
Netdata のディレクトリ構造は次のとおりです。
– /usr/sbin/netdata
のデーモン – /etc/netdata
<x2 の設定ファイル > – /usr/share/netdata 内の Web ファイル
– プラグイン < /usr/libexec/netdata
の x2> – /var/cache/netdata
< のキャッシュ ファイル x2> – /var/lib/netdata のデータベース ファイル
– ログ ファイル <x2 > /var/log/netdata
– /var にある pid ファイル /run/netdata.pid
– /etc/logrotate.d/netdata にある logrotate ファイル
以下に示すように:
次のプロンプトは、Netdata が正常にインストールされたことを示します。
2.3 ネットデータの使用操作
インストール後、ip:19999 を使用して Netdata インターフェイスにアクセスすると、ページをプルダウンして、右側の対応するインジケーターをクリックすることもできます。それを見てください。 (拡大するにはクリックしてください)
各監視データはリアルタイムに更新され、マウスをクリックして詳細を表示することもできます。
Netdataにはインポート・エクスポート機能があり、一定期間の監視データをエクスポートしたり、バックアップデータをインポートしたりすることができます。
複数のマシンがインストールされており、1 つのブラウザからそれらにアクセスしたい場合は、左上隅にある [my-netdata] をクリックします。次に、3 本の縦棒のアイコンをクリックします。
登録 ID を記録し、帰宅したら自宅のブラウザに各登録 ID を入力して追加します。
3. まとめ
Netdata モニタリングの最大の問題は、おそらく言語の問題です。現在、公式 Web サイトは英語のみであり、英語が適切ではないと思われる場合は、Web ファイルを手動で翻訳することができます。このディレクトリに配置されます。
X-prober プローブは、機能的には Yahei プローブに似ていますが、主な利点は、はるかに美しく、プローブの代替として使用できることです。 Netdata はエンタープライズレベルのサーバー監視として使用できますが、個人で使用するには少し「無駄」です。