Добрый день!
В век безлимитных интернетов столкнулся с ситуацией когда нужно считать трафик). Расположенный в датацентре сервер решили вывести на большую скорость, но предоставляемый гигабит в секунду лимитировали 10ТБ... На всякий решил прикрутить счетчик трафика. В качестве роутера используется Mikrotik CHR. Для получения отчетов использую телеграмм. Огромная благодарность за напутствие и вдохновение сайт asp24.ru (не реклама)
И так, приступим...
Цель получить ежедневный и ежемесячный отчет по скачанному-переданному трафику и его суммы.
Не буду рассказывать как прикручивать телеграмм бот и чат айди, интернет завален инструкциями.
Что будем делать? Создаем 1 простую очередь (/queue/simple) у меня интерфейс интернета ether1
Далее добавляем скрипт в планировщик который считает трафик в любой заданный вами диапазон и сохраняет его как комментарий на себе же). Данный скрипт считывает значения очереди из первого пункта и сохраняет их. Имя задания в планировщике "TrafficCounters", можете поменять его на др. но соответственно измените первую переменную в скрипте.
Ну и итог данного баловства - отчет. Заводим еще одно задание в планировщик с периодом в один день (каждый на свое усмотрение может изменить параметр)
Что он делает?
1) берет комментарий из "TrafficCounters" и плюсует к своим показателям,
2) очищает в конце дня комментарий "TrafficCounters" и в конце месяца очищает свой счетчик
3) отправляет в телегу ежедневно отчет с трафиком за день и за весь период с начала, в конце месяца итоговый отчет
Даем название ему "TrafficReport" указываем Telegram Api key и Chat ID и все работает.
Постарался его красиво оформить) Не судите строго!
Простой счетчик трафика с отчетами.
Правила форума
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
Уважаемые Пользователи форума, обратите внимание!
Ни при каких обстоятельствах, Администрация форума, не несёт ответственности за какой-либо, прямой или косвенный, ущерб причиненный в результате использования материалов, взятых на этом Сайте или на любом другом сайте, на который имеется гиперссылка с данного Сайта. Возникновение неисправностей, потерю программ или данных в Ваших устройствах, даже если Администрация будет явно поставлена в известность о возможности такого ущерба.
Просим Вас быть предельно осторожными и внимательными, в использовании материалов раздела. Учитывать не только Ваши пожелания, но и границы возможностей вашего оборудования.
-
- Сообщения: 5
- Зарегистрирован: 14 ноя 2019, 12:57
Можно ли данный скрипт прописать для получения по электронной почте?
- mazzdie
- Сообщения: 15
- Зарегистрирован: 16 ноя 2018, 19:01
- Откуда: Санкт-Петербург
- hulitolku
- Сообщения: 34
- Зарегистрирован: 07 окт 2018, 11:59
Как выглядит отчет в телеге?
Приложите скрин.
Приложите скрин.
- mazzdie
- Сообщения: 15
- Зарегистрирован: 16 ноя 2018, 19:01
- Откуда: Санкт-Петербург
-
- Сообщения: 1
- Зарегистрирован: 15 авг 2016, 11:20
Топик старый, но зацепило, вдруг кому пригодится. Если с телегой не работает, а со стороны телеги сделали всё как надо и бот печатает если посылать ссылку из браузера, а от скрипта не хочет, то смотрите ссылки в скритпе, они тут в сокращении и коде. В
/tool fetch url="https://api.telegram.org/bot$TGBotID/se ... pre> Кусок se ... pre> замените на sendMessage?chat_id=$TGChatID&disable_notification=true&parse_mode=HTML&text=<pre>
Если тапните на ссылку то поймёте, у меня вырезано экранирование знака ? (где то читал, что в скриптах надо экранировать), но у меня работает как написал. Так, что всё рабочее, просто к копипасту надо добавить желание разобраться. Автору респект, реально прикольно.
/tool fetch url="https://api.telegram.org/bot$TGBotID/se ... pre> Кусок se ... pre> замените на sendMessage?chat_id=$TGChatID&disable_notification=true&parse_mode=HTML&text=<pre>
Если тапните на ссылку то поймёте, у меня вырезано экранирование знака ? (где то читал, что в скриптах надо экранировать), но у меня работает как написал. Так, что всё рабочее, просто к копипасту надо добавить желание разобраться. Автору респект, реально прикольно.