نماد سایت وبلاگ شتابان هاست

به دست آوردن میانگین مصرف CPU و Memory از گزارشات SAR با استفاده از Bash Script

به دست آوردن میانگین مصرف CPU و Memory از گزارشات SAR با استفاده از Bash Script

بیشتر سرورهای Linux عملکرد سیستم را با گزارش SAR نظارت می کنند زیرا داده های عملکرد را برای یک هفته جمع می کند. اما می توانید با ایجاد تغییر در پرونده  “/etc/sysconfig/sysstat” این کار را به راحتی به چهار هفته افزایش دهید. همچنین ، این دوره می تواند فراتر از یک ماه تمدید شود. اگر مقدار از 28 فراتر رود ، پرونده های گزارش در چند دایرکتوری قرار می گیرند ، یکی برای هر ماه.

برای افزایش مدت زمان پوشش تا 28 روز ، تغییر زیر را در پرونده “/ etc / sysconfig / sysstat” تغییر دهید. پرونده sysstat را ویرایش کنید و HISTORY = 7 را به HISTORY = 28 تغییر دهید. در این مقاله ما سه اسکریپت bash اضافه کرده ایم که به شما کمک می کند تا به طور متوسط ​​میانگین هر پرونده را در یک مکان مشاهده کنید.

این اسکریپت ها ساده و سرراست هستند. برای اهداف آزمایش ، ما فقط دو معیار عملکرد شامل CPU و Memory را درج کرده ایم. می توانید معیارهای عملکرد دیگر را در متن تغییر دهید تا متناسب با نیاز خود استفاده کنید. توجه داشته باشید که کاربران مستقر در Debian باید به جای آن مسیر “var / log / sysstat / sa” را جایگزین کنند. پرونده پیکربندی را می توان در “/ etc / sysstat / config” یافت.

Script-1: Bash Script برای بهره‌گیری میانگین پردازنده از گزارشات SAR

این اسکریپت bash میانگین پردازنده را از هر پرونده داده جمع آوری کرده و آن را در یک صفحه نمایش می دهد. از آنجا که پایان ماه است ، داده های 28 روزه برای آگوست 2019 را نشان می دهد.

 vi /opt/scripts/sar-cpu-avg.sh

!/bin/sh

echo "+----------------------------------------------------------------------------------+"
echo "|Average:         CPU     %user     %nice   %system   %iowait    %steal     %idle  |"
echo "+----------------------------------------------------------------------------------+"

for file in `ls -tr /var/log/sa/sa* | grep -v sar`

do

dat=`sar -f $file | head -n 1 | awk '{print $4}'`

echo -n $dat

وقتی اسکریپت را اجرا کردید ، یک خروجی مانند نسخه زیر دریافت خواهید کرد.

sh /opt/scripts/sar-cpu-avg.sh

+----------------------------------------------------------------------------------+
|Average:         CPU     %user     %nice   %system   %iowait    %steal     %idle  |
+----------------------------------------------------------------------------------+
08/01/2019        all      0.70      0.00      1.19      0.00      0.00     98.10
08/02/2019        all      1.73      0.00      3.16      0.01      0.00     95.10
08/03/2019        all      1.73      0.00      3.16      0.01      0.00     95.11
08/04/2019        all      1.02      0.00      1.80      0.00      0.00     97.18
08/05/2019        all      0.68      0.00      1.08      0.01      0.00     98.24
08/06/2019        all      0.71      0.00      1.17      0.00      0.00     98.12
08/07/2019        all      1.79      0.00      3.17      0.01      0.00     95.03
08/08/2019        all      1.78      0.00      3.14      0.01      0.00     95.08
08/09/2019        all      1.07      0.00      1.82      0.00      0.00     97.10
08/10/2019        all      0.38      0.00      0.50      0.00      0.00     99.12
.
.
.
08/29/2019        all      1.50      0.00      2.33      0.00      0.00     96.17
08/30/2019        all      2.32      0.00      3.47      0.01      0.00     94.20
+----------------------------------------------------------------------------------+

Script-2: Bash Script برای به دست آوردن میانگین استفاده از Memory از گزارشات SAR

این اسکریپت bash میانگین حافظه را از هر پرونده داده جمع آوری کرده و آن را در یک صفحه نمایش می دهد. از آنجا که پایان ماه است ، داده های 28 روزه برای آگوست 2019 را نشان می دهد.

vi /opt/scripts/sar-memory-avg.sh

!/bin/sh

echo "+-------------------------------------------------------------------------------------------------------------------+"
echo "|Average:       kbmemfree kbmemused  %memused kbbuffers kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty  |"
echo "+-------------------------------------------------------------------------------------------------------------------+"

for file in `ls -tr /var/log/sa/sa* | grep -v sar`

do

dat=`sar -f $file | head -n 1 | awk '{print $4}'`

echo -n $dat

sar -r -f $file  | grep -i Average | sed "s/Average://"

done

echo "+-------------------------------------------------------------------------------------------------------------------+"

وقتی اسکریپت را اجرا کردید ، یک خروجی مانند نسخه زیر دریافت خواهید کرد.

sh /opt/scripts/sar-memory-avg.sh

+--------------------------------------------------------------------------------------------------------------------+
|Average:        kbmemfree kbmemused  %memused kbbuffers kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty  |
+--------------------------------------------------------------------------------------------------------------------+
08/01/2019      1492331   2388461     61.55     29888   1152142   1560615     12.72   1693031    380472         6
08/02/2019      1493126   2387666     61.53     29888   1147811   1569624     12.79   1696387    373346         3
08/03/2019      1489582   2391210     61.62     29888   1147076   1581711     12.89   1701480    370325         3
08/04/2019      1490403   2390389     61.60     29888   1148206   1569671     12.79   1697654    373484         4
08/05/2019      1484506   2396286     61.75     29888   1152409   1563804     12.75   1702424    374628         4
08/06/2019      1473593   2407199     62.03     29888   1151137   1577491     12.86   1715426    371000         8
08/07/2019      1467150   2413642     62.19     29888   1155639   1596653     13.01   1716900    372574        13
08/08/2019      1451366   2429426     62.60     29888   1162253   1604672     13.08   1725931    376998         5
08/09/2019      1451191   2429601     62.61     29888   1158696   1582192     12.90   1728819    371025         4
08/10/2019      1450050   2430742     62.64     29888   1160916   1579888     12.88   1729975    370844         5
.
.
.
08/29/2019      1365699   2515093     64.81     29888   1198832   1593567     12.99   1781733    376157        15
08/30/2019      1361920   2518872     64.91     29888   1200785   1595105     13.00   1784556    375641         8
+-------------------------------------------------------------------------------------------------------------------+

Script-3: Bash Script برای به دست آوردن میانگین CPU و استفاده از Memory از گزارشات SAR

این اسکریپت bash به طور متوسط ​​CPU و حافظه را از هر پرونده داده جمع می کند و آنها را در یک صفحه نمایش می دهد. این اسکریپت bash در مقایسه با اسکریپت بالا کمی متفاوت است. این میانگین هر دو (CPU و Memory) را در یک مکان نشان می دهد ، نه داده های دیگر.

vi /opt/scripts/sar-cpu-mem-avg.sh

!/bin/bash

for file in `ls -tr /var/log/sa/sa* | grep -v sar`

do

        sar -f $file | head -n 1 | awk '{print $4}'

        echo "-----------"

        sar -u -f $file | awk '/Average:/{printf("CPU Average: %.2f%\n"), 100 - $8}'

        sar -r -f $file | awk '/Average:/{printf("Memory Average: %.2f%\n"),(($3-$5-$6)/($2+$3)) * 100 }'

        printf "\n"

done

وقتی اسکریپت را اجرا کردید ، یک خروجی مانند نسخه زیر دریافت خواهید کرد.

sh /opt/scripts/sar-cpu-mem-avg.sh

08/01/2019
-----------
CPU Average: 1.90%
Memory Average: 31.09%

08/02/2019
-----------
CPU Average: 4.90%
Memory Average: 31.18%

08/03/2019
-----------
CPU Average: 4.89%
Memory Average: 31.29%

08/04/2019
-----------
CPU Average: 2.82%
Memory Average: 31.24%

08/05/2019
-----------
CPU Average: 1.76%
Memory Average: 31.28%
.
.
.
08/29/2019
-----------
CPU Average: 3.83%
Memory Average: 33.15%

08/30/2019
-----------
CPU Average: 5.80%
Memory Average: 33.19%

امیدوارم این مقالع برای شما مفید بوده باشد.

ما را در شتابان هاست دنبال کنید.

خروج از نسخه موبایل