Document toolboxDocument toolbox

Support center for flex.bi version 4.0

General Installation guide

Installation

Ask flex.bi support  to provide a download URL for the latest flex.bi Enterprise full distribution .zip file.


Unzip the downloaded full distribution .zip file in directory of your choice. It will create a flexbi_private subdirectory where all flex.bi Enterprise files will be located.

Make sure that all the files in flexbi_private are owned by the user that runs flexbi process (by default flexbi). For this on linux run

chown -R flexbi:flexbi flexbi_private

Make sure you have set up server entropy to avoid your server being slow and unresponsive by looking at how to go about Setting up server entropy using Haveged.

On Windows there exists a length limit for the file path - 260 characters. Flex.bi has a deep nested directory structure. System full file paths may exceed this limitation if the flexbi_private directory is located deeply in a directory hierarchy. We recommended to create  flexbi_private folder directly in the root folder for Windows installations.

 

Directory structure

The flexbi_private directory contains the following subdirectories and files:

  • app - for flex.bi Enterprise customizations (e.g. custom layouts or view templates)
  • bin - startup and other shell scripts
  • config - configuration files
  • data - for storing uploaded files
  • flexbi_private.jar - main application archive file
  • lib - additional Ruby files or *.jar files (added if necessary)
  • log - web request and queue job log files

Database setup

flex.bi will store data in an additional MySQL, PostgreSQL, Microsoft SQL Server or Oracle database. It is recommended that you create a separate database user for flex.bi (by default with the name flexbi_private) which will then create additional databases on the specified database server.

By default flex.bi will use one database

The following are specific database server instructions for flex.bi database setup.

MySQL

You can create a separate flexbi_private user and grant it access to all MySQL databases which start with the flexbi_private prefix:

GRANT ALL PRIVILEGES ON `flexbi_private%`.* TO 'flexbi_private'@'%' IDENTIFIED BY 'secret';

(Replace secret with yur chosen password). When you specify the database connection parameters in flex.bi then a flexbi_private database will be created. Later when additional flex.bi accounts are created each account will store its data in a separate database with names flexbi_jira_dwh_N (where N is account ID number).

In addition you should download MySQL JDBC driver and copy the included mysql-connector-java-*.jar to the flexbi_private/lib directory (MySQL JDBC driver is not included in flex.bi Enterprise distribution due to GPL license restrictions).

Please also tune MySQL memory settings to speed up data import and data queries. The following my.cnf settings are recommended:

innodb_buffer_pool_size = 1024M
innodb_log_file_size = 256M
query_cache_size= 16M
query_cache_type = 1
character-set-server = utf8
collation-server = utf8_general_ci

The parameter innodb_buffer_pool_size  will specify how much database data MySQL can store in the memory - adjust it to your available server memory (the more data MySQL will store in the memory the less disk input/output operations will be performed). If you change  innodb_log_file_size  then it will require you to delete the existing MySQL log files before starting MySQL server.

PostgreSQL

You need to create a separate user flexbi_private with database creation rights for flex.bi:

CREATE ROLE flexbi_private PASSWORD 'secret' LOGIN CREATEDB;

If you do not want to add the CREATEDB role to the flexbi_private user then manually create the flexbi_private database with flexbi_private user as the owner.

Each new flex.bi account will store data in a new flexbi_jira_dwh_N schema (where N is account ID number) in the same database.

Please tune PostgreSQL memory parameters. The following postgresql.conf settings are recommended:

shared_buffers = 1024MB
wal_buffers = 32MB

The parameter shared_buffers  will specify how much database data PostgreSQL can store in the memory - adjust it to your available server memory (the more data PostgreSQL will store in the memory the less disk input/output operations will be performed). The parameter  wal_buffers  affects the performance of writing transaction logs to disk.

Microsoft SQL Server

Create a MS SQL Server user flexbi_private – if you use SQL Server Management Studio then select SQL Server authentication and uncheck Enforce password policy. In addition from Server Roles select dbcreator (to allow the creation of new databases) or manually create the flexbi_private database with flexbi_private user as the owner.

Each new flex.bi account will store data in a new flexbi_jira_dwh_N schema (where N is account ID number) in the same database.

Oracle

Create an Oracle database user flexbi_private:

CREATE USER flexbi_private IDENTIFIED BY secret DEFAULT TABLESPACE users;
GRANT CONNECT, RESOURCE TO flexbi_private;

In this configuration all flex.bi data will be stored in one flexbi_private schema.

Start application

On Mac OS X and Linux start the application with the bin/start.sh shell script. Please review the bin/start.sh script and if necessary customise it (e.g. increase Java memory parameters in the JAVA_OPTS environment variable).

On Windows start the application with the bin\start.bat batch file. Please review bin\start.bat and customise it if necessary (e.g. change JAVA_OPTS environment variable).

If you get the "Unsupported major.minor version 51.0" error message then please check that you are using Java 7 or later (check with java -version).

Wait until you see the message Listening for HTTP requests on localhost:8080  and then open  http://localhost:8080/  in your browser – you should see the flex.bi settings page.

In the flex.bi settings page specify the database connection parameters for your flexbi_private database. By default all flex.bi account specific data will be stored in the same database (as described earlier in the Database section). If you want you can select the "Use separate DWH database" option and specify a different database where account specific schemas (with uploaded or imported data) should be stored. Database connection parameters will be stored in the config/database.toml file.

In addition in the settings page please specify your flex.bi license information – the license name and key. License information will be stored in the config/eazybi.toml file.

If database and license information will be correct then you will be redirected to a sign up page where you can create the first system administration user account.

eazybi.toml configuration file

In the config/eazybi.toml file you can configure different flex.bi parameters. The configuration file use the TOML format. Please see comments and commented examples for each section in this file.

On Windows please use a text editor that supports Unix style line endings when editing the eazybi.toml file. The standard Notepad application will not display the content of this file correctly. We recommend you use Notepad++  .

If you would like to add e-mail notification support (to invite users, reset passwords or receive notifications about failed import jobs) from flex.bi then provide the SMTP server information which can be used for outgoing e-mails (located in the mailer section of configuration file). In addition uncomment and specify the default_url_options section which is used to generate full URL links back to your flex.bi Enterprise server.

If you would like to set up a  JIRA application link  to a flex.bi Enterprise server then also please specify the default_url_options .

In the accounts  section you can provide the connection parameters and schema definition files for accounts with custom schemas. See “FoodMart custom” account as example.

If you would like to add or replace your flex.bi Enterprise license key

You need to open the eazybi.toml file and edit the section "Specify your license information". Next to "name =" enter your organizations name, and in the "key = " section copy and paste your key. Example:

name = "Forward And Upward Inc."

key = """

dwadwadakjajghvt67wbrv439bt4832893e209389bv23

"""

Linux service startup script

bin/init.d/flexbi.sample is a Linux service startup script which can be modified and copied to /etc/init.d/flexbi. Please specify the EAZYBI_HOME variable in this script to point to the flexbi_private directories full path. By default this startup script will use $EAZYBI_HOME/bin/start.sh to start flex.bi – if needed then create a separate copy of start.sh script if different parameters should be used when starting flex.bi as a service.

Windows service

Private flex.bi distribution by default does not include support for running as a Windows service. But you can use an application like AlwaysUp to create a Windows service that will start bin\start.bat file from the flex.bi Enterprise installation directory.

Provide access to flex.bi from other computers

By default flex.bi Enterprise will be accessible just locally at the address  http://localhost:8080/ . If you want to provide access to flex.bi Enterprise from other computers then edit bin/start.sh or bin\start.bat and add -b 0.0.0.0 at the end of the startup command (see comments for further explanation).

If you would like to change the default web application port 8080 to a different port then edit bin/start.sh or bin\start.bat and add -p NNNN parameter where NNNN is the port number.

On Linux or Mac OS X if you would like to start an application which listens to HTTP port 80 then you need to start application as  root . An alternative solution is to use a frontend web server which listens to port 80 and proxies web requests to flex.bi Enterprise. Please contact flex.bi support  if you need help with flex.bi Enterprise setup in production mode.

Export to PDF using PhantomJS

If you would like to export dashboard pages to the PDF format or send regular emails with flex.bi dashboards as PDF attachments then please install PhantomJS on your flex.bi Enterprise server and specify its location in the eazybi.toml file.

Troubleshooting

If the flex.bi Enterprise initial page does not open or opens with error message then check the console output or check the log file log/eazybi-web.log for any error messages.

After flex.bi has started up it will store its log files in the log subdirectory:

  • eazybi-web.log contains logs of web requests
  • eazybi-queues.log contains logs of background queue jobs

Please contact flex.bi support  if you have any issues with flex.bi Enterprise installation and setup.


On this page