server-stats — サーバー統計(Linux)スクリプト

Tool

概要

server-statsは、Linux環境で稼働する単一のシェルスクリプト(server-stats.sh)によってサーバーの基本的なパフォーマンス指標を表示する軽量ユーティリティです。表示項目は総CPU使用率、メモリ使用(Free/Usedと割合)、ディスク使用(Free/Usedと割合)、およびCPU/メモリ使用の上位5プロセスです。外部ライブラリ不要で、freeコマンドがあれば動作するように設計されており、簡易的な監視やトラブルシューティング目的で利用できます。実行はchmodで実行権を付与した後、スクリプトを直接実行するのみです。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 8
  • ファイル数: 3
  • メインの言語: Shell

主な特徴

  • 単一のシェルスクリプトで完結する軽量ツール
  • CPU・メモリ・ディスク使用率の表示(Free/Used と割合)
  • CPU/メモリ使用上位のプロセス(上位5件)を一覧表示
  • 最低限の依存(freeコマンドが必要)で即実行可能

技術的なポイント

server-statsはシェル(sh/bash)ベースの実装を採用しており、Linux上の標準ユーティリティを利用して情報を収集します。READMEに明示されているようにfreeが必要で、ディスク情報はdf、プロセス情報はps(またはtopの非対話モード)を経由して取得するのが一般的です。スクリプト内ではawkやsed、sort、headといったテキスト処理ツールでコマンド出力を整形し、数値から使用率を計算して文字列として表示します。単一ファイル設計の利点は導入の容易さと依存の少なさで、cronから定期実行して簡易ログ取得を行ったり、リモートで一時的に実行して状態確認を行う用途に適しています。

注意点としては、各ディストリビューションやロケールによってfreeやdfの出力フォーマットが若干異なる場合があるため、スクリプト内のパース処理は環境に依存しやすい点です。また、プロセスのソート基準(CPUかRSSか)や表示項目の粒度を上げたい場合はpsコマンドのオプション追加やカラム計算が必要になります。拡張案としては、JSONやCSV形式での出力オプション追加、複数サンプルを取り平均/ピークを出すサンプリング機能、systemdタイマーやDockerコンテナでのラップ、アラート連携(メールやWebhook)などが考えられます。ライセンスファイルが含まれているため、再利用・改変時の条件も明確です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • LICENSE: file
  • README.md: file
  • server-stats.sh: file

まとめ

シンプルで導入しやすく、短期的な状況把握に最適なシェル製モニタリングスクリプトです(50字程度)。

リポジトリ情報:

READMEの抜粋:

server-performance-stats (Linux)

  • The project from: https://roadmap.sh/projects/server-stats

  • Total CPU usage

  • Total memory usage (Free vs Used including percentage)

  • Total disk usage (Free vs Used including percentage)

  • Top 5 processes by CPU usage

  • Top 5 processes by memory usage


make sure you have free installed

Usage

  • Step 1: Make the script executable
chmod +x server-stats.sh
  • Step 2: Run the script
./server-stats.sh