Using the latest JFrog products?
JFrog Platform User Guide


JFrog Mission Control 3.x Documentation
To get the latest version, go to the JFrog Unified Platform


Skip to end of metadata
Go to start of metadata

Overview

From Mission Control version 3.3, you can manually install Mission Control using Debian or RPM. This section describes how to install Mission Control microservices directly as Debian or RPM.

The JFrog Mission Control manual RPM or Debian installation can be downloaded from theMission Control Download Page.

安装包

Both manual and script installation use the same RPM or Debian tar file.

Installing Mission Control

Database Requirements

The following databases are required and need to be externalized:

  • Elasticsearch 6.6.0
  • Postgres 9.6.11


The mandatory installation steps are:

  1. Install Mission Control services

  2. Enable Mission Control services

  3. Set up the Postgres databases
  4. Verify and set the environment variables
  5. Start the Mission Control services
Page Contents


Installing Mission Control Services

Installing Mission Control services on RPM

  1. Login as root.
  2. Extract thejfmc-rpm-.tar.gz.
  3. Install the Mission Control services.

    1. Install JFMC package from downloaded artifact and load default environment variables.

      rpm -ivh jfmc-rpm-/packages/jfmc.rpm # Load default environment variables source /opt/jfrog/mission-control/scripts/setenv.sh
    2. Install Init Scripts.

      #安装init脚本为每个微服务a template # Install jfi-executor, cp -f /etc/init.d/jfi-executor /etc/init.d/jfi-executor.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-executor chmod a+x /etc/init.d/jfi-executor sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-executor,g; s,__APP_NAME__,insight-executor,g; s,__SERVICE_BIN__,jfi-executor,g' /etc/init.d/jfi-executor # Install jfi-scheduler, cp -f /etc/init.d/jfi-scheduler /etc/init.d/jfi-scheduler.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-scheduler chmod a+x /etc/init.d/jfi-scheduler sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-scheduler,g; s,__APP_NAME__,insight-scheduler,g; s,__SERVICE_BIN__,jfi-scheduler,g' /etc/init.d/jfi-scheduler # Install mission-control, cp -f /etc/init.d/mission-control /etc/init.d/mission-control.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/mission-control chmod a+x /etc/init.d/mission-control sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,mission-control,g; s,__APP_NAME__,jfmc-server,g; s,__SERVICE_BIN__,mission-control,g' /etc/init.d/mission-control # Install jfi-insight-server, cp -f /etc/init.d/jfi-insight-server /etc/init.d/jfi-insight-server.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-insight-server chmod a+x /etc/init.d/jfi-insight-server sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-insight-server,g; s,__APP_NAME__,insight-server,g; s,__SERVICE_BIN__,jfi-insight-server,g' /etc/init.d/jfi-insight-server

Installing Mission Control services on Debian

  1. Login as root.
  2. Extract thejfmc-deb-.tar.gzfile.
  3. Install the Mission Control services.

    1. Install Mission Control package from downloaded artifact and load default environment variables.

      dpkg -i jfmc-deb-/packages/jfmc.deb # Load default environment variables source /opt/jfrog/mission-control/scripts/setenv.sh
    2. Install the Init Scripts.

      #安装init脚本为每个微服务a template # Install jfi-executor, cp -f /etc/init.d/jfi-executor /etc/init.d/jfi-executor.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-executor chmod a+x /etc/init.d/jfi-executor sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-executor,g; s,__APP_NAME__,insight-executor,g; s,__SERVICE_BIN__,jfi-executor,g' /etc/init.d/jfi-executor # Install jfi-scheduler, cp -f /etc/init.d/jfi-scheduler /etc/init.d/jfi-scheduler.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-scheduler chmod a+x /etc/init.d/jfi-scheduler sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-scheduler,g; s,__APP_NAME__,insight-scheduler,g; s,__SERVICE_BIN__,jfi-scheduler,g' /etc/init.d/jfi-scheduler # Install mission-control, cp -f /etc/init.d/mission-control /etc/init.d/mission-control.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/mission-control chmod a+x /etc/init.d/mission-control sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,mission-control,g; s,__APP_NAME__,jfmc-server,g; s,__SERVICE_BIN__,mission-control,g' /etc/init.d/mission-control # Install jfi-insight-server, cp -f /etc/init.d/jfi-insight-server /etc/init.d/jfi-insight-server.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-insight-server chmod a+x /etc/init.d/jfi-insight-server sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-insight-server,g; s,__APP_NAME__,insight-server,g; s,__SERVICE_BIN__,jfi-insight-server,g' /etc/init.d/jfi-insight-server

Enabling Mission Control services

Enabling Mission Control Services on RPM

chkconfig——添加jfi-executorchkconfig jfi-executor on chkconfig --add jfi-scheduler chkconfig jfi-scheduler on chkconfig --add mission-control chkconfig mission-control on chkconfig --add jfi-insight-server chkconfig jfi-insight-server on


Enabling Mission Control Services on Debian

update-rc.d jfi-executor defaults update-rc.d jfi-scheduler defaults update-rc.d mission-control defaults update-rc.d jfi-insight-server defaults

Setting up your PostgreSQL databases, users and schemas

Log in to the postgreSQL database as admin and execute the following commands,

Helm Users

Create a single user with permission to all schemas. Use this user's credentials during your Helm installationas described here.

Database and schema names can be changed only for a new installation. Changing this during an upgrade will result in loss of existing data.

# #每个命令的评论包含之日sponding environment variable or property used by the application ## An environment variable starting with "$" (for example, $DB_NAME) can be configured in the environment file ## A property containing a period (.) (for example, jfmc.db.username) can be set in the mission-control.properties file # $DB_NAME and $DB_TABLESPACE CREATE DATABASE mission_control WITH ENCODING='UTF8' TABLESPACE=pg_default; # Exit from current login \q # Login to $DB_NAME database using admin user (by default its postgres) psql -U postgres mission_control # jfmc.db.username and jfmc.db.password CREATE USER jfmc WITH PASSWORD 'password'; # $JFMC_DB_SCHEMA and jfmc.db.username CREATE SCHEMA IF NOT EXISTS jfmc_server AUTHORIZATION jfmc; # $DB_NAME and jfmc.db.username GRANT ALL ON DATABASE mission_control TO jfmc; # $JFMC_DB_SCHEMA and jfmc.db.username GRANT ALL ON SCHEMA jfmc_server TO jfmc; # jfis.db.username and jfis.db.password CREATE USER jfis WITH PASSWORD 'password'; # $JFIS_DB_SCHEMA and jfis.db.username CREATE SCHEMA IF NOT EXISTS insight_server AUTHORIZATION jfis; # $DB_NAME and jfis.db.username GRANT ALL ON DATABASE mission_control TO jfis; # $JFIS_DB_SCHEMA and jfis.db.username GRANT ALL ON SCHEMA insight_server TO jfis; # jfsc.db.username and jfsc.db.password CREATE USER jfsc WITH PASSWORD 'password'; # $JFSC_DB_SCHEMA and jfsc.db.username CREATE SCHEMA IF NOT EXISTS insight_scheduler AUTHORIZATION jfsc; # $DB_NAME and jfsc.db.username GRANT ALL ON DATABASE mission_control TO jfsc; # $JFSC_DB_SCHEMA and jfsc.db.username GRANT ALL ON SCHEMA insight_scheduler TO jfsc; # jfex.db.username and jfex.db.password CREATE USER jfex WITH PASSWORD 'password'; # $JFEX_DB_SCHEMA and jfex.db.username CREATE SCHEMA IF NOT EXISTS insight_executor AUTHORIZATION jfex; # $DB_NAME and jfex.db.username GRANT ALL ON DATABASE mission_control TO jfex; # $JFEX_DB_SCHEMA and jfex.db.username GRANT ALL ON SCHEMA insight_executor TO jfex;



Verifying and set the Environment variables and mission control properties

Ensure that ElasticSearch is up and running. Get the URL and credentials for ElasticSearch. If an ElasticSearch cluster is used, refer to the ElasticSearch setupdocumentationon what parameters are needed for Mission Control to establish communication with ElasticSearch. Mission Control microservices will bootstrap ElasticSearch with the necessary indices. If there is any issue with the configuration parameters, please refer the System status section in the UI and the logs.

# # # # # # # # # # PostgreSQL设置出口DB_TYPE = postgresql # Enter the PostgreSQL end-point and port export DB_HOST=localhost export DB_PORT=5432 export DB_NAME=mission_control export DB_SSLMODE="false" export DB_TABLESPACE="pg_default" export JFIS_DB_SCHEMA=insight_server export JFEX_DB_SCHEMA=insight_executor export JFSC_DB_SCHEMA=insight_scheduler export JFMC_DB_SCHEMA=jfmc_server export DB_URL="${DB_HOST}:${DB_PORT}" export JFMC_DB_URL="jdbc:postgresql://${DB_HOST}:${DB_PORT}/${DB_NAME}?currentSchema=${JFMC_DB_SCHEMA}" ##### Elasticsearch set-up ##### # Enter the Elasticsearch end-point and port export ELASTIC_SEARCH_URL="http://localhost:9200" # Enter the Elasticsearch read and write url can be customized if needed export ELASTIC_SEARCH_READ_URL="${ELASTIC_SEARCH_URL}" export ELASTIC_SEARCH_WRITE_URL="${ELASTIC_SEARCH_URL}" # If the Elasticsearch service is behind a loadbalancer, enter the Elasticsearch Loadbalancer URLs as below export ELASTIC_LB_READ_URL="" export ELASTIC_LB_WRITE_URL="" ##### Mongodb set-up ##### (Removed in 3.4.0) # Required for migration of data on upgrades from JFMC versions lesser than 3.4.0 # Enter the mongodb end-point and port export MONGODB_HOST="localhost" export MONGODB_PORT="27017" export MONGO_URL="$MONGODB_HOST:$MONGODB_PORT" export SPRING_DATA_MONGODB_HOST="$MONGODB_HOST" # Enter the mongodb user and password for database administration - when given the system tries to create the needed databases, and users. # This is optional and can be left blank # If this is left blank, please make sure to create below DBs and users export MONGODB_ADMIN_USERNAME="" export MONGODB_ADMIN_PASSWORD="" # Enter the mongodb user and password for mission control database export SPRING_DATA_MONGODB_USERNAME="mission_platform" export SPRING_DATA_MONGODB_PASSWORD="password" # Enter the mongodb user and password for insight databases export MONGODB_USERNAME="jfrog_insight" export MONGODB_PASSWORD="password" # Enter the mongodb database names to be used by the JFMC services # The corresponding databases need to be created in the target mongodb service # Database name for mission-control service # Username is $SPRING_DATA_MONGODB_USERNAME and Password is $SPRING_DATA_MONGODB_PASSWORD export SPRING_DATA_MONGODB_DATABASE="mission_platform" # Database name for insight-service service # Username is $MONGODB_USERNAME and Password is $MONGODB_PASSWORD export JFMC_INSIGHT_SERVER_DB="insight_team" # Database name for executor-service service # Username is $MONGODB_USERNAME and Password is $MONGODB_PASSWORD export JFMC_EXECUTOR_MONGO_DB="insight_executor" # Database name for scheduler-service service # Username is $MONGODB_USERNAME and Password is $MONGODB_PASSWORD export JFMC_SCHEDULER_MONGO_DB="insight_scheduler" ##### Diagnose and feedback information that will be sent to JFrog ##### # Enter the OS version # Examples : 7,8,16.04 export JFMC_OS_VERSION="NA" # Enter the OS Type # Examples : CentOS,RedHat,Ubuntu,Debian export JFMC_OS_TYPE="NA" # Enter the OS Distribution # Examples : jessie,xenial export JFMC_OS_DIST="NA" # Enter the Upgrade date export JFMC_CREATE_DATE="NA" # Enter the OS Distribution # Values : rpm or deb export JFMC_DIST="NA" # Enter the OS Distribution # Examples : jessie,xenial export JFMC_PACKAGE="jfrog-mission-control-${JFMC_DIST}-installer"
# These values are considered by default, the file needs to be edited if there is a need to change the values # Jfmc server credentials jfmc.db.username=jfmc jfmc.db.password=password # Insight server credentials jfis.db.username=jfis jfis.db.password=password # Executor credentials jfex.db.username=jfex jfex.db.password=password # Scheduler credentials jfsc.db.username=jfsc jfsc.db.password=password # Elasticsearch credentials elastic.username=admin elastic.password=admin



Starting Mission Control Services

To start the services, see theStarting the Mission Control servicessection.


3.Start the Mission Control services.


Upgrading Mission Control

Upgrading Mission Control on RPM

  1. Login as root.
  2. Stop the Mission Control services.
  3. Extract thejfmc-rpm-.tar.gzfile.
  4. Install the Mission Control services.

    1. Install Mission Control package from the downloaded artifact and load environment variables.


      rpm -Uvh jfmc-rpm-/packages/jfmc.rpm
    2. Copy the new variables added from/opt/jfrog/mission-control/scripts/setenvDefaults.shto/opt/jfrog/mission-control/scripts/setenv.sh.

    3. Load the environment variables.

      # Load environment variables source /opt/jfrog/mission-control/scripts/setenv.sh
    4. Install the Init scripts.

      #安装init脚本为每个微服务a template # Install jfi-executor, cp -f /etc/init.d/jfi-executor /etc/init.d/jfi-executor.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-executor chmod a+x /etc/init.d/jfi-executor sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-executor,g; s,__APP_NAME__,insight-executor,g; s,__SERVICE_BIN__,jfi-executor,g' /etc/init.d/jfi-executor # Install jfi-scheduler, cp -f /etc/init.d/jfi-scheduler /etc/init.d/jfi-scheduler.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-scheduler chmod a+x /etc/init.d/jfi-scheduler sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-scheduler,g; s,__APP_NAME__,insight-scheduler,g; s,__SERVICE_BIN__,jfi-scheduler,g' /etc/init.d/jfi-scheduler # Install mission-control, cp -f /etc/init.d/mission-control /etc/init.d/mission-control.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/mission-control chmod a+x /etc/init.d/mission-control sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,mission-control,g; s,__APP_NAME__,jfmc-server,g; s,__SERVICE_BIN__,mission-control,g' /etc/init.d/mission-control # Install jfi-insight-server, cp -f /etc/init.d/jfi-insight-server /etc/init.d/jfi-insight-server.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-insight-server chmod a+x /etc/init.d/jfi-insight-server sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-insight-server,g; s,__APP_NAME__,insight-server,g; s,__SERVICE_BIN__,jfi-insight-server,g' /etc/init.d/jfi-insight-server
    5. Enable installed services on RPM.

  5. Verify the Environment variables.
  6. Make sure Postgres, MongoDB (removed from 3.4.0) and Elasticsearch are up and running.

    MongoDB details are required for migration of data to Postgresql if Mission Control is being upgraded from version lesser than 3.4.0

  7. Starting from Mission Control 3.4.0, MongoDB is replaced with PostgreSQL to store data. Follow the steps described in thesetting up postgresqlsection to create users, the database and schema.

    Mission-Control application will take care of migrating data between them on startup. MongoDB can be stopped and removed after migration.

  8. Start the Mission Control services.


Upgrading Mission Control on Debian

  1. Log in as root.
  2. Stop the Mission Control services.
  3. Extract thejfmc-deb-.tar.gzfile.
  4. Install the Mission Control services.

    1. Install Mission Control package from downloaded artifact and load environment variables.


      dpkg -i jfmc-deb-/packages/jfmc.deb
    2. Copy new variables added from/opt/jfrog/mission-control/scripts/setenvDefaults.shto/opt/jfrog/mission-control/scripts/setenv.sh

    3. Load environment variables,


      # Load environment variables source /opt/jfrog/mission-control/scripts/setenv.sh
    4. Install Init Scripts.

      #安装init脚本为每个微服务a template # Install jfi-executor, cp -f /etc/init.d/jfi-executor /etc/init.d/jfi-executor.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-executor chmod a+x /etc/init.d/jfi-executor sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-executor,g; s,__APP_NAME__,insight-executor,g; s,__SERVICE_BIN__,jfi-executor,g' /etc/init.d/jfi-executor # Install jfi-scheduler, cp -f /etc/init.d/jfi-scheduler /etc/init.d/jfi-scheduler.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-scheduler chmod a+x /etc/init.d/jfi-scheduler sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-scheduler,g; s,__APP_NAME__,insight-scheduler,g; s,__SERVICE_BIN__,jfi-scheduler,g' /etc/init.d/jfi-scheduler # Install mission-control, cp -f /etc/init.d/mission-control /etc/init.d/mission-control.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/mission-control chmod a+x /etc/init.d/mission-control sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,mission-control,g; s,__APP_NAME__,jfmc-server,g; s,__SERVICE_BIN__,mission-control,g' /etc/init.d/mission-control # Install jfi-insight-server, cp -f /etc/init.d/jfi-insight-server /etc/init.d/jfi-insight-server.init.backup # applicable only for upgrade cp -f /opt/jfrog/mission-control/scripts/jfmc-service.template /etc/init.d/jfi-insight-server chmod a+x /etc/init.d/jfi-insight-server sed -i -e 's,__JFMC_HOME__,/opt/jfrog/mission-control,g; s,__JFMC_DATA__,/var/opt/jfrog/mission-control,g; s,__SERVICE__,jfi-insight-server,g; s,__APP_NAME__,insight-server,g; s,__SERVICE_BIN__,jfi-insight-server,g' /etc/init.d/jfi-insight-server
    5. Enable the installed services on Debian.

  5. Verify the Environment Variables.

  6. Make sure Postgres, MongoDB (removed from 3.4.0) and Elasticsearch are up and running.

    MongoDB details are required for migration of data to Postgresql if Mission Control is being upgraded from version lesser than 3.4.0

  7. Starting from Mission Control 3.4, MongoDB is replaced with PostgreSQL to store data. Follow the postgresql steps described in thesetting up your postgressection to create users, the database and schema.

    Mission-Control application will take care of migrating data between them on startup. MongoDB can be stopped and removed after migration.

  8. Start Mission Control services.

Starting the Mission Control Services

Run the following commands to start the Mission Control Services.

Logs Location

Logs can be found under $JFMC_DATA/logs (default /var/opt/jfrog/mission-control/logs).

service jfi-executor start service jfi-scheduler start service mission-control start service jfi-insight-server start

Stopping the Mission Control Services

Run the following commands to stop the Mission Control services.

service jfi-executor stop service jfi-scheduler stop service mission-control stop service jfi-insight-server stop
  • No labels