Вот ты собрал свой модный мониторинг. ElasticSearch принимает данные от чего бы то ни было, а кибана их рисует. Ты смотришь на графики один день, второй, третий и через некоторое время под грузом новых задач ты забываешь об этом. Вспоминаешь когда нужно показать начальникам какую-то отчетность, заходишь в кибану, делаешь скриншоты, и думаешь, что неплохо было бы иметь средство, которое это делало за тебя.
Да, это умеет делать X-Pack, но он стоит денег. Да, это умеет делать sentinl, но чтобы его настроить нужно будет повозиться, а пдф рисовать он так и не научился. А нужно всего ничего: сделать пару скриншотов, собрать из них PDF и отправить на почту, повторить через неделю.
Мы сделали это за тебя. Все, что нужно сделать – склонировать репозиторий, описать желаемый отчет в конфиге, вписать данные о почте ( откуда и куда отправлять ) и вот, отчеты уже у вас. Летят по расписанию, ага.
Допустим, у вас есть развернутая кибана и три дашборды, которые вы хотели бы показать в отчете. Тогда вы описываете эти дашборды в разделе pages конфиг файла ( урл дашборды, заголовок и описание для отчета ). Выглядеть это будет примерно вот так:
"pages":[
{
"url": "http://0.0.0.0:5601/app/kibana#/dashboard/ca460a50-8cb0-11e7-a2bb-9b97b18ab1d8?embed=true&_g=()",
"title": "Заголовок 1",
"description": "За неделю"
},
{
"url": "http://0.0.0.0:5601/app/kibana#/dashboard/e05c6b70-8cb2-11e7-a2bb-9b97b18ab1d8?embed=true&_g=()",
"title": "Заголовок 2 ",
"description": "За неделю"
},
{
"url": "http://0.0.0.0:5601/app/kibana#/dashboard/233acc20-8cb3-11e7-a2bb-9b97b18ab1d8?embed=true&_g=()",
"title": "Заголовок 3",
"description": "За неделю"
}
]
После этого осталось только вписать данные о почте, и желаемый временной промежуток ( как часто будут лететь отчеты ) в секундах:
"smtp_server": "smtp.yandex.ru",
"email_subject": "Регулярный отчет",
"email_text": "Регулярный отчет со статистикой по",
"email_from": "email@fr.om",
"email_password":"password",
"time_interval": 120,
"email_to": "email@t.o",
После конфигурирования осталось только запустить Reporter и он сам начнет работать:
docker-compose up -d
Все, теперь у Вас есть не только красивые графики, но и отчеты по расписанию, которые можно использовать, например в связке с мониторингом настроек TLS в роще доменов.
Вот здесь лежит исходный код, и простая, в три строчки инструкция настройки и запуска.
Комментарии (9)
vazhnov
11.09.2017 13:44Большое спасибо!
По исходному коду — укажите, пожалуйста, разрешения на копирование/модификацию, если такое имеется.
hippoage
11.09.2017 19:27Интересно, но сделал бы на базе wkhtmltoimage (png) & wkhtmltopdf (pdf), jq и bash в одном контейнере с запуском по внешнему крону (традиционному или из systemd).
Еще есть athenapdf, если результат wkhtmltoimage не понравился бы, но он сразу делает pdf. В этом случае можно было бы либо склеить несколько pdf, либо сделать html без промежуточных png через iframe. Тоже бы использовал консольную версию, чтобы не запускать второй контейнер.
SchmeL
12.09.2017 14:25Ты смотришь на графики один день, второй, третий и через некоторое время под грузом новых задач ты забываешь об этом. Вспоминаешь когда нужно показать начальникам какую-то отчетность, заходишь в кибану....
И понимаешь, что elasticsearch лег под нагрузкой и данных нет…
Надо бы завести мониторинг — мысли в слух.
megaboich
Это похоже на сервис который периодически делает ПДФ из настроеных ссылок. В чем специфика в связке с кибаной?
Тоесть его можно натроить делать пдф например из Хабра и рассылать по почте.
Правильно ли я понял что автоматизации авторизации нет, расчет на то что отчеты доступны только из внутренней сети куда имеет доступ этот сервис?
Crait Автор
Да, правильно. Изначально этот сервис решал задачу, в которой авторизации не требовалось, но я думаю ее не сложно добавить, если потребуется. Вы не могли бы подробнее описать, что имеете ввиду под «автоматизацией авторизации»?
megaboich
Просто словесный каламбур получился такой. Имел в виду что для авторизации скорее всего придется обучить фантом автоматически вводить логин пароль или использовать другой метод.
Crait Автор
Ну, изначально в кибане не предусмотрено авторизации by-design. Перед ней может стоять или http-basic-auth на балансировщике, или какие-то самописные решения, тут уже общего решения предусмотреть не получится :(