Does Kibana have some sort of reporting tool that can be used to email out summary reports of the current logs?
Here is the current situation I am in. Currently I am using logstash, elasticsearch, and kibana to collect and house the windows event logs for our servers. I am looking for a way to have a report generated every week and emailed to me. The report would just tell me how many failed logon events or failed file access events occured. Does Kibana have a feature that will allow me to do this? Or do I have to look outside of Kibana for a tool?
Do you know of any of the 3rd party tools that are free? The only thing I can find is Guardianz: http://guidanz.com/blog/report-scheduler-for-kibana/ and this tool is only included in their service which isn' t free.
I went ahead and +1 both of those issues. This seems like a pretty essential feature for Kibana to have.
For my situation I developed my own workaround which was pretty simple. What I did was wrote a python script which used selenium chromedriver. Before this I set up a dashboard with all of the information I needed in my reports. After that I used chromedriver to open up a chrome window, login to the dashboard, take a screenshot of the dashboard, and then email the screen capture. This script is scheduled to run once a week and at least provides me some form of a report.
For me this was a simple workaround and gave me what I needed.
from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
chrome = webdriver.Chrome(chrome_options = options)
chrome.get("http://kibana_username:kibana_password@url_to_kibana_dashboard")
sleep(5)
chrome.save_screenshot('**screenshot_path**')
sleep(1)
chrome.quit()
A couple of things you will need to change with the script: In the chrome.get() line put your kibana username and password in the beginning of the url, and then after the @ symbol put the url for the dashboard. The link to the dashboard can be found if you go to the dashboard and click on the share button. You will also need to put the path to where you want the screenshot to be saved in the chrome.save_screenshot() line.
As far as emailing the report I have this process set up as an Automate task, so that just picks up the picture from where it is saved and emails it as an attachment. If you want to include the emailing of the report in the script, here is a link about sending email attachments with python: http://stackoverflow.com/questions/3362600/how-to-send-email-attachments-with-python
If you have any problems with this or need me to clarify anything just let me know,
Dillon
Thanks for the reply, this is getting me a real good headstart.
I was investigating into generating reports out of Elastic using Jasper Reports with ES defined as Datasource,
which kinda worked, but I am not getting my head around of putting Kibana visualizations into JSON aggregations.
So, better to have at least something to generate, with this chromedriver
We recently released Skedler v2.2 version that makes it easy to schedule, generate, and distribute PDF, XLS reports from Kibana dashboards and search. It is useful for teams that need a quick economical solution to generate high quality reports from Kibana - Elasticsearch. With the new version, you can schedule time window based reports (helpful to create different time window reports from the same dashboard or search), pause/resume report generation, and customize the reports with logo, headers, various page sizes et al. We test and support Skedler in a variety of linux platforms (centos, debian, ubuntu), ES (1.6+), and Kibana (4.1+) versions. A free version of Skedler is also available.
Please see the blog: https://www.skedler.com/blog for more details on the latest version.
Here is a sample Skedler report: Alameda-Crime-Dashboard.pdf
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.