Overview

This page helps you get started using Mission Control. Assuming you comply with the System Requirements specified below, after going through the instructions on this page, you should have your instance of Mission Control configured with at least one Artifactory instance which you can monitor and configure through your Mission Control.

Mission Control supports managing services of Artifactory from version 4.5.

This page provides installation and upgrade instructions for running Mission Control as a Debian or Centos distribution.

If you are running Mission Control as a Docker container, please refer to Running with Docker.

License

Mission Control itself is provided for free and has no license requirements. However, while you may view any Artifactory service from Mission Control, you may only configure and see relationships between services that are activated with an Artifactory Enterprise license.

You may add services of Artifactory OSS, Artifactory Pro to Mission Control, but for these instances, you can only view basic information. You cannot perform any actions on these services through Mission Control.

As a shared managed service, Artifactory SaaS is maintained for you by JFrog and can not be managed by Mission Control.

However, if you are running a Artifactory SaaS as a dedicated server, this can be fully managed by Mission Control.


System Requirements

Hardware

JFrog Mission Control requires the following hardware:

  • Processor: 6 cores
  • RAM Memory: 8 GB
  • Storage: 100 GB

Platforms

JFrog Mission Control supports any non-Windows platform that can run Docker v1.11 and above. In addition, it has been tested and verified to run as a non-Docker installation on the following 64-bit flavors of Linux:

  • Debian 8.x

  • Centos 7.x

  • Ubuntu 16.x
  • Red Hat 7.x

Java requirements

You must run Mission Control with JDK 8.

You can download the latest JDK from the .

Make sure your JAVA_HOME environment variable correctly points to your JDK 8 installation.

If you also have JRE_HOME defined in your system, this will take precedence over JAVA_HOME and therefore you need to, either point JRE_HOME to your JDK 8 installation, or remove the JRE_HOME definition.

PHP requirements

Mission Control uses PHP to support its scripting functionality and requires PHP 5.6 on Debian and PHP 5.4 on Centos.

SELinux

Centos flavors may have issues starting MongoDB because of SELinux restrictions. Please refer to the  for instructions on configuring SELinux. 

Browsers

Mission Control has been tested with the latest versions (known at the time of release) of Google Chrome, Firefox and Safari.


Download

The latest version of Mission Control is freely available for download from the .

Installation

Mission Control offers a variety of options for installation on different platforms.

In all cases, make sure that the full path to the installation folder does not contain any spaces.

Docker Installation

Mission Control is available for download as a Docker image to be run as a container. For full details, please refer to Running with Docker

 

Debian Installation 

JFrog Mission Control currently supports Debian 8.x.

Do not install Mission Control on a higher version of Debian as it has not been validated to work.

System library requirements

Mission control needs the following libraries to be present as run-time dependencies. Please ensure these are available before you begin installation.

  • libcurl3 
  • libltdl7 
  • php5-fpm
  • net-tools

When you install without these dependancies, the installer displays an error indicating that a number of dependencies are missing, prompting you to install them along with the install command. 

Installation Instructions

Once you have  Mission Control, installing it is very straightforward:

  1. Extract the contents of the compressed file

    tar -xvf jfmc-debian-<version>.tar.gz
  2. Run the installer

    cd jfmc-debian-<version>
    ./installJFMC-debian.sh

    JFrog Mission Control uses several databases for different features of its operation. Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

    From version 2.1, Mission Control gives you the option of using your own MongoDBPostgres or Elasticsearch databases if you have these already installed and in use in your organization.

    When you run the installer, it will issue prompts asking if you want to install Mission Control using it's own internal databases, or if you prefer to use your own external databases.

    For details on how to respond to these prompts, please refer to Using External Databases.

  3. The log file for the installation will be in a file installJFMC-debian.<timestamp>.log. 

  4. A control file is created as part of the installation. Start Mission control using this file

    For v2.0.0 to v2.1.0,
    /opt/jfrog/jfmc/scripts/jfmc.sh start
     
    For v2.1.1,
    /opt/jfrog/mission-control/scripts/jfmc.sh start

CentOS Installation

JFrog Mission Control currently supports CentOS 7.x.

Do not install Mission Control on a higher version of CentOS as it has not been validated to work.

System library requirements

Mission control needs the following libraries to be present as run-time dependencies. Please ensure these are available before you begin installation.

  • openssl 
  • php-fpm
  • net-tools

Installation Instructions

Once you have  Mission Control, installing it is very straightforward:

  1. Extract the contents of the compressed file

    tar -xvf jfmc-centos-<version>.tar.gz
  2. Run the installer

    cd jfmc-centos-<version>
    ./installJFMC-centos.sh

    JFrog Mission Control uses several databases for different features of its operation. Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

    From version 2.1, Mission Control gives you the option of using your own MongoDBPostgres or Elasticsearch databases if you have these already installed and in use in your organization.

    When you run the installer, it will issue prompts asking if you want to install Mission Control using it's own internal databases, or if you prefer to use your own external databases.

    For details on how to respond to these prompts, please refer to Using External Databases.

  3. A control file is created as part of the installation. Start Mission control using this file

    For v2.0.0 to v2.1.0,
    /opt/jfrog/jfmc/scripts/jfmc.sh start
    
    
    For v2.1.1,
    /opt/jfrog/mission-control/scripts/jfmc.sh start

Ubuntu Installation 

JFrog Mission Control currently supports Ubuntu 16.x.

Do not install Mission Control on a higher version of Ubuntu as it has not been validated to work.

System library requirements

Mission control needs the following libraries to be present as run-time dependencies. Please ensure these are available before you begin installation.

  • libcurl3 
  • libltdl7 
  • php5.6-fpm
  • net-tools

In order to install "php5.6-fpm" please run the below commands:

apt-get install python-software-properties
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install -y php5.6-fpm

Installation Instructions

Once you have  Mission Control, installing it is very straightforward:

  1. Extract the contents of the compressed file

    tar -xvf jfmc-ubuntu-<version>.tar.gz
  2. Run the installer

    cd jfmc-ubuntu-<version>
    ./installJFMC-ubuntu.sh

    JFrog Mission Control uses several databases for different features of its operation. Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

    From version 2.1, Mission Control gives you the option of using your own MongoDBPostgres or Elasticsearch databases if you have these already installed and in use in your organization.

    When you run the installer, it will issue prompts asking if you want to install Mission Control using it's own internal databases, or if you prefer to use your own external databases.

    For details on how to respond to these prompts, please refer to Using External Databases.

  3. The log file for the installation will be in a file installJFMC-ubuntu.<timestamp>.log. 

  4. A control file is created as part of the installation. Start Mission control using this file

    For v2.0.0 to v2.1.0,
    /opt/jfrog/jfmc/scripts/jfmc.sh start
    
    
    For v2.1.1,
    /opt/jfrog/mission-control/scripts/jfmc.sh start

If you are having any errors with PostgreSQL installation, then please check the following log files "bitrock_installer.log" and "install-postgresql.log" under /tmp/ folder

 

Red Hat Installation

JFrog Mission Control currently supports Red Hat 7.x.

Do not install Mission Control on a higher version of Red Hat as it has not been validated to work.

System library requirements

Mission control needs the following libraries to be present as run-time dependencies. Please ensure these are available before you begin installation.

  • openssl 
  • php-fpm
  • net-tools

Installation Instructions

Once you have  Mission Control, installing it is very straightforward:

  1. Extract the contents of the compressed file

    tar -xvf jfmc-redhat-<version>.tar.gz
  2. Run the installer

    cd jfmc-redhat-<version>
    ./installJFMC-redhat.sh

    JFrog Mission Control uses several databases for different features of its operation. Until version 2.1, Mission Control installed an instance of all of these databases dedicated for its own use.

    From version 2.1, Mission Control gives you the option of using your own MongoDBPostgres or Elasticsearch databases if you have these already installed and in use in your organization.

    When you run the installer, it will issue prompts asking if you want to install Mission Control using it's own internal databases, or if you prefer to use your own external databases.

    For details on how to respond to these prompts, please refer to Using External Databases.

  3. A control file is created as part of the installation. Start Mission control using this file

    For v2.0.0 to v2.1.0,
    /opt/jfrog/jfmc/scripts/jfmc.sh start
    
    
    For v2.1.1,
    /opt/jfrog/mission-control/scripts/jfmc.sh start


Installation File Structure

After downloading and extracting the installer, the following file structure is created under the installation folder

install-<flavor>.sh
The installation script for specific Linux flavor (Debian/Centos)
config
A folder containing files necessary to configure 3rd party services like MongoDB, PHP-FPM, etc.
packages
A folder containing the actual packages to install (deb or rpm files)
seed_data
A folder containing scripts necessary to seed users/data into 3rd party services
migration
A folder containing scripts necessary to migrate from earlier versions of Mission control
version.sh
A file containing the version of the JFMC

 


Mission Control File structure

Home directory

The Mission Control home (/opt/jfrog/) directory will contain files necessary to start and stop all the micro-services associated with JFrog Mission Control

mission-control/bin
Mission Control service files
mission-control/lib
The Mission Control runtime JAR file
mission-control/scripts
Control scripts for Mission Control

 


Microservices and Ports 

Docker Installation

Mission Control'sDocker installation only needs port 8080 to be exposed on the host to function.

If the port is occupied, Mission control will throw an error on start.

To change the port that the Docker installation uses, update the server.port property to another value (between 0 and 65535) in the $JFMC_HOME/jfmc/etc/mission-control.properties file.

Linux Installation

Mission Control runs a number of microservices with specific port allocations as described in the table below.

If a port is already in-use, the installer will display a warning, and in some cases, prompt for a different port.

MicroservicePortPurposeService name in Debian and Centos Installs

Mission Control Server

8080Core Mission Control servicemission-control.service

Scheduler

8085Manages scheduling for different internal Mission Control tasksjfi-scheduler.service

Executor

8087Executes tasks to collect data from servicesjfi-executor.service

Graphs Core

8090Graphs core functionsjfi-core.service
8089Graphs core functions over SSL

Elasticsearch

 

9200Data service used for time-series data to generate graphselasticsearch.service
9300Transport client port for bulk inserts

Mongo

27017Data service used for storing non-time series datamongod.service

Postgres

 

5432Data service used by the scheduler microservicepostgresql-9.6.service

influx

8088

Maintained to manage migration from version 1.x to version 2.x

Deprecated post 2.1.1

influxdb.service 

 


Data

The Mission Control data folder (usually, /var/opt/jfrog/mission-control) will contain files created and used by each of the micro-services.

Logs are written into data folder (usually, /var/opt/jfrog/mission-control/logs) and log rotation is not enabled. It is recommended to turn on log rotation.



Status of Installation

Use the following command to check the installation status. Once installation is complete, the same command will provide the status of the services as well.

For v2.0.0 to v2.1.0,
/opt/jfrog/jfmc/scripts/jfmc.sh status


For v2.1.1,
/opt/jfrog/mission-control/scripts/jfmc.sh status

Uninstalling

Use the control file to initiate uninstalling JFrog Mission Control as follows:

Please note that this will not uninstall third-party components installed as part of installation. They will have to be uninstalled manually. 

For v2.0.0 to v2.1.0,
/opt/jfrog/jfmc/scripts/jfmc.sh removeServices


For v2.1.1,
/opt/jfrog/mission-control/scripts/jfmc.sh removeServices

Secure Access With SSL

JFrog Mission Control supports secure access with SSL. The following example shows how to enable access with SSL using a JKS keystore:

  1. Stop JFrog Mission Control
  2. Consult your Certificate Authority and generate a certificate for your instance of Mission Control
  3. Modify your $MC_HOME/etc/mission-control.properties file as follows:

    1. Comment the line specifying 8080 as the server port (server.port=8080) and uncomment the line specifying 8443 as the server port. When done you should have:

      # server.port=8080 This line is commented
      server.port=8443
    2. Set the path to your keystore in the server.ssl.key.store property. For example:

      server.ssl.key-store=path/to/keystore.jks
    3. Uncomment and set the keystore password property:

      server.ssl.key-store-password=<Keystore password>
    4. Uncomment and set the keystore type property:

      server.ssl.key-store-type=JKS
    5. Save the changes to your mission-control.properties file.

  4. Start JFrog Mission Control 

Once you have completed this configuration, you can access JFrog Mission Control through the server port specified in the mission-control.properties file. 

For example, using the above configuration, you could access Mission Control via SSL using the following URL:

https://<mission-control-server-ip>:8443

Accessing Mission Control

Mission Control can be accessed through your browser using the following URL:

http://SERVER_DOMAIN:<server port>

 

The default port used by Mission Control is 8080, so a default installation would be accessed at http://localhost:8080.

 To change the port, in $MC_HOME/etc/mission-control.properties, set server.port=<port number>.