Linuxでディスク使用量をグラフで表示する方法

Linux環境でディスク使用量の状況を知ることは、システム管理者やユーザーにとって非常に重要です。不足しているとパフォーマンスに影響を与えるだけでなく、重要なタスクが失敗する可能性もあります。この記事では、Linuxにおいてディスク使用量をグラフで表示する方法について解説します。具体的なコード例、その詳細解説、および応用例を5つ以上紹介します。

目次

基本的な手法:dfコマンド

Linuxにはディスク使用量を確認する`df`コマンドがあります。このコマンドはテキスト形式で出力を提供するため、そのままでは一般のユーザーにはわかりにくいかもしれません。

df -h  # ディスク使用量を人間が読みやすい形式で表示

gnuplotを用いたグラフ表示

`df`コマンドの出力を`gnuplot`というツールを用いてグラフで表示することも可能です。以下は一例です。

df -h | awk 'NR > 1 {print $5, $6}' | gnuplot -e "set terminal png; set output 'disk_usage.png'; plot '-' using 1:2 with boxes"

Pythonを使用した方法

Pythonには`psutil`というライブラリがあり、このライブラリを使用することでディスク使用量を取得し、さらにグラフで表示することができます。

psutilのインストール

pip install psutil  # psutilをインストール

ディスク使用量のグラフ表示

import psutil
import matplotlib.pyplot as plt

# ディスク使用量を取得
disk_usage = psutil.disk_usage('/')

# グラフ表示
labels = ['Free', 'Used']
sizes = [disk_usage.free, disk_usage.used]
plt.pie(sizes, labels=labels)
plt.show()

応用例

1. 定期的な監視と通知

while true; do
  usage=$(df -h / | awk 'NR==2 {print $5}')
  if [[ "$usage" > "90%" ]]; then
    echo "Disk usage is over 90%!" | mail -s "Warning" admin@example.com
  fi
  sleep 60
done

2. 複数マシンでの監視

for host in host1 host2 host3; do
  ssh $host 'df -h /'
done

3. ディスク使用量の履歴を保存

df -h > disk_usage_history.txt

4. ログファイルの自動削除

find /var/log -name "*.log" -mtime +30 -exec rm {} \;

5. 他のリソースと併用した監視

#!/bin/bash
cpu_usage=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}')
disk_usage=$(df -h / | awk 'NR==2 {print $5}')

if [[ "$cpu_usage" > "90.0" || "$disk_usage" > "90%" ]]; then
  echo "High resource usage detected." | mail -s "Warning" admin@example.com
fi

まとめ

Linux環境でのディスク使用量のグラフ表示は、システムの健全性を維持するために重要なタスクです。`df`コマンドを基本として、さまざまな応用例やPythonを使用した方法についても解説しました。これを機に、Linuxシステムの健全性をしっかりと監視しましょう。

created by Rinker
オライリージャパン
¥3,080 (2024/05/01 20:07:32時点 Amazon調べ-詳細)

コメント

コメントする

目次