このチュートリアルでは、CentOS、Debian、Ubuntuでの強力なユーティリティsarとksarのインストールと構成に焦点を当て、サーバーリソースの使用状況を毎日簡単に監視するためのシンプルなシェルスクリプトを使用してPDFレポートを自動的に作成する方法を示します。
パート1:SAR監視ソフトウェアのインストール
SARは、システムアクティビティレポートを意味します。 SARは、軽量のリアルタイムシステム監視ツールです。要件に応じて、サーバーのリソース使用状況レポートを提供できます。デフォルトで端末に出力を提供し、情報を日ごとに保存するため、システム管理者にとって非常に便利で強力なユーティリティになります。
SARは任意のLinuxフレーバーにインストールできます。これはsysstatパッケージの一部です。
SARのインストールと構成
Debian/Ubuntuの場合
#sudo apt-get install sysstat
RedHat/CentOSの場合
#sudo yum install sysstat
ソースから最新のsysstatをインストールします。
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-12.1.4.tar.bz2
tar -xvf sysstat-12.1.4.tar.bz2
cd sysstat- 12.1.4 /
./configure --enable-install-cron
make
make install
ソースからsarをインストールすると、/ usr / local / bin /
の下にsystatがインストールされます。インストール後、SARバージョンを確認します
#[メール保護]:〜$ sar -V
sysstatバージョン11.2.0
その後、SARデータ収集が有効になっていることを確認してください。
Ubuntuの場合
#sudo vi / etc / default / sysstat
ENABLED ="true"
次に、sarサービスを再起動し、システムの起動時に有効にします。
#systemctl start sysstat
#systemctl enable sysstat
次のコマンドを実行して、システムでsarが正しく機能していることを確認します。ここでは、2秒の時間間隔と4回の出力です。
[[email protected]〜] $ sar 2 4
Linux 5.0.16-200.fc29.x86_64(redhat)05/22/2019 _x86_64_(4 CPU)
12 :18:13 AM CPU%user%nice%system%iowait%steal%idle
12:18:15 AM all 1.25 1.25:0.00 18 0.00 .8 0.00 97.12
12時18分19秒AMすべて2.12 0.00 0.62 0.12 0.00 97.12
十二時18分21秒AMすべて1.75 0.00 0.50 0.00 0.00 97.75
平均:全1.91 0.00 0.50 0.03 0.00 97.56
sarコマンドを実行するだけで、リソースの使用状況を確認できます。
[[email protected] script]#sar
Linux 5.0.16-200.fc29.x86_64(redhat)05/24/2019 _x86_64_(4 CPU)
12:00 :01 AMのCPU%ユーザー%いいの%システム%iowaitの%%アイドル
午前12時10分01秒AMを盗むすべて4.02 0.05 1.45 1.40 0.00 93.09
12時20分01秒AMすべて6.27 0.02 1.82 0.56 0.00 91.33
12:30:01 AM all 10.61 0.03 2.69 0.64 0.00 86.03
12:40:01 AM all 9.26 0.05> 6.45 0.59デフォルトでは、sar間隔は10分ごとに設定されています。次のファイルを編集することで、この値を変更できます。
vi /etc/cron.d/sysstat#システムアクティビティアカウンティングツールを10分ごとに実行
* / 10 * * * * root / usr / lib64 / sa / sa1 1 1
#0 * * * * root / usr / lib64 / sa / sa1 600 6&
#23:53にプロセスアカウンティングの日次サマリーを生成します
53 23 * * * root / usr / lib64 / sa / sa2 -A上記のファイルで、sa1はシステムアクティビティの日次データファイルにバイナリデータを収集して保存するためのシェルスクリプトであり、sa2は1日の終わりに/ var / log / saに日次レポートを書き込むシェルスクリプトです(上記の23:53)。 cronjob)。
パート2:KSARのインストール
KSARは、分析が非常に簡単なSAR値からグラフを生成します。 KSARはJAVAに基づいているため、システムにJDK8以降をインストールする必要があります。システムリポジトリの一部ではないKSARは、手動でKSARをダウンロードする必要があります。
まず、Javaをredhat/centosにインストールします
sudo yum install java-1.8.0-OpenJDK.x86_64次に、KSarをダウンロードしてシステムにインストールします。
wget https://excellmedia.dl.sourceforge.net/project/ksar/ksar/5.0.6/kSar-5.0.6.zip
unzip kSar-5.0.6.zip
cd kSar-5.0.6 /次に、次のコマンドを使用してsarコマンドの統計を収集します。
LC_ALL =C sar -A -f / var / log / sa / sa21>〜/ Desktop / sar21
sudo chmod u + x run.shsh run.sh&run.shスクリプトを通常のユーザーとして実行する必要があります。KSARスクリプトをrootユーザーとして実行しないでください。
これで、KSARはシンプルでユーザーフレンドリーなGUIを表示します。
次に、[データ]->[テキストファイルからロード]->[〜/ Desktop/sar21ファイル]を選択します。
これで、sarファイルがKSARにロードされました。
これで、グラフをpdf、jpg、png、csv、txt形式でエクスポートできます。ここでは、グラフをPDFでエクスポートし、PDFのエクスポート中にすべての値を選択します。
そのPDFを開くと、すべての有用なサーバーリソースが表示されます。
ここでは、サーバーで1日のCPU負荷をかけることができます。
これは1日のメモリ使用量です
このようにして、CPU、メモリ、プロセッサ、I / O、スワップ、ソケット、およびその他の多くの有用なシステムリソースのグラフを、毎日の監視タスクのために非常に簡単に生成できます。
パート3:モニタリングスクリプト
KSARGUIは非常にユーザーフレンドリーです。ただし、スクリプトは毎日のKSARグラフをより効果的に生成し、時間を節約します。
このパートでは、2つのスクリプトを作成します。
最初のスクリプトは、毎日1日のグラフを生成します。
vi sar_script.sh#!/ bin / bash
i =`date --date ="1日前"+%d`
LC_ALL =C sar -A -f / var / log / sa / sa $ i> / home / admin / sar_report / sardaily_report $ i
cd /home/soham/Downloads/kSar-5.0.6/
java -jar kSar.jar -input / home / admin / sar_report / sardaily_report $ i -outputPDF / home / admin / sar_report / sardaily $(date --date ="1 days ago" +%b)$ i.pdf
echo"Ksarグラフが正常に生成されました"sudo chmod u + x sar_script.sh上記のスクリプトは、1日のシステムリソースレポートを生成します。このスクリプトをcronjobに設定して、PDF形式のsarグラフの生成を自動化できます。
crontab -e* 10 * * * / bin / sh /home/admin/script/sar_script.shこのcronジョブは、午前10時のsar値から毎日のPDFグラフを生成します。
次に、1か月間のsar統計レポートを生成します。
#!/ bin / bash
function sar_value(){
#これは31日間に設定されています。
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31; do
LC_ALL =C sar -A -f / var / log / sa / sa $ i>> / home / admin / sar_report / sarmonthly $(date --date ="1日前"+%b)。 txt
done
}
スクリプトの関数
sar_value次に、そのテキストファイルをPDFグラフを生成するための入力として受け取ります。
java -jar kSar.jar -input /home/admin/sar_report/sarmonthly$(date --date ="1 days ago" +%b).txt -outputPDF /home/admin/sar_report/sar_monthly.pdfこれにより、1か月のレポートが1つのPDFファイルに生成されます。
上記のように、レポートの自動生成用にcronを設定できます。サーバーからローカルPCに直接kSarグラフレポートが必要な場合は、サーバーとローカルPCの間にパスワードなしのsshを設定し、上記のスクリプトにrsyncを追加することで自動化をセットアップできます。
このようにして、システムの毎日の監視タスクに非常に強力なsarユーティリティを非常に効果的に使用できます。
Linux