Отправка сетевой статистики VNSTAT по email

Abdula аватар

Среди множества приложений, занимающихся учетом сетевого трафика, есть простая и главное, надежная утилита VNSTAT.
Она устанавливается как сервис, и с ее помощью можно организовать отсылку статистики в виде графической картинки по email.

Сетевой трафик VNSTAT
Делается это по нижеследующей инструкции.

1. Подключаем репозитарий EPEL:

        yum install epel-release

2. Устанавливаем пакет VNSTAT:

        yum install vnstat

3. Создаем базу VNSTAT для необходимого интерфейса:

        vnstat -u -i eth0

4. Обеспечиваем автозапуск VNSTAT:

        chkconfig vnstat on

5. Запускаем VNSTAT:

        service vnstat start

6. Установливаем MUTT

        yum install mutt
и отвечаем 'yes'

7. Запускаем MUTT, чтобы он создал почтовый каталог:

        mutt   

и ответить 'yes'

8. Создаем в каталоге /root каталог /bin

        mkdir /root/bin

9. Назначить каталогу /bin права 700

        chmod 700 /root/bin

10. Создать в каталоге /bin каталог /vnstat_report

        mkdir /root/bin/vnstat_report

11. Назначить каталогу /root/bin/vnstat_report права 700

        chmod 700 /root/bin/vnstat_report

12. Создаем в каталоге /root/bin/vnstat_report
файл vnstat_report.sh со следующим содержанием:

  1. #!/bin/bash
  2.  
  3. CUR_DIR=$( dirname $( readlink -e "$0" ) )
  4.  
  5. EMAIL_TO="pupkin@mail.ru"
  6. EMAIL_SUBJ="Network traffic $( date +"%d %B %Y" --date='-1 day' )"
  7. EMAIL_BODY=$CUR_DIR/vnstat-report.html
  8. STAT_IMG=/tmp/netstat.png
  9.  
  10. trap 'rm -f $STAT_IMG; exit' EXIT TERM INT
  11.  
  12. vnstati -vs -o $STAT_IMG --config $CUR_DIR/vnstat.conf
  13.  
  14. mutt -e 'set content_type="text/html"' \
  15.      -e 'set send_charset="utf-8"' \
  16.      -e 'set user_agent=no' \
  17.      -e 'set copy=no' \
  18.      -e 'set realname="Vnstat"' \
  19.      -s "$EMAIL_SUBJ" $EMAIL_TO < $EMAIL_BODY -a $STAT_IMG

13. Задаем скрипту vnstat_report.sh права 700

        chmod 700 /root/bin/vnstat_report/vnstat_report.sh

14. Создать в каталоге /root/bin/vnstat_report
файл vnstat-report.html со следующим содержанием:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5. </head>
  6. <body>
  7.     <h3>Network statistics</h3>
  8.     <img src="netstat.png">
  9. </body>
  10. </html>

15. Копируем оригинальный /etc/vnstat.conf в папку со скриптом и
для наглядности данных модифицируем его -

        /root/bin/vnstat_report/etc/vnstat.conf

используя следующие корректировки:

Заменить

  1.         DayFormat    "%x"
  2.         MonthFormat  "%b '%y"
  3.         TopFormat    "%x"

на
  1.         DayFormat    "%d.%m.%Y"
  2.         MonthFormat  "%b '%Y"
  3.         TopFormat    "%d.%m.%Y"

и
        HeaderFormat "%x %H:%M"
на
        HeaderFormat "%d %B %Y %H:%M"

16. Проверяем работу скрипта:

        /root/bin/vnstat_report/vnstat_report.sh

17. Вносим в CRON правку для ежесуточной отправки в 00:02

        crontab -e

        2 0 * * *       /root/bin/vnstat_report/vnstat_report.sh

18. Enjoy!

Ваша оценка: Ничего Средняя оценка: 10 (3 votes)
RSS-материал