Step1: Verify Pre-requisites for Linux Installation

System Requirements

  • We recommend installing Skedler in a separate VM or Docker container or server.
  • Note that there are two different versions of Skedler Reports for Linux: One for Linux 7 and another for Linux 6.  Skedler Reports for Linux 7 is not compatible with Linux 6 and vice versa.  Please download the correct version from the Download page.
  • Linux Operating System with x86-64-bit architecture
    • Ubuntu version 12.04 and above
    • Debian version 7 and above
    • Centos version 6  and above
    • Red Hat Enterprise Linux 6 and above
  • Minimum of 2 CPU cores and 8 GB of RAM is recommended for deploying Skedler

Library Dependencies

  • GLIBCXX libraries

Install GLIBCXX libraries if it's not previously been installed in the machine

sudo apt-get install GLIBCXX

  1. Skedler has the dependency on libstdc++ library.
    • Following are the GLIBCXX versions the code depends on
    • libstdc++.so.6 (GLIBCXX_3.4.9) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    • libstdc++.so.6 (GLIBCXX_3.4.15) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    • libstdc++.so.6 (GLIBCXX_3.4) => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    • You can check if you get GLIBCXX desired version like this:
      strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
  2. To check the versions on your server. Please run the command
    • CentOS 

      strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX

    • Debian/Ubuntu

      strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX 

    • sudo apt-get install gcc-4.9
      sudo apt-get update

      If the version is not available, update the GCC compiler 
  • Font config libraries

    Skedler requires font config library to generate report. To install the library refer the following steps:

    • Ubuntu/Dedian

      sudo apt-get install libfontconfig

    • Centos/Redhat
      sudo yum install fontconfig


Hostname Configuration

Skedler requires hostname of the server in which Skedler is installed to be configured in /etc/hosts.

1.  Check hostname by giving this command: 

     $>hostname   

In reporting.yml the host parameter is the host in which skedler binds.

2.  If the host is configured as 127.0.0.1 then make sure you have an entry in /etc/hosts as mentioned below,

     127.0.0.1 localhost

     Note: If you are binding skedler to localhost you can't access it from outside.      

3. However. If the bind address is 0.0.0.0, that means skedler binds to any IP (configured for your system). In this case, your entry in hosts file(/etc/hosts) should be

    <ipaddress> <hostname>

4.  If the host(IP address of server) in reporting.yml is changed other than the default value 0.0.0.0 then there should be an entry for the host in /etc.hosts like

     <ipaddress> <hostname>

 5.  Reboot the system.

       

Note: If you are using any proxy server add your hostname to a no_proxy list in the file /etc/environment add the following line,

           no_proxy="<ipaddress>,<hostname>"


Elasticsearch, Kibana and Grafana version

Skedler supports Elasticsearch version from 5.0 to 6.0, Kibana version from 5.0 to 6.0 and Grafana 4.0 to 5.0


JAVE_HOME Configuration

Skedler requires JAVA versions 7, 8, 9,10 or 11 and JAVA_HOME should be configured. Check if JAVA_HOME is configured using the following command:
> $echo JAVA_HOME 
If the result is empty, follow the below steps to configure JAVA_HOME.

  • Ubuntu/Debian in /etc/bash.bashrc and for Centos/Redhat in /etc/.bashrc ,add the JAVA_HOME variable as follows, 

    export JAVA_HOME = <your_java_path>

    In /etc/environment file add  the line as follows: 

    JAVA_HOME = "<your_java_path>"


    NOTE: Skedler user requires user home directory. To check user home directory use the following command, >echo $HOME


 Step 2: Download

  • Download the latest version of Skedler from Download page.

Step 3: Extract

  • Untar the skedler.tar.gz file to the desired folder (e.g., /opt). For convenience, let us call this folder as $skedler_home.

Step 4: Configure Permissions and JAVA_HOME

  • Provide read/write permissions to the following folders, if they are configured in reporting.yml
  • a. Report folder configured for reports_dir parameter in reporting.yml 

                      b. UI files folder configured for the parameter ui_files_location
    • Set the value for the variable JAVA_HOME in the $skedler_home/install.sh script as follows:
      • Check JAVA_HOME using the command echo $JAVA_HOME.
      • Copy and paste the output to the install.shgq0QtGtMsPL26eihU4clHb2v0z9TsDpmnw.png
    • Save install.sh.


Step 5: Install Skedler

  • Provide the required permission to install.sh in $skedler home script file using the command

            cd $skedler_home

            sudo chmod u+x install.sh

  • Install Skedler using the below command. Run install.sh as sudo user

             sudo ./install.sh


Step 6: Configure reporting.yml

  • Go to config folder using the command cd config.
  • Open reporting.yml (e.g., vi /opt/skedler/config/reporting.yml) 

      Enabling SSL for Skedler and Elasticsearch refer to  Enabling SSL  

      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 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 How to configure Skedler with Xpack/Searchgaurd Kibana plugin

For Skedler v3.2 and below 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.


Step 7: Start Skedler

You can start Skedler either as service or manually.

  • To start Skedler as a service, execute

sudo service skedler start

  • To start Skedler manually, Goto the $skedler_home directory (e.g., /opt/skedler) and execute 

bin/skedler

NOTE: If you are running skedler manually make sure that the current user running Skedler has the ownership for skedler home directory.


Step 8: Access Skedler

Skedler can be accessed from the following URL http://<yourServer>:3000.  The License page is displayed on successful installation.


Step 9: Activate License Online


To activate Skedler (in Free Trial or Licensed) you must activate a valid license key.  A trial license key is automatically populated in the license activation form.  If you purchase Skedler license, you will receive a license key by email.  


License keys can be activated using Online Activation or Offline Activation.  However, Free Trial license key requires Online Activation.  If your server doesn’t have an internet connection, please refer to Step-by-Step Guide for Offline License Activation of Skedler.



1. Click Activate License.



2.  The License Activation page is displayed.

A_QLox9NP4eaaFYlnQFJXsO2mFPAw8ee2Q.png



3. Enter the required values in the Name, Email, and Company field.

By default, a trial license key is auto-populated in the “License Key” field. If you received a Product license key, update the License key field. 


4. If the Internet connection requires a proxy server, click Proxy Setting in the License Activation page to enter the details. Specify the protocol, server name or proxy IP, and port. If the proxy setting requires user authentication, enter the username and password in the Username and Password fields. Click Save button. The License Activation page is displayed.

B4jkZPERM1BhOcjsrJ3tm56j4GobuO1zKg.png


5. Read and select I agree to the Terms and Conditions checkbox.

6. Click Online Activation to activate the Skedler Trial License.

E4reSxfu9FwLjoR5s9TAZHxnvimu9O4SnQ.png




Step 10: Configure Skedler Settings

To configure Skedler settings refer the How to configure email settings, time zone settings and default logo for reports


You are now ready to start scheduling Reports. 


Refer to Skedler v3.3 How to create and schedule a report based on Kibana dashboard to create reports. 


References