Overview

The Rollbar configuration utility is used to configure which services will run on a single host as well as generate and manage the configuration files that the Rollbar services require.

configure.sh command line options

Short Long Default Description
-n --name hostname -f The fully qualified domain name to run Rollbar on. This will be the host name used to access the Rollbar web interface.
--services all A comma separated list of services to run on this host. E.g. web,api,worker
-f --file .settings The host settings file to save configuration options to
-i --iface eth0 The network interface used to communicate and listen for traffic on
--save Off When this option is specified, settings will be saved to .settings or the filename specified with the --file option
-j --join The IP address of another Rollbar host to join with
-c --config /etc/rollbar Path to the Rollbar configuration directory
-d --data /opt/rollbar Path to the Rollbar persistent data directory
-m --mysql-ip IP address of the external MySQL server to use
-b --beanstalk-ip The IP address of an external Beanstalk server
-e --memcache-ip The IP address of an external Memcache server
-l --elasticsearch-ip IP address of the external Elasticsearch server to use
-r --redis-ip IP address of the external Redis server to use
-p --smtp-host The hostname or IP address of an external SMTP servier to use
--smtp-user rollbar@rollbar The SMTP username used to authenticate with the SMTP server
--smtp-password random The SMTP password used to authenticate with the SMTP server
--consul-domain rollbar Domain to use for consul
--consul-port-server 8300 Port to remap consul's SERVER port to (usually 8300)
--consul-port-serf-lan 8301 Port to remap consul's SERF_LAN port to (usually 8301)
--consul-port-serf-wan 8302 Port to remap consul's SERF_WAN port to (usually 8302)
--consul-port-rpc 8400 Port to remap consul's RPC port to (usually 8400)
--consul-port-http 8500 Port to remap consul's HTTP port to (usually 8500)
--consul-port-dns 8600 Port to remap consul's DNS port to (usually 8600)
--clear-containers Off Remove existing rollbar containers
-o --overwrite-nginx-keys Off If you have existing ssl keys for nginx, over-write them with new generated keys
-v --verbose Enables verbose logging
-h --help Print usage message and exit

Advanced

Types of configuration

There are 3 types of settings data:

  • Host - The options that describe the host environment and which services to run
  • Installation - The options that are needed in order to start up the Rollbar services
  • Runtime - The options that the Rollbar services need to operate

Host settings

These settings are stored in a single file, .settings. They describe the environment in which the Rollbar installation will run in, including which services to run, which network interface to use for communication and any external service IPs.

You should not edit this file by hand since it is generated by the configure.sh script.

Installation settings

These files live in the On-Premises distribution directory in ./config. They are used by the configure.sh script to generate the runtime configuration which is stored in /etc/rollbar.

You should not need to modify these files unless you are trying to do something fairly custom. Any changes made to these files will end up in the runtime configuration.

Runtime settings

These configuration files are installed into /etc/rollbar by the configure.sh script.

You should not edit these files by hand since they will be overwritten by the configure.sh script.

Custom SSL Certs

The On-Premises configuration script will generate a self-signed SSL cert to use for the initial setup. We recommend using your own SSL cert which matches the FQDN you provide to configure.sh.

To add your own cert, replace the generated /etc/rollbar/rollbar.cert and /etc/rollbar/rollbar.key files with your own. Make sure the provided SSL cert does not have a password.

Note: These files will be NOT overwritten each time you run configure.sh unless you specify that on the command line.

Networking

Rollbar services run in Docker containers. These containers are able to talk to each other on the same host via the Docker bridge network which is created and managed by Docker and Docker Compose.

In order for Rollbar services to communicate outside of a single host, they use the network specified by the --iface configuration option described above. This option should be set to the private network of the host. Rollbar assumes that this network is secure and is managed by the customer.

For more information on networking, see the architecture overview.

External Services

The following services are bundled with the On-Premises distribution. Customers who choose to manage their own services may do so by using the associated command line parameter.

MySQL Memcache Beanstalk Redis ElasticSearch SMTP Server
--mysql-ip --memcache-ip --beanstalk-ip --redis-ip --elasticsearch-ip --smtp-host

If you choose to manage your own services, you will need to perform some extra work to configure those services to be used by Rollbar.

MySQL

Note: The current On-Premises distribution does not work with MySQL SSL connections. This will be fixed in a future release.

Note: Parameterization of the MySQL username/password will be implemented in a future release. This is possible to do with the current release but requires editing some configuration files. Please contact support@rollbar.com for more information.

Rollbar has been tested to work with MySQL/Percona 5.6.

Run the following SQL:

CREATE DATABASE IF NOT EXISTS mox;
CREATE DATABASE IF NOT EXISTS mox_raw;
CREATE DATABASE IF NOT EXISTS mox_uuid;

GRANT SELECT,INSERT,UPDATE,DELETE,ALTER ON mox.* TO mox@'%' IDENTIFIED BY "mox";
GRANT SELECT,INSERT,UPDATE,DELETE,ALTER ON mox_raw.* TO mox@'%' IDENTIFIED BY "mox";
GRANT SELECT,INSERT,UPDATE,DELETE,ALTER ON mox_uuid.* TO mox@'%' IDENTIFIED BY "mox";

GRANT ALL PRIVILEGES ON mox.* TO flyway@'%' IDENTIFIED BY "r0llbar-flyw4y" WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON mox_raw.* TO flyway@'%' IDENTIFIED BY "r0llbar-flyw4y";
GRANT ALL PRIVILEGES ON mox_uuid.* TO flyway@'%' IDENTIFIED BY "r0llbar-flyw4y";

CREATE USER haproxy@'%';

FLUSH PRIVILEGES;

RDS

Rollbar has been tested to work with MySQL 5.6 (specifically 5.6.27, but any 5.6 version should work).

Settings need to be tweaked in RDS before Rollbar code will work with it. Change the log_bin_trust_function_creators setting to make this work. Create a new parameter group, change the log_bin_trust_function_creators setting to 1, then apply the parameter group to the RDS instance. Do this before configuring and starting the Rollbar docker containers.

ElasticSearch

Note: Using an external ElasticSearch server has not been verified so please contact support@rollbar.com if you run into any troubles.

Rollbar has been tested to work with ElasticSearch version 2.3.5.

SMTP Server

Note: Rollbar requires the SMTP server to support the STARTTLS command.