The Debian installation bundles Insight and all its dependencies. They are provided as native Debian packages, where you must separately install Insight and its dependencies. Use this if you are automating installations.
Before you proceed, see System Requirements for information on supported platforms, supported browsers, and other requirements.
Complete the following steps to install the product.
Extract the contents of the compressed archive, and go to the extracted folder.
tar -xvf jfrog-insight-<version>-deb.tar.gz cd jfrog-insight-<version>-deb
Install Insight. You must run as a root user.
dpkg -i ./insight/insight.deb
Install PostgreSQL for InsightPosgreSQL and start the PostgreSQL service.
Already have a PostgreSQL installation?
Set your PostgreSQL connection details in the Shared Configurations section of the
$JFROG_HOME/insight/var/etc/system.yaml
file.PostgreSQL is required and must be installed before continuing with the next installation steps.
Install Elasticsearch.
Instructions to install Elasticsearch are available here.
You can install the package available at
jfrog-insight-<version>-deb/third-party/elasticsearch/elasticsearch-<version>.tar.gz
or you can download a compatible version of Elasticsearch from this page.When connecting an external instance of Elasticsearch to Insight, add the following flag in the Shared Configurations of
$JFROG_HOME/insight/var/etc/system.yaml
file.shared: elasticsearch: external: true
Install Search Guard.
The Search Guard package is available at
jfrog-insight-<version>-deb/third-party/elasticsearch/search-guard-<version>.tar.gz
. For installation steps, refer to the Search Guard documentation.Important
You must install the Search Guard plugin to ensure secure communication with Elasticsearch.
You must add an admin user to Search Guard to ensure authenticated communication with Elasticsearch. The Search Guard configuration accepts a hashed password.
Use the following command to generate the hash for the password.
/etc/elasticsearch/plugins/search-guard-7/tools/hash.sh -p <clear_text_password> #This will output a hashed password (<hash_password>), make a copy of it
Paste the following configuration snippet to add a new (admin) user with the hashed password obtained from the previous step to the end of the
/usr/share/elasticsearch/plugins/search-guard-7/sgconfig/sg_internal_users.yml
file.<username>: hash: "<hashed_password>" backend_roles: - "admin" description: "Insight Elastic admin user"
Enable anonymous access to the
_cluster/health
endpoint by adding the following snippet to/usr/share/elasticsearch/plugins/search-guard-7/sgconfig/sg_config.yml
file.sg_config: dynamic: http: anonymous_auth_enabled: true #set this to true
This is required to check the health of Elasticsearch cluster.
Map the anonymous user,
sg_anonymous
, to the backend role,sg_anonymous_backendrole
, in the/usr/share/elasticsearch/plugins/search-guard-7/sgconfig/sg_roles_mapping.yml
file.sg_anonymous: backend_roles: - sg_anonymous_backendrole
Add the following snippet to the end of the
/usr/share/elasticsearch/plugins/search-guard-7/sgconfig/sg_roles.yml
file.sg_anonymous: cluster_permissions: - cluster:monitor/health
Add the following in the shared section of
$JFROG_HOME/insight/var/etc/system.
yaml
file. Refer to Shared Configurations section.shared: elasticsearch: url: <URL_TO_ELASTICSEARCH_INSTANCE>:<ELASTICSEARCH_PORT> username: <USERNAME_SET_IN_SEARCHGUARD> password: <CLEAR_TEXT_PASSWORD_FOR_THE_ABOVE_USERNAME>
If you use Amazon Elasticsearch Service
Enter the following in the shared section of the YAML file.
shared: elasticsearch: url: <URL_TO_ELASTICSEARCH>:<ELASTICSEARCH_PORT> external: true aes: signed: true serviceName: <AES_SERVICE_NAME> region: <AES_SERVICE_REGION> accessKey: <AWS_ACCESS_KEY> secretKey: <AWS_SECRET_KEY>
You must log in to the service using your Amazon AWS credentials.
Customize the product configuration.
Set the Artifactory connection details.
Customize the PostgreSQL Database connection details. (optional)
Set any additional configurations (for example: ports, node id) using the
Insight system.yaml configuration file
.
Start and manage the Insight service.
systemd OS
systemctl start|stop insight.service
systemv OS
service insight start|stop|status|restart
Access Insight from your browser at:
http://<jfrogUrl>/ui/
.Go to theDashboard tab in theApplicationmodule in the UI.
Check the Insight log.
tail -f $JFROG_HOME/insight/var/log/console.log
Configure log rotation of the console log
The
console.log
file can grow quickly since all services write to it. For more information, see configure the log rotation.
Install PostgreSQL for Insight
You must install PostgreSQL before you proceed with the installation of Insight.
Using Microsoft Azure PostgreSQL
Some managed databases, such as Azure, have a different username for accessing the database than the actual one inside the database. For Azure-managed PostgreSQL, the username
will be, for example insight@mycompany
and the actualUsername
will be insight
. For more information, see Insight System YAML.
Passwords for PostgreSQL with special characters
Do not use a password for PostgreSQL that has special characters: Xray may not work if you configure a password that has special characters, such as~ = # @ $ /
.
Set up Your PostgreSQL Databases, Users and Schemas
Warning
Database can only be changed for a new installation. Changing the names during an upgrade will result in the loss of existing data.
Log in to the PostgreSQL database as an admin and execute the following commands.
PostgreSQL Database and User Creation
CREATE DATABASE insight 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 insight CREATE USER insight WITH PASSWORD 'password'; GRANT ALL ON DATABASE insight TO insight;
Configure the
system.yaml
file with the database configuration details according to the information above. For example.shared: database: type: postgresql driver: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/insight username: insight password: password