SevOne Data Insight Installation Guide
About
This document allows you to perform fresh SevOne Data Insight installation (not upgrades) only.
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.
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.
For details on sevone-cli, please refer to SevOne Data Insight Troubleshooting / Debug / Tools Guide > Tools > section SevOne CLI.
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]],
And, if there is any reference to slave or worker, it means follower or agent.
References
- SevOne Data Insight Pre-Installation Guide - provides pre-installation details. You must review this guide prior to performing a fresh-install of SevOne Data Insight.
- SevOne Data Insight Migrate Operating System & Data Guide - if you are on SevOne Data Insight >= 3.0.0 and SevOne Data Insight <= 3.4.1, please refer to this guide for details on how to migrate the operating system and data from Red Hat Enterprise Linux (RHEL) to CentOS 7.
Pre-Installation Checklist
This section applies to both single-node and multi-node installations.
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 |
DNS Config
A working DNS configuration is a requirement for any SevOne Data Insight deployment. Otherwise, SevOne Data Insight will not work.
Please refer to SevOne Data Insight Troubleshooting / Debug / Tools Guide > Troubleshooting > General Issues > section Domain Name Resolution (DNS) not working for details.
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.
When upgrading SOA, nginx service will restart on your SevOne NMS. This causes a very brief service impact.
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 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. |
- 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. - 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
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.
- 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
- 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
- Teardown the Kubernetes
cluster.
$ sevone-cli cluster down
- 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. -
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.
When upgrading SOA, nginx service will restart on your SevOne NMS. This causes a very brief service impact.
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> --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.
To import OOTB reports and templates, please refer to SevOne Data Insight Administration Guide > section Configuration > OOTB Reports.