Exivity can be installed on any Microsoft Windows 2012 R2 or higher server in your on premise data center or in the cloud. Depending on the amount of data, Exivity recommends the following system configuration:
Both the Data sources and CUPR in above tables are recommended limits. All systems should have a standard C: OS drive. The storage recommendation in the table above is for a D: drive, which preferably is SSD.
The Exivity front-end supports the following desktop browsers:
Google Chrome v59+
Microsoft Edge v41+ (EdgeHTML 16+ / Blink 80+)
Opera v46+
Mozilla Firefox v65+ (support added in Exivity v2.10.0)
Apple Safari v10.1+ (support added in Exivity v3.2.7)
We aim to provide the fastest metering and billing solution available today, and this means we have to rely on modern (web) technologies. Part of our speed comes from pre-processing the raw data, and part comes from having almost all processed data available right in the browser, and streaming the missing pieces on request.
To efficiently and reliably achieve this we use some very specific technologies not yet available in all browsers. When they do catch up, we'll fully support those browsers.
Deployment
Data sources
CUPR
CPU
Memory
Storage
Tiny
2
1 000
1 Core
4 GB
25 GB
Small
2
2 000
2 cores
8 GB
50 GB
Medium
4
5 000
4 cores
16 GB
100 GB
Large
8
15 000
8 cores
32 GB
200 GB
Exivity can be easily deployed on any system running Windows Server 2016 or later.
In order to deploy a single node Exivity system, be aware of the following system architecture:
All components can be installed on a single node. However, even in a single node deployment, it might be desirable to run a the PostgreSQL database on a diffent system. Apart from installing PostgreSQL from the Exivity installer, ths Exivity software is also compatible with any PostreSQL compatible database engine (PostgreSQL on Linux, Amazon RDS, CockroachDB, etc) in order to achieve High Availability or Load Balancing.
After starting the Exivity installer and providing a valid license, ensure to have all components selected and click Next:
Then make sure to provide a valid path for the Exivity program files:
And select a folder for the Exivity home files:
It is recommended to configure a dedicated volume with SSD performance for the Exivity home folder location
Provide a custom administrator username and password, or leave the default:
Then provide the details for the PostgreSQL database. The installer will configure a local PostgreSQL database by default:
When installing PostgreSQL on a single node host, it is recommended to use a dedicated volume for the PostgreSQL database folder (refered to as 'PGDATA')
In case you prefer to use a remote PostgreSQL database system, ensure to deselect 'Install Local PSQL Engine' and provide your remove PSQL server credentials:
When using a PostgreSQL database on a remote host, the database and user must have been created beforehand. To create the database, ask your database administator to execute a database create statement similar to the one below:
CREATE DATABASE exdb WITH OWNER = exadmin TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;
When you are finished configuring your PostgreSQL database settings, click the Install button to start the installation process.
Once the installation is finished, ensure to check 'Start the Exivity Windows Services' to start the Exivity services after clicking Finish.
Follow below steps to execute an unintended setup using the silent installer flags supported by the setup program.
The below example will silently install Exivity with mostly default settings, except having the Exivity program, home and PGDATA in seperate locations:
The below example will silently install Exivity while using a remote PostgreSQL database:
Apart from installing Exivity in any on premise environment, Exivity can also be deployed from the Azure Market Place (AMP). Deploying Exivity on AMP is straight forward, and can be finised within a few minutes via your Azure Portal.
Login to your Azure Portal at and then go to the Marketplace to search for the Exivity offer:
Once you've selected the Exivity offering, you should be presented with the following screen:
After clicking the Create button, you will be redirected to the VM deployment wizard
Fill in a Windows user/pass and pick your deployment Resource Group:
Make sure to write down this username and password, as you will need these when connecting to the Exivity Windows server using the Remote Desktop Protocol.
You may select any additional options, but none are required for running Exivity succesfully, so you may skip this page simply by clicking the OK button:
Review the summary and click Create to deploy your Exivity VM:
This may take a few minutes. You may review the status of the Virtual Machine in your VM list:
Write down the Public IP address once it is available. Optionally you may configure a custom DNS name to have an easy way to connect.
You can logon to your Exivity instance with RDP, but after deployment you should be able to connect to your instance using the public IP address or DNS name of your Exivity instance considering the following default URL:
https://<Your_Public_IP>:8001
The default admin username is admin with password exivity.
Try to pick a recommended VM size type that has enough CPU's and Memory (see for general system requirements). Smaller machines are possible, but will influence performance:
By default no data is loaded into the system, so you'll have to create a new for obtaining consumption data and a to process that data. A is then created to be able to report on your consumption metrics and costs.
A couple of getting started guides are provided , but feel free to drop us an or create a in our support portal. We will then assist you to get your started for your specific use case.
Exivity can be installed in your on-premises data center using the provided installer. You can automatically deploy it using the silent installation command line options or execute it as an interactive installer.
To install Exivity, you'll need the following:
A system that complies with the Exivity minimal system requirements
The Exivity software installation executable
A valid Exivity license key
If you need help meeting one or more of the above requirements, please get in contact with our support department.
To install Exivity interactively, execute the provided setup executable. Then follow the instructions depending on your intended architecture:
Silent installation is only recommended for experienced users requiring automated deployments
To execute a silent installation the following command line parameters are supported:
<setup>.exe /S
<setup>.exe /S /EXIVITY_PROGRAM_PATH="C:\Program Files\Exivity\program" /EXIVITY_HOME_PATH=D:\Exivity\home /ADMIN_USER=master /ADMIN_PASSWORD=P@ssword
Updating your installation of Exivity to a more recent minor and/or bugfix release (i.e. 3.x.x --> 3.x.x) is straightforward and may be done by installing the new version over the top of the old.
Execute the setup executable. It will detect the installed version of Exivity, and will automatically upgrade when you click Next
When executing <setup>.exe /S
, your existing installation will be automatically upgraded.
When upgrading to a more recent major version (i.e. 2.10.2 --> 3.x.x) consult first the release notes to verify any breaking changes that may apply to your installation.
Exivity comes as standard with an untrusted self-signed SSL certificate. It is therefore highly recommended to replace the default certificate with an official one, signed by your Certificate Authority. To install a signed certificate, follow this procedure:
Download the 32 bit version of openssl.exe from https://slproweb.com/products/Win32OpenSSL.html, and install this tool on the Exivity server
Use the openssl.exe executable to generate a valid key file on the Exivity server by executing the following command:
Run the following command to create a certificate signing request file:
Replace example.com
in the command above with the FQDN of the Exivity server.
You will be asked to enter general information like company name, city, etc. It is important to include the FQDN of the Exivity server when asked for Common Name (e.g. server FQDN or YOUR name) []:
NOTE: when asked, it is required to not provide a password (leave this field empty and press return), otherwise the Exivity application will not be able to use your certificate.
The generated CSR file should be sent to your Certificate Authority. After processing by your CA, you should receive back a .crt file. Rename this file to webcertificate.crt and rename your exivity.key to webcertificate.key and copy it to the directory %EXIVITY_PROGRAM_PATH%\server\nginx\conf
. This should overwrite the existing .key and .crt files.
Restart the Exivity Web Service
Windows service to activate your signed certificate.
In some environments it may be desirable to separate the webserver from the backend components. This can be achieved by installing two separate Exivity instances. One instance could be placed in a DMZ and the second instance would then typically be deployed within a local network as shown in the following diagram:
To achieve this, first install Exivity on the backend node using the standard procedure described here. Afterwards install the Exivity software on the system that should become the User Portal and only install the Web Component. When asked, specify the API Backend hostname and port to finalize the installation.
Make sure to replace HOSTNAME_BACKEND_PORTAL
with the actual hostname or IP address of the system that serves as your Exivity Backend Portal.
When using SAML2 as an authentication mechanism for Single Sign On, and users also connect to a User Portal, take special attention to theX-Forwarded-Host
and X-Forwarded-Port
in the Nginx webproxy.conf. These are required when the User Portal is served on a different port (i.e. 443) compared to the backend portal API (i.e. 8002). When this is the case, the forwarded port needs to match the port number of the user portal.
After completing your installation, you should now be able to access your Exivity User Portal.
In cases where Exivity instance requires internet connectivity (i.e. to obtain Azure or AWS consumption data), and your network infrastructure requires use of a proxy server, it is necessary to configure a system environment variable.
Right click on This PC in an Explorer Window and click on Properties:
Then go to Advanced System Settings, then click the Environment Variables button:
Now add a new System Variable with the name ALL_PROXY and fill in the address of your proxy server as the value for this variable:
In case you do not want to use the proxy for certain address or domains, it is also possible to add an additional variable NO_PROXY:
If the name in the noproxy list has a leading period, it is a domain match against the provided host name. This way ".example.com" will switch off proxy use for both "www.example.com" as well as for "foo.example.com".
After confirming the change, make sure to restart both the Exivity Windows Services.
By default, Exivity API has a limit of 2048kb for filesize uploading, should you require to increase it, please modify the file located in %EXIVITY_PROGRAM_PATH%\server\php\php.ini
Adjust the variables post_max_size and upload_max_filesize to your desired value.
In order to generate PDF documents through the Exivity API, the Chrome browser needs to be installed and the directory where chrome.exe
can be found should be made available in the systems Path
environmental variable. Read how to add a directory to the Path environmental variable.
Depending on your installation method chrome.exe
should be installed in one of those directories:
C:\Program Files\Google\Chrome\Application
C:\Users\{username}\AppData\Local\Google\Chrome\Application
To prevent server overload, generating PDF reports through the API is limited to take 1 minute. Very large reports (e.g. consolidated reports with instance details) may take more time and result in an API error. If that's the case, try generating reports for single accounts or without instance details.
Restart the Exivity API service after making these changes.
Exivity can be deployed from the AWS Market Place allowing you to have a functional Exivity solution in a matter of minutes. This tutorial will get you up and running.
Login to your AWS portal and access the Exivity offering here.
Click on Continue to Subscribe.
Read our Terms and Conditions, and when ready, click on Continue to Configuration.
Select the Region where you want to deploy Exivity and click on Continue to Launch.
In Choose Action select Launch though EC2 and click on Launch to access the Deployment Wizard.
In the first screen, try to pick a recommended VM size type that has enough CPU's and Memory (see this page for general system requirements). When you are done with your selection click on Next: Configure Instance details.
In this section, you can select your VPC Configuration, or leave the default values.When you are done with your configuration click on Next: Add Storage.
In the Storage section, two drives are recommended, you can influence the Volume Type and the Size (GiB) parameters. When ready, click on Next: Add Tags.
In the Tags section, include the tags that are meaningful to you, as a minimum, a Name tag is recommended. Click on Next: Configure Security Group.
In the Security Group section, you can leave the default recommended security group or add more rules if needed. Click on Review and Launch.
Review the details and click on Launch, select your preferred Key Pair to connect to the instance.
In a few minutes your instance will be deployed, you can track the progress in your EC2 Dashboard:
Write down the Public IP address / Public DNS and the Instance ID once they are available.
You can logon to your Exivity instance with RDP, but after deployment you should be able to connect to your instance using the public IP address or DNS name of your Exivity instance considering the following default URL:
https://<Your_Public_DNS>:8001
The default admin username is admin with password Instance ID.
By default no data is loaded into the system, so you'll have to create a new Extractor for obtaining consumption data and a Transformer to process that data. A Report Definition is then created to be able to report on your consumption metrics and costs.
A couple of getting started guides are provided here, but feel free to drop us an e-mail or create a ticket in our support portal. We will then assist you to get your started for your specific use case
Exivity can be deployment on a single node, or on multiple nodes for HA and load balancing. This guide walks you trough the steps to install some of the Exivity components on different nodes.
The following diagram outlines the various components that can be deployed on seperate nodes:
PostgreSQL DB
Apart from installing PostgreSQL from the installer, Exivity is compatible with any PostreSQL compatible database engine (PostgreSQL on Linux, Amazon RDS, CockroachDB, etc) in order to achieve High Availability
API/Backend
The API and backend components can be installed on any Windows Server. To achieve HA, it is possible to leverage HA techniques from the underlying hypervisor. Or optionally it is possible to deploy Exivity on an Active/Passive Windows cluster
Web/UI
The Exivity Web application and front end facing component can be deployed on as many instances as you like. In case multiple Web UI instances are required, this will require a load balancer in front of the Exivity Web application. Please note that the load balancer component is not shipped with the Exivity installer. However, Exivity is compatible with most load balancer software suits available (i.e. Nginx, Cisco, F5, AWS ELB, etc)
When using a PostgreSQL database on a remote host, the database and user must have been created beforehand. To create the database, ask your database administator to execute a database create statement similar to the one below:
CREATE DATABASE exdb WITH OWNER = exadmin TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1;
In case you prefer to install PostgreSQL on Windows, Exivity recommends to install the PostgreSQL role together with the API/Scheduler backend components during the installation wizard.
In order to deploy a API/Backend node, the following steps needs to be executed manually or automatically thru the use of the silent installer CLI interface.
After starting the installer, click Next and provide a valid license key when asked. After clicking Next again, the component screen will be shown:
Ensure to deselect the Web Service component.
Click Next to continue. Then chose a folder for the Exivity program files, and afterwards select a folder for the Exivity home files.
Provide a custom administrator username and password, or leave the default:
Now specify a remote PostgreSQL database instance, or select to install the PostgreSQL database locally on the API/backend node:
When you are finished configuring your PostgreSQL database settings, click the Install button to start the installation process.
Once the installation is finished, ensure to check 'Start the Exivity Windows Services' to start the Exivity services after clicking Finish.
The below example will silently install an Exivity API/Backend node while using a remote PostgreSQL database instance:
In order to deploy a Web/UI only node, the following steps needs to be executed manually or automatically thru the use of the silent installer CLI interface.
After starting the installer, click Next and provide a valid license key when asked. After clicking Next again, the component screen will be shown:
Click Next to continue. Then chose a folder for the Exivity program files, and afterwards select a folder for the Exivity home files.
In the following screen, it will be required to specify the remote host and port of your Exivity API node:
Ensure that the Exivity API host is active and accepting connections. After clicking the Next button, the installer will issue a connection attempt to the Exivity API host
Once the installation is finished, ensure to check 'Start the Exivity Windows Services' to start the Exivity services after clicking Finish.
The below example will silently install an Exivity Web/UI node:
Exivity highly recommends to deploy your own PostgreSQL database cluster on Linux (or use a managed PSQL service from , or other vendors). To achieve High Availability, any PostgreSQL compatible cluster manager software may be used. At Exivity we have good experiences with , which is an PostgreSQL on Linux cluster manager (backed by Microsoft) in case you prefer to self-manage the Exivity PostgreSQL database.
In order to achieve High Availability for the Exivity API/backend node, it is advisable to leverage the HA capabilities of your hypervisor (i.e. vSphere HA). In case you want to achieve OS level HA, you may consider implementing a Windows Failover Cluster. Please reach out to / to learn more about this kind of configuration.
Parameter
Description
Default
/EXIVITY_PROGRAM_PATH
Path to Exivity program files
C:\Exivity\program
/EXIVITY_HOME_PATH
Path to Exivity home files
C:\Exiivty\home
/ADMIN_USER
Exivity admin user
admin
/ADMIN_PASSWORD
Exivity admin password
exivity
/PGUSER
PostgreSQL user
postgres
/PGPASSWORD
PostgreSQL password
randomized
/PGHOST
Hostname for PostgreSQL server
localhost
/PGPORT
Port of PostgreSQL server
5432
/PGSSLMODE
Disable or require PostgreSQL SSL communication
disable
/PGDATABASE
Exivity database on PostgreSQL server
exdb
/PGDATA
Location of PostgreSQL data files (only used when installing local database instance)
<exivity_home>\system\pgdata
/PSQL_INSTALLED
1 (install locally) or 0 (do not install)
1
/API_INSTALLED
1 (install locally) or 0 (do not install)
1
/WEB_INSTALLED
1 (install locally) or 0 (do not install)
1
/SCHEDULER_INSTALLED
1 (install locally) or 0 (do not install)
1
/PROXIMITYHOST
Remote API hostname (required when installing Web component only)
localhost
/PROXIMITYPORT
Remote API port (required when installing Web component only)
8002