Установите и настройте sar и ksar для ежедневного мониторинга в Linux и создания отчетов в формате PDF.
На этой странице
- Часть 1. Установка программного обеспечения для мониторинга SAR
- Часть 2. Установка KSAR
- Часть 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, очень эффективный способ ежедневного мониторинга системы.