SevOne Data Insight Installation Guide

About

This document allows you to perform fresh SevOne Data Insight installation (not upgrades) only.

Warning# 1
SevOne Data Insight depends on SevOne NMS to generate the reports. It is very important that resource names in SevOne NMS that are being used by SevOne Data Insight are NOT changed. Changing the resource names will break the reports that are dependent on them.
Warning# 2
New installation of SevOne Data Insight can be performed by only using .iso / .ova that is the matching version of SevOne Data Insight. Using an older version of the .iso / .ova file to provision a newer version of SevOne Data Insight is not supported due to minimum platform dependencies requirements.
Please do not run sevone-cli command from a subdirectory under /opt/SevOne/upgrade. It can be run from any directory except for from subdirectories under /opt/SevOne/upgrade.

For details on sevone-cli, please refer to SevOne Data Insight Troubleshooting / Debug / Tools Guide > Tools > section SevOne CLI.
SevOne Data Insight deployed on IPv4 networks is compatible with SevOne NMS clusters running on Native IPv6 clusters.
Terminology usage...
In this guide if there is,
  • [any reference to master] OR
  • [[if a CLI command (for NMS or Kubernetes or Redis) contains master] AND/OR
  •  [its output contains master]],
   it means leader or control plane.

And, if there is any reference to slave or worker, it means follower or agent.

Pre-Installation Checklist

This section applies to both single-node and multi-node installations.

Port 22 is required.

IP Conflicts

The following are the default IP ranges used by SevOne Data Insight.

If there is an IP range conflict with your environment, please refer to SevOne Data Insight Administration Guide > Deployment > Handle IP Conflicts to override the defaults.

Flag Description IP Address IP Range
––cluster-cidr Pod IP addresses 192.168.80.0/20 192.168.80.0.0 - 192.168.95.255
––service-cidr Service IP addresses 192.168.96.0/20 192.168.96.0 - 192.168.111.255
––cluster-dns Cluster DNS (must be in Service's range) 192.168.96.10 n/a

Install Single-Node

Using ssh, log into SevOne Data Insight as sevone.

$ ssh sevone@<SevOne Data Insight IP address or hostname>

ISO Installations

If you are deploying SevOne Data Insight from a .iso image, you must execute the following steps.

# copy over the default ansible config
$ sudo cp -r /opt/SevOne/upgrade/ansible/playbooks/inventory/* /etc/ansible/

# install base packages
$ sevone-cli playbook up --tags os --extra-vars "freight_install_skip_broken=yes"

# provision kubernetes
$ sevone-cli playbook up --extra-vars "freight_install_skip_broken=yes"

Generate SSH Keys

As a security measure, fresh installations do not ship with pre-generated SSH keys. Execute the following command to generate unique SSH keys for your cluster.

$ sevone-cli cluster setup-keys

Install SOA

SOA is a required dependency of SevOne Data Insight and must be installed on your SevOne NMS.

You will be prompted to enter a password. This will be the root password for your NMS.
IMPORTANT
When upgrading SOA, nginx service will restart on your SevOne NMS. This causes a very brief service impact.
SOA version
SOA must be on the latest version on all appliances in SevOne NMS cluster. Command Line Interface (CLI) must be used to upgrade SOA on all peers as the graphical user interface (GUI) only upgrades SOA for the NMS appliance you are connected to.
$ sevone-cli soa upgrade \
/opt/SevOne/upgrade/utilities/SevOne-soa-*.rpm \
<enter SevOne NMS IP address>

Connect NMS (single-node)

You must already have SevOne Data Insight deployed with the supported base images to link your SevOne Data Insight to your SevOne NMS.

You will be prompted for the following information when running the bootstrap command.

Prompt Description
Datasource Name The name of your datasource. This can be anything.
URL SevOne NMS address. This is the URL for SevOne NMS you want to connect SevOne Data Insight to. For example, https://10.12.34.56 or https://nms.customer.com
Username It should be admin unless you know what you are doing.
Password Same password used in SevOne NMS. This is the password for username, admin.
Tenant Name The name of your first tenant. This can be anything.
  1. Execute the bootstrap command.
    $ sevone-cli sdi connect-nms

    Example: Run bootstrap command

    In this example, I have provided the following information at the prompts.
    • Name: SevOne
    • URL: https://10.129.14.168
    • Login instead of providing an API key? [ y/n ]: y
    • Username: admin
    • Password: SevOne
    • Name: SevOne (this is the tenant name)
    • Tenant Alternate/Display Name: hit <RETURN key>
    • Username: admin
    • Would you like to Add an object metadata filter? [y/N] N

    $ sevone-cli sdi connect-nms
    
    Defaulted container "graphql" out of: graphql, fix-shared-storage-permission (init)
    
    > @sevone/insight-server@6.7.0 prod:bootstrap
    > NODE_PATH=./dist/libs node dist/scripts/database-init/bootstrap.js
    
    info: Authsource Configuration
        Enter the name of your authentication source. Note that it may be the same
        as your datasource. Ex: , SevoneNMS8, Auth Serv, Datasource 123
    Name: SevOne
    info: Enter the NMS base URL to your authentication source.
        Ex: https://api.example.com
    URL: https://10.129.14.168
    Login instead of providing an API key? [y/n]: y
    Username: admin
    Password: ******
    info: [SevOne@reconfigure-datasource] SOA request (SOA-1) post https://10.129.14.168/api/v3/users/signin
    (node:248) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
    (Use `node --trace-warnings ...` to show where the warning was created)
    info: [SevOne@reconfigure-datasource] SOA response (SOA-1) elapsed 1994ms.
    info: [SevOne@reconfigure-datasource] SOA request (SOA-2) post https://10.129.14.168/api/v3/users/apikey
    info: [SevOne@reconfigure-datasource] SOA response (SOA-2) elapsed 72ms.
    info: Tenant Configuration
        Enter the name of your tenant. This is independent to Data Insight.
        Ex: WestCoast BestCoast, EastCoast BeastCoast
    Name: SevOne
    (OPTIONAL. Hit enter to skip) Enter the alternate/display name of your tenant.
    Tenant Alternate/Display Name: 
    info: Super Admin User Configuration
        Enter the username of your Retina Super Admin user. Note that this user
        MUST match a user with appropriate permissions on your authsource. Even
        if it's not a Super User on your authsource, it WILL be on Retina.
        Ex: JJJSchmidt, jsmith
    Username: admin
    info: [SevOne@reconfigure-datasource] SOA request (SOA-3) get https://10.129.14.168/api/v3/health/ping
    info: [SevOne@reconfigure-datasource] SOA response (SOA-3) elapsed 7ms.
    info: Bootstrap complete.
    Defaulted container "graphql" out of: graphql, fix-shared-storage-permission (init)
    
    > @sevone/insight-server@6.7.0 prod:provision
    > NODE_PATH=./dist/libs node dist/scripts/database-init/provision.js
    
    
    No existing object metadata filters.
    
    Would you like to Add an object metadata filter? [y/N] N
    (node:275) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
    (Use `node --trace-warnings ...` to show where the warning was created)
    info: [SevOne@SevOne] SOA request (SOA-1) post https://datasource-di-1.default.svc.cluster.local.:443/api/v3/users
    info: [SevOne@SevOne] SOA response (SOA-1) elapsed 54ms.
    info: Provisioning complete.
    The command above can be retried to change your values in the event of typos or incorrect credentials.
    If you need to connect to a different NMS, please refer to section Configuration > Tenants and Datasources > Configuration > Manage Datasources via CLI or User Interface > Modify a Datasource in SevOne Data Insight Administration Guide.
  2. SevOne Data Insight is now provisioned. From a web browser of your choice, enter <SevOne Data Insight IP address or hostname> in the URL to access the graphical user interface.

Install Multi-Node

ISO Installations

If you are deploying SevOne Data Insight from a .iso image, you must execute the following steps.

# copy over the default ansible config
$ sudo cp -r /opt/SevOne/upgrade/ansible/playbooks/inventory/* /etc/ansible/

# install base packages
$ sevone-cli playbook up --tags os --extra-vars "freight_install_skip_broken=yes"

Configure Cluster

Every SevOne Data Insight node ships as a running single-node Kubernetes cluster. In order to create a multi-node cluster, you must designate one of the nodes to be your control plane node.

Example

IMPORTANT
The hostnames and IP addresses mentioned in this table are used in the examples for the steps below.
Please make sure to replace the hostnames and IP addresses with your machine's hostnames and IP addresses.

Hostname IP Address Role
sdi-node01 10.123.45.67 control plane
sdi-node02 10.123.45.68 agent1
sdi-node03 10.123.45.69 agent2

Execute the following steps.

  1. Using ssh, log into the designated SevOne Data Insight control plane node as sevone.
    $ ssh sevone@<SevOne Data Insight 'control plane' node IP address or hostname>

    Example

    $ ssh sevone@10.123.45.67
  2. Register and configure your agent nodes.
    You will be prompted for your SSH password.
    $ sevone-cli cluster worker add <'agent1' IP address> --hostname <'agent1' host name>
    
    $ sevone-cli cluster worker add <'agent2' IP address> --hostname <'agent2' host name>

    Example

    $ sevone-cli cluster worker add 10.123.45.68 --hostname sdi-node02
    
    $ sevone-cli cluster worker add 10.123.45.69 --hostname sdi-node03
  3. Teardown the Kubernetes cluster.
    $ sevone-cli cluster down
  4. Spin up the cluster.
    $ sevone-cli cluster up
    This command will automatically take the IP addresses of the agent nodes from /etc/ansible/hosts file.
  5. Verify that your agent node(s) have been added to the Kubernetes cluster.

    $ /usr/local/bin/kubectl get nodes
    NAME                             STATUS   ROLES                  AGE     VERSION
    <your 'control plane' hostname>  Ready    control-plane,master   52d     v1.28.2+k3s1
    <your 'agent1' hostname>         Ready    <none>                 2m25s   v1.28.2+k3s1
    <your 'agent2' hostname>         Ready    <none>                 2m45s   v1.28.2+k3s1
    ...
    <your 'agent<n>' hostname>       Ready    <none>                 3m05s   v1.28.2+k3s1

    Example

    $ /usr/local/bin/kubectl get nodes
    NAME         STATUS   ROLES                  AGE     VERSION
    sdi-node01   Ready    control-plane,master   52d     v1.28.2+k3s1
    sdi-node02   Ready    <none>                 2m25s   v1.28.2+k3s1
    sdi-node03   Ready    <none>                 2m45s   v1.28.2+k3s1

Install SOA

SOA is a required dependency of SevOne Data Insight and must be installed on your SevOne NMS.

You will be prompted to enter a password. This will be the root password for your NMS.
IMPORTANT
When upgrading SOA, nginx service will restart on your SevOne NMS. This causes a very brief service impact.
SOA version
SOA must be on the latest version on all appliances in SevOne NMS cluster. Command Line Interface (CLI) must be used to upgrade SOA on all peers as the graphical user interface (GUI) only upgrades SOA for the NMS appliance you are connected to.
Add flag --all-peers if you want to install SOA on all peers in the cluster.
$ sevone-cli soa upgrade \
/opt/SevOne/upgrade/utilities/SevOne-soa-*.rpm \
<enter SevOne NMS IP address> --all-peers

Connect NMS (multi-node)

Connect SevOne Data Insight to your SevOne NMS. For details, please refer to section Connect NMS for single node.

OOTB Reports
To import OOTB reports and templates, please refer to SevOne Data Insight Administration Guide > section Configuration > OOTB Reports.
Please refer to SevOne Data Insight Administration Guide for configuration and deployment details and SevOne Data Insight Troubleshooting / Debug / Tools Guide for troubleshooting scenarios, how to debug SevOne Data Insight, and various tools available.