Introduction


Skedler Reports is available as a ready-to-use Amazon Machine Image(AMI) in AWS that can be used to schedule, generate, and distribute PDF, XLS, CSV reports from Elasticsearch Kibana (ELK) applications or Grafana applications with Elasticsearch.   In addition to providing an easy-to-use, affordable ELK, Grafana Reporting Solution, The Skedler Reports AMI solution offers the following advantages to your business:

  • Flexibility: An elastic cloud-based infrastructure for running Skedler Reports.
  • Faster Time to Market: Easy to launch and configure the reporting solution since the Skedler Reports AMI is pre-packaged with all the required components such as Ubuntu 16, OpenJDK, and Skedler Reports.    
  • Powerful Custom Reporting for Your Business: An ideal business user ready reporting solution for AWS Elasticsearch Service application, Other Cloud-based ELK applications, and On-premise ELK applications.   


Skedler Reports AWS AMI  can connect to the following:

1. User access to ELK or Grafana applications is required before running in your AWS instance

2. User access to Amazon Elasticsearch Service is required

3. User access to ELK or Grafana applications is required before running on-premise in your own servers.  This requires configuration of a VPC so that Skedler Reports in AWS can connect to your on-premise ELK application.   


Skedler Reports AMI is a Bring Your Own License (BYOL) AMI.  At this time, you cannot purchase/bill Skedler Reports License through Amazon.  Please contact sales@skedler.com to learn more about Skedler Reports pricing and how to purchase the license.    


Please review the information below to learn more about this solution and also how to use it to meet your Elasticsearch Kibana Grafana Reporting needs in an efficient manner.  


Community Edition (V3.8.0 and Above)


Skedler Reports AMI (V3.8.0 and below) is available for free with limited access.


While using the community edition, you can evaluate the key features of Skedler Reports and experiences its value:

  • Number of Reports: Only 2 reports can be scheduled


If you want to schedule multiple reports, consider purchasing one of the licensed editions of Skedler Reports.   Please review the below table for a comparison of Community version vs.  Licensed Editions of Skedler Reports.  


 Features    
Community EditionStandard Edition
Premium Edition
    Validity    
Unlimited Subscription License
Annual Subscription License
Annual Subscription License
PDF/Excel/CSV Reports from Kibana® Dashboard and Search
Available
Available
Available
PDF Reports from Grafana®   
Available
Available
Available
Smart Report Layout  
Available
Available
Available
Report Layout - Printer Optimized Smart Layout
Available
Not Available
Available
Design Custom Reports and Templates
Available
Not Available
Available
Filters-Based Reports Bursting
Multiple Filter Creation and 2 Filter queries per Filter is allowed
Not Available
Available
Number of Reports
2
Unlimited
Unlimited


Please visit Licensing for more information on pricing


Pricing and Licensing Skedler Reports


Skedler Reports AMI offers a free Community Edition. To upgrade to Standard Edition and Premium Editions, you need to purchase the license directly from Skedler Reports and use it in your AWS cloud instance. To learn more about Skedler Reports pricing and purchase a license for your AWS instance, Please visit Licensing page.  Fill in the contact form on the page and a Skedler Reports representative will reach out to you within 24 hours regarding the purchase of a license.


Launching AWS instance from Skedler Reports AMI


1. Login to your AWS account and click "Launch Instance" in the EC2 Dashboard.

2. Search for Skedler Reports AMI in the AWS Market Place.

3. Select Skedler Reports AMI.

4. Select the instance type. Please check the minimum requirements mentioned below:

  • Minimum of 2 CPU cores and 8 GB of RAM is recommended for deploying Skedler Reports.
  • In AWS minimum instance type should be t2.large which will meet the above minimum requirements. 



5. Configure the instance details and network configuration as follows.

  • Configure the number of instance for scaling as 1.
  • In network select the VPC you created. Make sure you select the same VPC nework you have selected for the ES service (if ES service is public access service then select any VPC) 
  • Select public subnet (which will be created for the VPC when you create the VPC). Read more about VPC
  • Auto-assign public IP :
    • If  option "Enabled" is selected, AWS will create a public IP for the instance. Note this IP will be terminated once you shutdown the system and another IP will assigned on restart. 
    • If you need a permanent IP,  Select the option "Use subnet setting (Disable)", you can associate an Public Elastic IP once the instance is Launched
  • Select the IAM Role to access the instance  - to secure the instance. Read More about EC2 Iam Roles
  • Configure the shutdown behavior and termination protection. And click Next.



6. Add necessary storage to the instance


7. Configure the Security Groups as follows

  • Before configuring the instance create a security group from the dashboard as given below
    • Port 22 - To connect to skedler reports instance through SSH and configure skedler reports
    • Port 3000 - (port on which skedler reports will run by default. Can change the port in reporting.yml later. In that case, add permission to the new port later to the security group
  • In the Instance creation wizard, Select "Select an existing security group" option - Select the security group created as  shown above or create a new security group with permissions for the following ports
  • Make sure that the assigned security group is added to the AWS Elasicsearch service. (Once created you cannot modify the VPC settings in the AWS ES service)
  • On selecting, it will show the inbound rules as in the image above


8. Add a key pair or use an already exisiting key pair to login into the system. Follow the instruction in the wizard

  • Download the pem file and store it securely (you cannot download it later)


9. After configuring the instance,launch the instance. Once the instance is launched, select the instance and copy the IP address or the public DNS


10. SSH into the instance using putty:

To connect to the system with the putty follow the steps:

  • install putty tools using the following command:
    1. sudo apt-get update && sudo apt-get install putty-tools
  • Generate ppk file using the following command
    1. puttygen  /path/key.pem  -o  <keyname>.ppk
  • Copy the public DNS or the IP for the instance as mentioned above and configure putty as follows

                  a.  Configure the putty session - paste the IP in the "Host Name" box

   b.  Configure the authentication by selecting SSH→Auth, Browse and select the ppk file generated and click open

    

      c.  If everything is configured correct you will see a screen like below asking for confirmation, Click "Accept" and proceed

           

 d. Once you "Accept" and proceed you will get the login screen. Login username will be by default "ubuntu". Enter the username and press enter you will be logged into the instance.

      


11. Once logged into the system, Follow the steps to configure skedler reports. (Skedler Reports is installed in the home folder of the instance)

  • cd skedler/config
  • sudo vi reporting.yml
  • Configure elasticsearch and kibana URL and other configurations as mentioned below:

           ElasticSearch and Kibana  URL configuration


  • Add Elasticsearch URL with the port (even if the port is 80) and the Kibana URL/Grafana URL with the port in the reporting.yml file in the following format <protocol>://<server>:<port>

    UjokHQ7W7-G0MffXOAYKpKUOyf7J5fSTEA.png


        Grafana URL configuration


  • For Skedler Reports to discover Grafana dashboards and generate the report for Grafana you would need to configure Grafana details in reporting.yml. By default, the Grafana configuration variables are commented in the reporting.yml. Uncomment the variables and assign the Grafana URL with the port and the Grafana authentication credentials or the Grafana authentication token key to access the dashboard
  • .

        

        Proxy server basic authentication configuration

  • If you are using Nginx, follow the steps below. 
    • If Kibana is configured behind Nginx, configure the Nginx username and password for Kibana in reporting.yml as shown. k7eu_10yeN7Wn4RU23RYbFjNR61iPIdKqw.png
    • If Nginx is configured as a reverse proxy for elasticsearch, configure Nginx username and password for Elasticsearch as shown:
    • 7QMiT4FB5D_sdXOGs0AKPbrhVSWWv50tOQ.png
  • Note: If you are using Shield then refer to Step-by-Step Configuration Guide for Shield.
  • Save changes to reporting.yml

For more configuration options please refer Reporting.yml and ReportEngineOptions Configuration.


12. Open a browser and type in the instance URL as:

<aws-publicDNS>:<port>

eg:  ec2.xxx-xxx-xxx-xx.compute-1.amazonaws.com:3000

If everything is successfully configured as mentioned, you will see the Skedler Reports Configuration Page


Configuring and Using Skedler Reports to Generate Reports



References