しきい値を超えたときに使用済みメモリとメールを監視する方法は?


2

Linuxサーバーがあります。メモリ使用量を監視し、特定のしきい値(たとえば512 MB)を超えている場合は、管理者に自動的に電子メールを送信します。

どうやってやるの?

回答:


1

freeコマンドを使用してメモリ使用量を取得できます。出力を少し解析すると、現在使用されているメモリがわかります:

free -m | awk '/buffers\/cache/ {print $3}'

次に、mailコマンドを使用してメールを送信できます(メールチェーンがサーバーで既に構成されていると仮定):

echo -e "Mail content." | mail -s "Subject" "destination@expample.com"

これにより、shメモリ使用量をチェックし、必要に応じてメールを送信する小さなスクリプトを作成できます。

#!/bin/sh
memuse=$(free -m | awk '/buffers\/cache/ {print $3}')
if [ $memuse -ge 512 ]; then
    message="RAM limit exceeded in server alpha.\nCurrent use is $memuse MiB."
    echo -e "$message" | mail -s "RAM monitoring" "admin@example.com"
fi

ここで、このスクリプトを定期的に実行する必要があります。たとえばcron、に追加することで、毎分実行することができます/etc/crontab

* * * * * /root/ram_monitoring.sh

(スクリプトを保存し/root/ram_monitoring.sh、動作しているcronデーモンがあると仮定します。)


最初のコマンドの出力として「buffers / cache:」を取得しています。何か案が?
ロジャーW. 14年

確かに、エラーがありました$2$3、そうではありませんが、修正します。
レヴァン14年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.