序文 Linux システムのパフォーマンスを監視するために使用できるオープンソースの監視ツールが市場には数多くあります。システムが指定されたしきい値に達したときに電子メールアラートを送信できます。 CPU 使用率、メモリ使用率、スワップ使用率、ディスク領域使用率など、あらゆるものを監視できます。 少数のシステムしかなく、それらを監視したい場合は、小さなシェル スクリプトを作成すると、タスクが非常に簡単になります。 このチュートリアルでは、Linux システムのメモリ使用率を監視するための 2 つのシェル スクリプトを追加しました。システムが指定されたしきい値に達すると、特定の電子メール アドレスに電子メールが送信されます。 方法 1: Linux Bash スクリプトを使用してメモリ使用率を監視し、メールを送信する システムが特定のしきい値に達したときにのみ、現在のメモリ使用率のパーセンテージを電子メールで取得する場合は、次のスクリプトを使用します。 これは非常にシンプルでわかりやすい 1 行のスクリプトです。ほとんどの場合、私はこのアプローチを好みます。 システムのメモリ使用率が 80% に達すると、電子メールが送信されます。 */5 * * * * /usr/bin/free | awk '/Mem/{printf("RAM Usage: %.2f%\n"), $3/$2*100}' | awk '{print $3}' | awk '{if($1 > 80) print $0;}' | mail -s "メモリ使用量過多の警告" [email protected] 注意:弊社のメール アドレスを使用する代わりに、メール アドレスを変更する必要があります。さらに、必要に応じてメモリ使用率のしきい値を変更することもできます。 出力: 以下のような電子メールアラートが届きます。
これまで、多くの便利なシェル スクリプトを追加してきました。これらをご覧になりたい場合は、以下のリンクにアクセスしてください。 * シェル スクリプトを使用して日常業務を自動化する方法は? 方法 2: Linux Bash スクリプトを使用してメモリ使用率を監視し、メールを送信する メールアラートでメモリ使用率に関する詳細情報を取得したい場合。 top および ps コマンドに基づく上位のメモリ使用率とプロセスの詳細を含む次のスクリプトを使用します。 これにより、システムのパフォーマンスがすぐにわかります。 システムのメモリ使用率が「80%」に達すると、電子メールが送信されます。 注意: 弊社のメール アドレスを使用する代わりに、メール アドレスを変更する必要があります。さらに、必要に応じてメモリ使用率のしきい値を変更することもできます。 # vi /opt/scripts/memory-alert.sh #!/bin/sh ramusage=$(free | awk '/Mem/{printf("RAM 使用量: %.2f\n"), $3/$2*100}' | awk '{print $3}') [ "$ramusage" > 20 ] の場合; 件名="注意: $(ホスト名) のメモリ使用率が $(日付) に高くなっています" メッセージ="/tmp/Mail.out" 宛先:[email protected] echo "現在のメモリ使用量は: $ramusage%" >> $MESSAGE エコー "" >> $MESSAGE echo "------------------------------------------------------------------" >> $MESSAGE echo "top コマンドを使用したメモリ消費量上位プロセス" >> $MESSAGE echo "------------------------------------------------------------------" >> $MESSAGE echo "$(top -b -o +%MEM | head -n 20)" >> $MESSAGE エコー "" >> $MESSAGE echo "------------------------------------------------------------------" >> $MESSAGE echo "ps コマンドを使用したメモリ消費量上位のプロセス" >> $MESSAGE echo "------------------------------------------------------------------" >> $MESSAGE echo "$(ps -eo pid,ppid,%mem,%Memory,cmd --sort=-%mem | head)" >> $MESSAGE メール -s "$SUBJECT" "$TO" < $MESSAGE rm /tmp/Mail.out フィ 最後に、この操作を自動化する cron ジョブを追加します。 5分ごとに実行されます。 # crontab -e */5 * * * * /bin/bash /opt/scripts/memory-alert.sh 注意:スクリプトは 5 分ごとに実行されるようにスケジュールされているため、最大 5 分以内に電子メールによるリマインダーが届きます (ただし、時間によっては 5 分にならない場合もあります)。 たとえば、システムが指定された制限値 8.25 に達すると、5 分以内に電子メールアラートが届きます。これで明らかになったと思います。 出力: 以下のような電子メールアラートが届きます。 メモリの現在の使用率は: 80.71% +----------------------------------------------------------------------------------+ top コマンドを使用したメモリ消費量上位プロセス +----------------------------------------------------------------------------------+ トップ - 12:00:58 5 日間稼働、9:03、ユーザー 1 人、負荷平均: 1.82、2.60、2.83 タスク: 合計 314、実行中 1、スリープ中 313、停止中 0、ゾンビ 0 %Cpu0: 8.3 us、12.5 sy、0.0 ni、75.0 id、0.0 wa、0.0 hi、4.2 si、0.0 st %Cpu1: 13.6 us、4.5 sy、0.0 ni、81.8 id、0.0 wa、0.0 hi、0.0 si、0.0 st %Cpu2: 21.7 us、21.7 sy、0.0 ni、56.5 id、0.0 wa、0.0 hi、0.0 si、0.0 st %Cpu3: 13.6 us、9.1 sy、0.0 ni、77.3 id、0.0 wa、0.0 hi、0.0 si、0.0 st %Cpu4: 17.4 us、8.7 sy、0.0 ni、73.9 id、0.0 wa、0.0 hi、0.0 si、0.0 st %Cpu5: 20.8 us、4.2 sy、0.0 ni、70.8 id、0.0 wa、0.0 hi、4.2 si、0.0 st %Cpu6: 9.1 us、0.0 sy、0.0 ni、90.9 id、0.0 wa、0.0 hi、0.0 si、0.0 st %Cpu7: 17.4 us、4.3 sy、0.0 ni、78.3 id、0.0 wa、0.0 hi、0.0 si、0.0 st KiB メモリ: 合計 16248588、空き 5015964、使用中 6453404、バッファ/キャッシュ 4779220 KiB スワップ: 合計 17873388、空き 16928620、使用済み 944768。使用可能なメモリ 6423008 PID ユーザー PR NI 仮想リソース SHR S %CPU %MEM 時間+ コマンド 17163 daygeek 20 2033204 487736 282888 S 10.0 3.0 8:26.07 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 9408 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /u+ 1121 デイギーク 20 4191388 419180 100552 S 5.0 2.6 126:02.84 /usr/bin/gnome-shell 1902 デイギーク 20 1701644 327216 82536 S 20.0 2.0 153:27.92 /opt/google/chrome/chrome 2969 daygeek 20 1051116 324656 92388 S 15.0 2.0 149:38.09 /opt/google/chrome/chrome --type=renderer --field-trial-handle=10346122902703263820,11905758137655502112,131072 --service-pipe-token=1339861+ 1068 daygeek 20 1104856 309552 278072 S 5.0 1.9 143:47.42 /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3 27246 daygeek 20 907344 265600 108276 S 30.0 1.6 10:42.80 /opt/google/chrome/chrome --type=renderer --field-trial-handle=10346122902703263820,11905758137655502112,131072 --service-pipe-token=8587368+ +----------------------------------------------------------------------------------+ ps コマンドを使用してメモリを最も多く消費しているプロセス +----------------------------------------------------------------------------------+ PID PPID %MEM %CPU コマンド 8223 1 6.4 6.8 /usr/lib/firefox/firefox --新しいウィンドウ 13948 1121 6.3 1.2 /usr/bin/../lib/notepadqq/notepadqq-bin 8671 8223 4.4 7.5 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 6999 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true タブ 17163 8223 3.0 0.6 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 9408 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true タブ 1121 1078 2.5 1.6 /usr/bin/gnome-shell 17937 8223 2.5 0.8 /usr/lib/firefox/firefox -contentproc -childID 16 -isForBrowser -prefsLen 9410 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true タブ 8499 8223 2.2 0.6 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 6635 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true タブ 8306 8223 2.2 0.8 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true タブ 9198 8223 2.1 0.6 /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8604 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true タブ 出典: https://www.2daygeek.com/linux-bash-script-to-monitor-memory-utilization-usage-and-send-email/ 著者: Magesh Maruthamuthu トピック: lujun9972 翻訳者: wxy 校正者: wxy 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySQLサーバのスレッド数を表示する方法の詳細な説明
>>: Vueはタブを切り替えてデータの状態を維持する3つの方法を実装します
目次NIS の紹介ネットワーク環境: 1. 環境の準備(両方のノードが必要) 2.nisマスターサー...
導入今日SQLを書いているときに、問題が発生しました。要件は、データを照会し、スコアと過去 1 週間...
JSON データを美しいインデント形式で表示するには、最も単純な JSON.stringify 関...
目次1. SQLコマンドを含むSQLスクリプトファイルを作成する2. SQLスクリプトファイルを実行...
この記事では、一般的な MySQL ストレージ エンジンの機能と使用方法を例を使って説明します。ご参...
コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...
ムーアの法則はもはや適用されない2004年にフレックストロニクスがフロッグデザインを買収したのを皮切...
背景前景要素から特定の色を継承する影の効果を作成する方法を知りたいと思ったことはありませんか?方法に...
この記事ではUbuntuでC++インターフェースを使用してopencvをインストールする方法について...
Windows 64ビットでのMySQLのインストールについて説明します。5.7以降、MySQLの...
序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...
コンテナの応用はますます一般的になっていますが、大量のコンテナをどのように管理すればよいのでしょうか...
今日は、データ バックアップに関連するいくつかの点について調べ、MySQL データ バックアップに関...
公式ドキュメント: https://dev.mysql.com/doc/refman/5.7/en/...
目次デバウンススロットル要約するデバウンス定義: スクロール イベントなど、短時間に連続してトリガー...