Вот ты собрал свой модный мониторинг. 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)


  1. megaboich
    11.09.2017 13:25

    Это похоже на сервис который периодически делает ПДФ из настроеных ссылок. В чем специфика в связке с кибаной?
    Тоесть его можно натроить делать пдф например из Хабра и рассылать по почте.
    Правильно ли я понял что автоматизации авторизации нет, расчет на то что отчеты доступны только из внутренней сети куда имеет доступ этот сервис?


    1. Crait Автор
      11.09.2017 13:46

      Да, правильно. Изначально этот сервис решал задачу, в которой авторизации не требовалось, но я думаю ее не сложно добавить, если потребуется. Вы не могли бы подробнее описать, что имеете ввиду под «автоматизацией авторизации»?


      1. megaboich
        11.09.2017 16:41

        Просто словесный каламбур получился такой. Имел в виду что для авторизации скорее всего придется обучить фантом автоматически вводить логин пароль или использовать другой метод.


        1. Crait Автор
          11.09.2017 16:53

          Ну, изначально в кибане не предусмотрено авторизации by-design. Перед ней может стоять или http-basic-auth на балансировщике, или какие-то самописные решения, тут уже общего решения предусмотреть не получится :(


  1. vazhnov
    11.09.2017 13:44

    Большое спасибо!
    По исходному коду — укажите, пожалуйста, разрешения на копирование/модификацию, если такое имеется.


  1. ov7a
    11.09.2017 16:42

    Интересно, но не хватает примера, как это выглядит.


    1. ov7a
      11.09.2017 16:44

      Ну и хотелось бы увидеть пару строчек о том, что внутри (для тех, кому лень читать гитхаб)


  1. hippoage
    11.09.2017 19:27

    Интересно, но сделал бы на базе wkhtmltoimage (png) & wkhtmltopdf (pdf), jq и bash в одном контейнере с запуском по внешнему крону (традиционному или из systemd).

    Еще есть athenapdf, если результат wkhtmltoimage не понравился бы, но он сразу делает pdf. В этом случае можно было бы либо склеить несколько pdf, либо сделать html без промежуточных png через iframe. Тоже бы использовал консольную версию, чтобы не запускать второй контейнер.


  1. SchmeL
    12.09.2017 14:25

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

    И понимаешь, что elasticsearch лег под нагрузкой и данных нет…
    Надо бы завести мониторинг — мысли в слух.