Проект GitHub elastic / beats-dashboards содержит скрипт Python для сброса определений Kibana (в JSON, по одному файлу на определение) и сценарий оболочки для загрузки этих экспортированных определений в экземпляр Elasticsearch.
Скрипт Python сбрасывает все определения Kibana, что в моем случае больше, чем я хочу.
Я хочу распространить только некоторые определения: в частности, определения для нескольких панелей мониторинга (с их визуализацией и поиском), а не для всех панелей мониторинга в моем экземпляре Elasticsearch.
Я рассматривал различные варианты, в том числе написание сценариев для получения конкретного определения панели мониторинга, а затем анализ этого определения и получение процитированных определений визуализации и поиска, но пока я выбрал следующее решение (неэлегантное, но прагматичное).
В Kibana я редактировал каждое определение и вставлял строку в поле описания, которая идентифицирует определение как то, которое я хочу экспортировать. Например, "#exportme"
.
В скрипте Python (из beats-dashboards), который выгружает определения, я ввел параметр запроса в вызов функции поиска, ограничив его определениями с этой идентифицирующей строкой. Например:
res = es.search(
index='.kibana',
doc_type=doc_type,
size=1000,
q='description:"#exportme"')
(На практике вместо жесткого кодирования «хэштега» лучше указать его с помощью аргумента командной строки.)
Один аспект сценариев dump'n'load, предоставляемых с эластичными / beats-dashboards, который мне особенно нравится, - это их детализация: один файл JSON на определение. Я считаю это полезным для контроля версий.
person
Graham Hannington
schedule
28.01.2016