Поиск по сайту:

Установите и настройте sar и ksar для ежедневного мониторинга в Linux и создания отчетов в формате PDF.


На этой странице

  1. Часть 1. Установка программного обеспечения для мониторинга SAR
  2. Часть 2. Установка KSAR
  3. Часть 3. СЦЕНАРИЙ мониторинга

В этом руководстве основное внимание уделяется установке и настройке мощных утилит sar и ksar в CentOS, Debian и Ubuntu и показано, как автоматически создавать отчеты в формате PDF с помощью простого сценария оболочки для удобного ежедневного мониторинга использования ресурсов сервера.

Часть 1. Установка программного обеспечения для мониторинга SAR

SAR означает отчеты об активности системы. SAR — это легкий инструмент для мониторинга системы в режиме реального времени. Он может предоставить отчет об использовании ресурсов серверов в соответствии с нашим требованием. По умолчанию он выдает вывод на терминал, а также хранит информацию в течение дня, поэтому это будет очень удобная и мощная утилита для системных администраторов.

SAR можно установить в любой версии Linux, он является частью пакетов sysstat.

Установите и настройте SAR

Для Дебиан/Убунту

# 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 из исходного кода, он установит systat в /usr/local/bin/

После установки проверьте версию SAR

#:~$ sar -V
 sysstat version 11.2.0

После этого убедитесь, что сбор данных SAR включен.

В Убунту

#sudo vi /etc/default/sysstat 
ENABLED="true"

затем перезапустите службу sar и включите ее при запуске системы.

# systemctl start sysstat
# systemctl enable sysstat

Теперь проверьте, правильно ли работает sar в системе, выполнив следующую команду. Здесь 2-секундный интервал времени и 4-кратный вывод.

[ ~]$ 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      0.00      0.50      0.00      0.00     98.24
12:18:17 AM     all      2.50      0.00      0.38      0.00      0.00     97.12
12:18:19 AM     all      2.12      0.00      0.62      0.12      0.00     97.12
12:18:21 AM     all      1.75      0.00      0.50      0.00      0.00     97.75
 Average:       all      1.91      0.00      0.50      0.03      0.00     97.56

Мы можем просто запустить команду sar, чтобы проверить использование ресурсов.

[ script]# sar
Linux 5.0.16-200.fc29.x86_64 (redhat)     05/24/2019     _x86_64_    (4 CPU)

12:00:01 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle
12:10:01 AM     all      4.02      0.05      1.45      1.40      0.00     93.09
12:20:01 AM     all      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      2.45      0.59      0.00     87.65

По умолчанию интервал sar установлен каждые 10 минут. Мы можем изменить это значение, отредактировав следующие файлы.

vi /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

В приведенном выше файле sa1 — это сценарий оболочки для сбора и хранения двоичных данных  в файле ежедневных данных об активности системы, а sa2 — это сценарий оболочки, который записывает ежедневный отчет в /var/log/sa в конце дня (23:53 выше). кронджоб).

Часть 2: Установка KSAR

KSAR создает график из значения SAR, который очень легко анализировать. KSAR основан на JAVA, поэтому в нашей системе должен быть установлен JDK 8 или выше. 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.sh
sh run.sh &

мы должны выполнить скрипт run.sh как обычный пользователь, не запускайте скрипт KSAR как пользователь root.

теперь KSAR будет отображать простой и удобный графический интерфейс.

Теперь нажмите «Данные» -> «Загрузить из текстового файла» -> выберите файл ~/Desktop/sar21.

Теперь наш файл sar загружен в KSAR.

Теперь мы можем экспортировать график в формате pdf, jpg, png, csv, txt. Здесь мы экспортируем график в pdf и выбираем все значения при экспорте pdf.

Теперь откройте этот PDF-файл, он покажет все полезные ресурсы сервера.

Здесь мы можем загрузить ЦП в течение дня на сервере.

Это использование памяти в течение дня

Таким образом, мы можем очень легко генерировать график ЦП, памяти, процессора, ввода-вывода, подкачки, сокетов и многих других полезных системных ресурсов для ежедневного мониторинга.

Часть 3: СЦЕНАРИЙ мониторинга

Графический интерфейс KSAR очень удобен. Но скрипт будет более эффективно генерировать ежедневный график KSAR и экономить время.

В этой части мы создадим два скрипта.

Первый скрипт будет ежедневно генерировать график за день.

vi sar_script.sh
#!/bin/bash
i=`date --date="1 days ago" +%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 graph successfully generated"
sudo chmod u+x sar_script.sh

Приведенный выше скрипт будет генерировать отчет о системных ресурсах за один день. Мы можем установить этот скрипт в cronjob для автоматического создания графика sar в формате pdf.

crontab -e
* 10 * * * /bin/sh /home/admin/script/sar_script.sh

Этот cronjob генерирует ежедневный график в формате PDF на основе значения sar в 10:00.

Далее мы сгенерируем отчет статистики sar за весь месяц.

#!/bin/bash

function sar_value(){
#This is set for 31 possible days.
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 days ago" +%b).txt
done
}

Function for script
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

Это создаст отчет за весь месяц в одном файле PDF.

Мы можем настроить cron для автоматического создания отчета, как показано выше. Если нам нужен прямой отчет kSar graph с сервера на локальный компьютер, мы можем установить ssh без пароля между сервером и локальным компьютером и настроить автоматизацию, добавив rsync в приведенный выше скрипт.

Таким образом, мы можем использовать очень мощную утилиту sar, очень эффективный способ ежедневного мониторинга системы.