arrow-left

All pages
gitbookPowered by GitBook
1 of 11

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

ONES Telemetry Agent Installation

hashtag
ONES Agent v2.0 support Agent Auto discovery

  1. ONESv2.0 Agent support auto-discovery feature

  2. ONESv2.0 Agent support to send telemetry on multiple controllers (Max 2)

  3. Restrict IP feature can be enabled/disabled

  4. Using this feature agent will discover the ONES Controller and will update the entry on ONES App with all the feature metrics

  5. Need to add a few inputs while installing agent

    1. Controller IP //To restrict the telemetry streaming

    2. Device Credentials

hashtag
Installation

On the Application machine, go to ONES-2.0/ones_t_agent folder

root@ones-application:~$ cd /ONES-2.0/ones_t_agent

hashtag
Installation (Agent Install on multiple switches at the same time)

  • Enter device details (Management IP, Username and Password ) in device_info.csv

root@ones-application/ONES-2.0/ones_t_agent:~$ vi device_info.csv

circle-info

The user needs to add all the required details in the CSV file, This CSV file will be used to push this information to agent.conf(/etc/sonic/agent.conf) file to every switch and ones-agent on the switch will pick the details from agent.conf file and will register itself to ONES controller with all the given parameters this helps a NetOps engineer to directly add a CSV file containing all the details, The Engineer needs not to add one by one devices on the controller which actually is time-consuming

  • Save the File

Executing the installation script can be used for installing a telemetry agent on one or more devices in the data centre.

circle-info

The installer file automatically detects & will process fresh installation or upgrade to the new version

circle-info

While upgrading, all the previous files will automatically get deleted on the Switch

circle-info

If users want to use the certificate for GNMI & Auto-Registration, so users need to put the certificate in directory gnmi-certs(for GNMI) & auto-reg-certs(for Agent Auto Registration)

root@ones-application/ONES-2.0/ones_t_agent:~$ ./ones_agent_parallel_installer.sh

  1. Users can use ONES-Agent as an integrated service in SONiC OS or can use it as an independent third-party container.

  1. Scripts asks to put the Controller IP to use auto-discovery feature

circle-info

User can only add 2 Controller IP to restrict the telemetry streaming

  1. User can choose the restriction to send telemetry to collector IP only

triangle-exclamation

It's important to restrict collector IP as NO in case the running network has NAT translation from private to public IP for ONES server access from the device.

hashtag
Installation Begin

circle-info

Now Agent will only stream the metrics to the given controller & will autoregister on the ONES-App

circle-exclamation

The user needs to make sure, The devices have a unique name, otherwise, there will issue while plotting the full topology view(Topology Page).

Download ONES Package

  • Work with Aviz Sales/Support contact to create an account on Aviz Networks Support Portal

  • Login to https://support.aviznetworks.comarrow-up-right with your account credentials

  • Click on the Downloads section, under ONES, click to download ONES Release 2.0

    • File to install on Ubuntu

      • ONES 2.0 Installation package

    • File to install on VMware, ESXI, vSphere, and vCenter setup

hashtag
To install ONES Package on Ubuntu or Linux

  • Copy ONES Release 2.0 package (tar.gz) to ONES Application machine

  • Follow the next page to execute a successful installation

ONES 2.0 OVA

  • File to install on Hypervisor, KVM, LibVirt Manager

    • ONES 2.0 QCOW2

  • Agent Less Telemetry

    hashtag
    ONES Application support Agent Less devices telemetry for

    hashtag
    >Cumulus (NVUE API)

    hashtag
    >Arista EOS (OpenConfig)

    Layer
  • Region

  • azid

  • brickid

  • rackid

  • ONES Orchestration Agent Installation

    On the ONES Application server, go to ONES-2.0/ones_fm_agent

    root@ones-application:~$ cd /ONES-2.0/ones_fm_agent

    hashtag
    Installation (Agent Install on multiple switches at the same time)

    • Enter device details (Management IP, Username, Password ) in device_info.csv

    root@ones-application/ONES-2.0/ones_fm_agent:~$ vi device_info.csv

    • Save the file

    • Execute the installation script

    hashtag
    Fresh Installation

    root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'install'

    hashtag
    Installation with a config cleanup

    circle-info

    using this process, Script will clear the base config like port--channel related config, IP related config, VXlan related config and more related configuration.

    root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'installresetconfig'

    hashtag
    Upgrade Installation

    root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'upgrade'

    • Verify the Installation success by running the fmcli command on individual devices

    root@Switch:~$ sudo fmcli

    Cumulus(NVUE API)

    circle-info

    Cumulus switch with version >4.4 to start streaming to ONES Controller via NVUE API

    hashtag
    Enable gNMI in Cumulus

    netq config add agent gnmi-enable true
    netq config add agent opta-enable false
    netq config add agent gnmi-port 9339
    netq config restart agent
    netq config status agent
    
    netq config add agent gnmi-port 50052
    netq config restart agent
    netq config status agent
    
    cumulus@cumulus:mgmt:~$ cat /etc/netq/netq.yml
    netq-agent:
    is-gnmi-enabled: true
    is-opta-enabled: false
    netq-gnmi:
    gnmi_port: 9339

    hashtag
    Enable NVUE API in Cumulus

    circle-info

    ONES IS not using NCLU. ONES Application only use NVUE API from OS version 4.4, less than that NCLU code is not enabled for ONES. [For ONES 1.1 testing 4.4 and 5.2 version]

    Cumulus 5.x not fully support NCLU, only NVUE.

    ip,user,passwd,layer,region,azid,brickid,rackid
    10.4.4.61,admin,YourPaSsWoRd,Spine,SanJose,1,1,1
    10.4.4.62,admin,YourPaSsWoRd,Leaf,SanJose,1,1,1
    ...
    ...
    ...
    Does the ONES-agent is integrated with SONiC NOS? (yes/no): no
    Enter the ip address of collectors to auto-discover. Do not enter more than 2. Eg - 10.1.1.10, 10.2.2.5 : 10.4.4.11
    Do you want to restrict access only to provided collector ip?
    Note: Providing Yes will restrict access to agent only with the provided collector IP Address
    Enter Yes/No : Yes
    root@ones-application/ONES-2.0/ones_t_agent:~$./ones_agent_parallel_installer.sh
    Does the ONES-agent is integrated with SONiC NOS? (yes/no): no
    
    Enter the ip address of collectors to auto-discover. Do not enter more than 2. E.g. - 10.1.1.10, 10.2.2.5 : 10.4.4.11
    Do you want to restrict access only to provided collector ip?
    Note: Providing Yes will restrict access to agent only with the provided collector IP Address
    Enter Yes/No : Yes
    [{'ip': '10.4.4.61', 'user': 'admin', 'passwd': 'YourPaSsWoRd', 'layer': 'Spine', 'region': 'Sanjose', 'azid': '1', 'brickid': '1', 'rackid': '1', 'installation_instance': 1, 'agentip': '10.4.4.61', 'collectorip': '10.4.4.11', 'restrict_collector_ip': 'Yes'}, {'ip': '10.4.4.62', 'user': 'admin', 'passwd': 'YourPaSsWoRd', 'layer': 'Leaf', 'region': 'Sanjose', 'azid': '1', 'brickid': '1', 'rackid': '1', 'installation_instance': 1, 'agentip': '10.4.4.62', 'collectorip': '10.4.4.11', 'restrict_collector_ip': 'Yes'}]
    ###############Connecting to switch###############
    ###############Connecting to switch###############
    Connection to switch 10.4.4.61 successful.....................
    Looking for previous installation........................
    avizdock/ones-agent:devu
    Connection to switch 10.4.4.62 successful.....................
    Looking for previous installation........................
    avizdock/ones-agent:latest
    
    
    ...
    ...
    ...
    ...
    ones-agent.service file copied successfully on the device 10.4.4.61........
    ##################################################################
    ones-agent.service file copied successfully on the device 10.4.4.62........
    ##################################################################
    Deployment of ones-agent to switch 10.4.4.61 is successful
    Deployment of ones-agent to switch 10.4.4.62 is successful
    sudo ln -s /etc/nginx/sites-{available,enabled}/nvue.conf
    sudo sed -i 's/listen localhost:8765 ssl;/listen \[::\]:8765 ipv6only=off ssl;/g' /etc/nginx/sites-available/nvue.conf
    sudo systemctl restart nginx
    ip,user,passwd
    10.4.4.61,admin,YourPaSsWoRd
    10.4.4.62,admin,YourPaSsWoRd
    ...
    ...
    ...
    root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'install'
    Installer will proceed with FMCLI-install ...
    
    2fa37f2ee66e: Loading layer [==================================================>]  121.3MB/121.3MB
    5cc3a4df1251: Loading layer [==================================================>]   49.6MB/49.6MB
    2ef3351afa6d: Loading layer [==================================================>]  181.5MB/181.5MB
    0c2d6fc19d6a: Loading layer [==================================================>]  596.9MB/596.9MB
    d3de4ba9f72c: Loading layer [==================================================>]  19.25MB/19.25MB
    6546924ee8e7: Loading layer [==================================================>]  41.04MB/41.04MB
    16227882e38c: Loading layer [==================================================>]   5.12kB/5.12kB
    29d8b0c23f30: Loading layer [==================================================>]   10.5MB/10.5MB
    0eb731fd9ff0: Loading layer [==================================================>]  69.94MB/69.94MB
    015b774a058f: Loading layer [==================================================>]   2.56kB/2.56kB
    35743f2c1258: Loading layer [==================================================>]  37.47MB/37.47MB
    e02e88375b40: Loading layer [==================================================>]  4.428MB/4.428MB
    Loaded image: avizdock/agent_installer:latest
    Docker image 'avizdock/agent_installer:latest' is loaded.
    4c7a6666fea40554651f85c6b6857a79a99433872ba168c8865fbcf3246f0adc
    
    Docker container 'agent_installer' is running.
    CONTAINER ID   IMAGE                             COMMAND     CREATED         STATUS                  PORTS     NAMES
    4c7a6666fea4   avizdock/agent_installer:latest   "python3"   4 seconds ago   Up Less than a second             agent_installer
    Server IP: 172.17.0.2
    fm_port: None
    [{'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None}]
    Operation = install
    ##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
    ###############Connecting to switch###############
    ...
    
    #################### Installing FMCLI on the device 10.20.7.12 ######################
    ####### Debug LOGS on the device 10.20.7.12 #######
    ...
    
    FM-Agent installed successfully on the device 10.20.7.12........
    root@ones-application/ONES2.0/ones_fm_agent# ./deploy_fmcli.sh 'installresetconfig'
    Installer will proceed with FMCLI-installresetconfig ...
    
    2fa37f2ee66e: Loading layer [==================================================>]  121.3MB/121.3MB
    5cc3a4df1251: Loading layer [==================================================>]   49.6MB/49.6MB
    2ef3351afa6d: Loading layer [==================================================>]  181.5MB/181.5MB
    0c2d6fc19d6a: Loading layer [==================================================>]  596.9MB/596.9MB
    d3de4ba9f72c: Loading layer [==================================================>]  19.25MB/19.25MB
    6546924ee8e7: Loading layer [==================================================>]  41.04MB/41.04MB
    16227882e38c: Loading layer [==================================================>]   5.12kB/5.12kB
    29d8b0c23f30: Loading layer [==================================================>]   10.5MB/10.5MB
    0eb731fd9ff0: Loading layer [==================================================>]  69.94MB/69.94MB
    015b774a058f: Loading layer [==================================================>]   2.56kB/2.56kB
    35743f2c1258: Loading layer [==================================================>]  37.47MB/37.47MB
    e02e88375b40: Loading layer [==================================================>]  4.428MB/4.428MB
    Loaded image: avizdock/agent_installer:latest
    Docker image 'avizdock/agent_installer:latest' is loaded.
    86086002858bad33fa21019f48eb58c7e37d9104d5b161ad7706d61c0bfa89f2
    
    Docker container 'agent_installer' is running.
    CONTAINER ID   IMAGE                             COMMAND     CREATED         STATUS                  PORTS     NAMES
    86086002858b   avizdock/agent_installer:latest   "python3"   3 seconds ago   Up Less than a second             agent_installer
    
    ones-fm container is not running
    
    Server IP: 172.17.0.2
    fm_port: None
    [{'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None}]
    Operation = installresetconfig
    ##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
    ###############Connecting to switch###############
    <paramiko.client.SSHClient object at 0x7feb0b5b0310>
    Connection to switch 10.20.7.12 successfull.....................
    /home/ones_fm_agent
    Creating work directory  on the device 10.20.7.12........
    Work Directory ones-fm_1702897991_0583997 created successfully on the device 10.20.7.12 .............
    Copying FMCLI_Installer.py to directory ones-fm_1702897991_0583997 on the device 10.20.7.12 .............
    Copying FMCLI_Installer.py to directory ones-fm_1702897991_0583997 successful on the device 10.20.7.12 .............
    Copying fmcli-app.tgz to directory ones-fm_1702897991_0583997 on the device 10.20.7.12 .............
    Copying fmcli-app.tgz to directory ones-fm_1702897991_0583997 successful on the device 10.20.7.12 .............
    
    #################### Installing FMCLI on the device 10.20.7.12 ######################
    ####### Debug LOGS on the device 10.20.7.12 #######
    
    ...
    ...
    ...
    
    
    FM-Agent installed successfully on the device 10.20.7.12........
    ####### Deleting ones-fm_1702897991_0583997 dir on the device 10.20.7.12 #######
    ##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
    ###############Connecting to switch - 10.20.7.12 ###############
    <paramiko.client.SSHClient object at 0x7feb0b5b0640>
    Connection to switch 10.20.7.12 successfull.....................
    /home/ones_fm_agent
    Creating work directory  on the device 10.20.7.12........
    Work Directory ones-fm_1702898114_0637665 created successfully on the device 10.20.7.12 .............
    Copying config-reset.py to directory ones-fm_1702898114_0637665 on the device 10.20.7.12 .............
    Copying config-reset.py to directory ones-fm_1702898114_0637665 successful on the device 10.20.7.12 .............
    
    #################### Cleaning config on the device 10.20.7.12 ######################
    ...
    ...
    ...
    
    OCI runtime exec failed: exec failed: unable to start container process: exec: "/usr/lib/frr/frr-reload.py": stat /usr/lib/frr/frr-reload.py: no such file or directory: unknown
    Running command: /usr/local/bin/sonic-cfggen -d --print-data > /etc/sonic/config_db.json
    ###################################
    ###################################
    ###### Config Reset Successful !!! #######
    
    
    root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'upgrade'
    Installer will proceed with FMCLI-upgrade ...
    
    2fa37f2ee66e: Loading layer [==================================================>]  121.3MB/121.3MB
    5cc3a4df1251: Loading layer [==================================================>]   49.6MB/49.6MB
    2ef3351afa6d: Loading layer [==================================================>]  181.5MB/181.5MB
    0c2d6fc19d6a: Loading layer [==================================================>]  596.9MB/596.9MB
    d3de4ba9f72c: Loading layer [==================================================>]  19.25MB/19.25MB
    6546924ee8e7: Loading layer [==================================================>]  41.04MB/41.04MB
    16227882e38c: Loading layer [==================================================>]   5.12kB/5.12kB
    29d8b0c23f30: Loading layer [==================================================>]   10.5MB/10.5MB
    0eb731fd9ff0: Loading layer [==================================================>]  69.94MB/69.94MB
    015b774a058f: Loading layer [==================================================>]   2.56kB/2.56kB
    35743f2c1258: Loading layer [==================================================>]  37.47MB/37.47MB
    e02e88375b40: Loading layer [==================================================>]  4.428MB/4.428MB
    Loaded image: avizdock/agent_installer:latest
    Docker image 'avizdock/agent_installer:latest' is loaded.
    73bf7f665d0df3633a83b58fae02e987cad8f1246ec6119aa58088e00c1e44a6
    
    Docker container 'agent_installer' is running.
    CONTAINER ID   IMAGE                             COMMAND     CREATED         STATUS                  PORTS     NAMES
    73bf7f665d0d   avizdock/agent_installer:latest   "python3"   3 seconds ago   Up Less than a second             agent_installer
    
    ones-fm container is not running
    
    Server IP: 172.17.0.2
    fm_port: None
    [{'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None}]
    Operation = upgrade
    ##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
    ###############Connecting to switch###############
    ...
    ...
    ...
    
    #################### Upgrading FMCLI on the device 10.20.7.12 ######################
    ####### Debug LOGS on the device 10.20.7.12 #######
    fmcli-app/
    fmcli-app/fmcli
    fmcli-app/fmclimain.service
    fmcli-app/fmcli.cli
    ...
    ...
    ...
    
    Created symlink /etc/systemd/system/multi-user.target.wants/fmclimain.service → /etc/systemd/system/fmclimain.service.
    /tmp/fmcliStartup.init
    
    FM-Agent Upgraded successfully on the device 10.20.7.12........
    root@Switch:~$ sudo fmcli 
    fmcli# 

    Arista EOS (OpenConfig)

    hashtag
    Introduction

    To enable Arista switches running EOS to stream telemetry data to ONES controller, API gNMI and eAPI need to be enabled

    hashtag
    Enable API gNMI

    hashtag
    Enabling eAPI

    Arista-DCS-7010T(config)#management api gnmi
    Arista-DCS-7010T(config-mgmt-api-gnmi)#transport grpc default
    Arista-DCS-7010T(config-gnmi-transport-default)#port 50052
    Arista-DCS-7010T(config-gnmi-transport-default)#provider eos-native
    Arista-DCS-7010T(config-mgmt-api-gnmi)#end
    
    Arista-DCS-7010T#show management api gnmi
    Octa: enabled
    Transport: GRPC
    Enabled: yes
    Server: running on port 50052, in default VRF
    SSL profile: SELFSIGNED
    QoS DSCP: none
    Authorization required: no
    Accounting requests: no
    Certificate username authentication: no
    Notification timestamp: last change time
    Listen addresses: ::
    
    Transport: default
    Enabled: yes
    Server: running on port 6030, in default VRF
    SSL profile: none
    QoS DSCP: none
    Authorization required: no
    Accounting requests: no
    Certificate username authentication: no
    Notification timestamp: last change time
    Listen addresses: ::
    
    bash$ ssh username@myswitch
       Password: <passw0rd>
       myswitch> enable
       myswitch# configure terminal
       myswitch(config)# management api http-commands
       myswitch(config-mgmt-api-http-cmds)# no shutdown
       myswitch(config-mgmt-api-http-cmds)# show management api http-commands
       Enabled:            Yes
       HTTPS server:       running, set to use port 443
       HTTP server:        shutdown, set to use port 80
       Local HTTP server:  shutdown, no authentication, set to use port 8080
       Unix Socket server: shutdown, no authentication
       VRFs:               default

    Installation Pre-requisites

    hashtag
    Installation Overview

    ONES Installation follows the below steps in the order sequence of:

    • License Readiness

    • Preparing and Installing ONES Application machine

    • Installing ONES Agents on SONiC Switches for Orchestrator and Telemetry

    • Enabling OpenConfig on non-SONiC Switches for Telemetry

    hashtag
    License Readiness

    The installer allows a default capability for managing 8 devices without a license. Beyond this, the following license key is required for proceeding with the Installation;

    • ONES Application License (As per device count)

    hashtag
    Trail license support feature

    • Telemetry Visibility (Monitor, inventory, analytics)

    • Add/remove Non-SONiC devices via YAML or CSV

    • Support (Zendesk)- Ability to open a ticket with inventory dump

    To obtain a license, contact support@aviznetworks.com providing the below details;

    • License Duration - In Years (1-5)

    • Devices Count - 8, 32, 64, 128, 256, 512 or 1024

    • ONES installation ID

    circle-info

    Users can get the ONES installation ID on the ONES-UI Login page after the installation

    hashtag
    System Hardware Requirements – ONES Application

    In the current release, ONES can support managing up to 1024 devices. For ONES Application Installation, the system hardware requirements vary based on the number of devices to manage;

    Devices
    Processor and Cores
    RAM
    Storage
    circle-info

    If user wants to use 8 devices, the recommendation is to use 64GB storage, because the default backup count is 1, and max can be configured 3

    And if storage gets full, the controller will stop working or behave in wrong way

    hashtag
    System Software Requirements - ONES Application

    OS
    Libraries
    Task
    Command
    Validation
    circle-info

    ONES Application package will take care of this prerequisite at the time of installation, Package verify the availability of the dependencies first then execute the application scripts

    Note* Script do not take care about the update to latest version of ubuntu

    hashtag

    hashtag
    Customer Firewall Configuration (Ports to be opened)

    ONES Service
    Port Numbers
    circle-info

    These port numbers should be available to use and all ports must be allowed in the firewall if the Database server and devices are in the different DMZ zone

    sudo iptables -L // This command can be used to verify the used ports

    hashtag
    Network Switch (Managed Node) Configuration Requirement

    • SSH is enabled

    • Network Reachability from ONES Application

    • OpenConfig feature is enabled (for non-SONiC Switches)

    hashtag
    Browser Requirements for ONES Web User Interface access

    • Google Chrome version 107 or later

    • Mozilla Firefox version 106 or later

    Syslog access, Console/SSH access for device
    Email ID: (For Account creation)

    64GB

    6 TB or more

    512

    INTEL(E5-1607 v2)/AMD,

    16 cores or higher

    64GB

    12 TB or more

    1024

    INTEL(E5-1607 v2)/AMD,

    32 cores or higher

    128GB

    20 TB or more

    sudo apt-get install docker-compose

    docker-compose version​

    Install Python3

    sudo apt-get install python3

    python3 –-version

    Install Python3-pip

    sudo apt-get install python3-pip

    pip3 –-version

    Install Paramiko

    sudo apt-get install python3-paramiko

    ​pip show paramiko

    Install SCP-Client

    sudo pip3 install scp

    pip show scp

    ONES Orchestrator

    8787

    ONES Orchestrator Database

    2345

    pty-server

    8885

    API-Server

    8080

    stream-processer

    8093

    ksqldb-server

    8088

    kafka-connect

    8083

    schema-registry

    8081

    broker

    29092, 9101, 9092

    Zookeeper

    2181

    ONES Collector

    50053

    8/16/32/64

    x86/x64 based,

    4-core CPU

    16GB

    160GB/320GB/640GB/1.2 TB

    128

    INTEL(E5-1607 v2)/AMD,

    4 cores

    32GB

    3 TB or more

    256

    Ubuntu 18.0 or later

    docker, docker-compose

    python3, python3-pip

    paramiko

    scp

    Ubuntu Server

    Installer file (Version 18 or higher)

    lsb_release -a

    Update to latest packages

    sudo apt-get update

    NA​

    Install Docker

    sudo apt-get install docker.io

    ​docker ps​

    ONES Web GUI

    443

    Switch Access over SSH

    22

    ONES Monitoring

    50052

    gNMI Gateway (Telemetry)

    9339

    ONES Telemetry Database

    5432

    x86/x64 based

    8-core CPU

    Install Docker-compose

    Installing ONES Agents

    hashtag
    Overview

    ONES requires user to install the below agents on SONiC NOS to allow Network Orchestration and Visibility

    • ONES Orchestrator Agent for Network Orchestration

    • ONES Telemetry Agent for Telemetry Data Streaming (Network Visibility)

    NOTE: for non-SONiC switches,

    • OpenConfig feature on its NOS needs to be enabled for Network Visibility (Telemetry Data Streaming)

    • Network Orchestration is not supported

    hashtag
    SONiC NOS upgrade scenario - Impact on ONES Agents

    • SONiC NOS Upgrade could be done either via

      • ONES UI (Inventory-->Devices)

        • Instead of using FM - Orchestrator Agent

    Orchestrator Agent takes a backup of FMCLI, ONES Agents and associated services to the /host folder.

  • After a successful upgrade, Orchestrator Agent restores these files

  • Traditional means (ZTP, sonic-installer CLI)

    • The user needs to reinstall ONES Agents again

  • ONES Installation

    Adding New Controller

    ONES Agent configuration file allows user to add new collector(controller) after the agent installation if required

    hashtag
    Overview

    If a customer desires to receive the same agent telemetry on a different ONES collector, there's no need to reinstall the agent on the device. Instead, the user can effortlessly add the new collector's IP to the device's agent.conf file after installing ONES on the other server. This action will automatically register and initiate streaming to the new ONES application

    circle-info

    Only 2 controllers are supported in auto-discovery

    Note: Terms "collector" and "controller" are used interchangeably; they have the same meaning.

    hashtag
    Steps to add new Controller-IP

    1. SSH to the device first

    2. Navigate to /etc/sonic/

    3. Edit agent.conf file and add collector ip

    After restarting Docker, it will automatically register with the new ONES-Application

    Restart ONES-Agent Docker

    admin@Spine-2:/etc/sonic$ docker restart ones-agent
    admin@Spine-2:~$ cd /etc/sonic/
    admin@Spine-2:/etc/sonic$
    admin@Spine-2:/etc/sonic$ sudo vi agent.conf
    # Configuration file for agent gnmi
    # Any edits require restart of the agent
    # Mode - can be Tls/NoTls
    mode = NoTls
    
    #restrict_collector_ip = Yes/No
    #Setting this to yes means that only the IP address mentioned under collectorip
    #will be allowed to connect to the agent. No sets off this behavior
    restrict_collector_ip = No
    #layer of the switch Eg - Superspine/ Leaf/ Spine/ ToR
    layer = Spine
    #region of the switch Eg - Denver
    region = Sj
    #ip of the switch Eg - 10.4.4.33
    agentip = 10.20.2.12
    #ip of the collector Eg - 10.1.1.10
    collectorip = 10.20.0.16,10.20.0.14
    #azid of the switch Eg - 1
    azid = 1
    #brickid of the switch Eg - 1
    brickid = 1
    #rackid of the switch Eg - 1

    Installing ONES Application

    These steps will guide a user how to install a tar-ball package on base Linux based machine

    hashtag
    ONES Application system - Installation Steps

    • Enable super-user mode

    user@ones-application:~$ sudo su

    • Extract the contents of the downloaded ONES Installer tar.gz file

    root@ones-application:~$ tar -xvzf ONES-2.0.tar.gz

    • Go to ONES-2.0 folder on the server machine

    root@ones-aplication:~$ cd ONES-2.0

    • Run ones-installer.sh to Install the ONES application function

    root@ones-application:~/ONES-2.0$ ./ones-installer.sh

    circle-info

    The installer file automatically detects & processes fresh installation or upgrade to the new version

    triangle-exclamation

    While upgrading there is no dependency of prevision version files, Once the upgrade process is completed, user manually have to delete the previous version files/Packages from the device, Script do not touch old version files

    1. By default, the installer has a license for 8 devices upto 30days

    2. ONESv2.0 support SSL certificate integration

      1. User can choose YES if the User wants to integrate their own SSL certificate

    3. The installation allows a user to enable DB backup

    1. Users can choose the local or remote location to backup the database

    2. By default, the application creates a database backup every 86400 seconds(1 day), but the user can modify it as per the requirement

    3. Local and Remote Backup

    1. ONESv2.0 support certificate-based authentication between ONES App and devices for GNMI and Auto-discovery

      For agent auto-discovery agent will act as a client and the collector as a server. For normal gnmi communication, the agent will act as a server and the collector as a client. Need certificates based on this.

    triangle-exclamation

    The user needs to provide the certificate path and replace the key name with the path of the certificate to be used here

    1. ONES Application support IP-based Access & FQDN Access

      circle-info

      Enter the ONES App URL: https:// #Replace the input with IP or FQDN

      IP based

    • Installation begins

    • Access ONES Application Web GUI from a supported browser using https://<host-ip/FQDN>

    hashtag
    Activation:

    • For Trail, user can choose Start A Trial (valid for 30days)

    • For Activation, user can choose Activate License if the user has an activation key of any subscription

    hashtag
    1. Start A Trail

    • Use Default credentials as below;

      • Username: superadmin

      • Password : Admin@123

    circle-info

    Password should contain:-

    Minimum Password Length - 8 characters

    Maximum Password Length - 24 characters

    Character Support - Alpha Numeric

    hashtag
    Login To ONES

    • After Resetting the password use new credentials to login

    • You will see the default Monitor Page with a Topology view

    hashtag
    2. Activate License

    hashtag
    Get the Activation key

    • Share ONES installation ID to the AVIZ support team

    • As per PO, the AVIZ team will share the Activation key

    • Paste the activation key and Activate

    circle-info

    Users can activate ONES Application first time just after installation(first-time ONES application shows the page to activate the license

    After evaluating ONES application, the user will have the option to activate the license anytime from the dashboard

    Note* Replace the Private key & certificate path to correct location
  • Choose No, if the user wants to use a self-signed certificate that is integrated into ONES package

  • By-default application creates 1 backup for local and for remote,

  • It has a range of 1 to 3 and once it will add one more it will remove the first copy of the database,

  • User can modify the number of backup files at the time of installation

  • By-default ONES create ./backup directory to maintain local database

  • FQDN based

    Update/Change your password on the first login

    Special Characters - (# @ $ ! & % only)

    Character Rule - At least one Upper Case and one special character

    Installing Open Networking Enterprise Suite (ONES)
    ..................................................
    ONES is getting installed for the first time, choose appropriate options when prompted...
    ....................
    Installing prerequisites for ONES application
    ....................
    ....................
    ....................
    ....................
    Installing ONES application...
    
    Do you want to install domain SSL certificate(if not, installation will proceed with a self signed certificate)? [y/n]: n
    Using self signed certificates...
    
    Installing Open Networking Enterprise Suite (ONES)
    ..................................................
    ONES is getting installed for the first time, choose appropriate options when prompted...
    ....................
    Installing prerequisites for ONES application
    ....................
    ....................
    ....................
    ....................
    Installing ONES application...
    
    Do you want to install domain SSL certificate(if not, installation will proceed with a self signed certificate)? [y/n]: y
    Enter the path to the private key file: ./certs/server.pem 
    Enter the path to the certificate file: ./certs/server.crt.pem
    Local backup:
    Do you want to enable DB backups? [y/n]y
    Where do you want to store the backups? [local/remote]: local    #local keyword trigger local database on server
    Enter the backup directory: ./backups     #Enter the server directory in which user wants to take backup
    Enter the number of backups (between 1 and 3) to retain (Older backups will be deleted): 1   #Enter the number of backup user wants to create
    Enter the backup interval in seconds (3600 seconds or higher): 86400 #Enter the value in seconds to take a backup 
    Remote backup:
    Do you want to enable DB backup feature? [y/n]: y
    Where do you want to store the backups? [local/remote]: remote    #remote keyword trigger remote database on server
    Please make sure the remote server is reachable via SSH
    Enter the remote machine IP: 10.0.0.1    
    Enter the remote machine username: admin
    Enter the remote machine password: 
    Enter the backup directory: ~/backups    #Enter the remote server directory in which user wants to take backup
    Backup is being done in 10.0.0.1 at ~/backups
    Enter the number of backups (between 1 and 100) to retain (Older backups will be deleted): 5    #Enter the number of backup user wants to create
    Enter the backup interval in seconds (3600 seconds or higher): 86400    #Enter the value in seconds to take a backup 
    No:
    Do you want to enable certificate based authentication between ONES controller and devices? [y/n]: n
    Yes:
    Do you want to enable certificate based authentication between ONES controller and devices? [y/n]: y
    Enter the path to the ca-cert.pem file: ca-cert.pem    
    Enter the path to the server-cert.pem file: server-cert.pem    
    Enter the path to the server-key.pem file: server-key.pem
    Enter the path to the client-cert.pem file: client-cert.pem
    Enter the path to the client-key.pem file: client-key.pem
    Proceeding with certificates for Agent Auto Registration
    Enter the path to the ca-cert-reg.pem file: ca-cert-reg.pem
    Enter the path to the server-cert.pem file: server-cert.pem
    Enter the path to the server-key.pem file: server-key.pem
    Enter the path to the client-cert.pem file: client-cert.pem
    Enter the path to the client-key.pem file: client-key.pem 
    
    Enter the ONES App URL: https://192.168.1.1
    Installing Open Networking Enterprise Suite (ONES)
    ..................................................
    ONES is getting installed for the first time, choose appropriate options when prompted...
    ....................
    Installing prerequisites for ONES application
    ....................
    ....................
    ....................
    ....................
    Installing ONES application...
    
    Do you want to install domain SSL certificate(if not, installation will proceed with a self signed certificate)? [y/n]: n
    Using self signed certificates...
    Do you want to enable DB backup feature? [y/n] : y
    Where do you want to store the backups? [local/remote]: local
    Enter the backup directory: ./backups
    Enter the number of backups(between 1 and 3) to retain (Older backups will be deleted) : 1
    Enter the backup interval in seconds(3600 seconds or higher) : 86400
    Do you want to enable certificate based authentication between ONES controller and devices? [y/n]: n
    Enter the ONES App URL: https://192.168.1.1
    
    Setting up the environment and loading essential dockers...
    d07119f7c800: Loading layer [==================================================>]  53.62MB/53.62MB
    366319f9a81c: Loading layer [==================================================>]   2.56kB/2.56kB
    0f6276391b12: Loading layer [==================================================>]  86.32MB/86.32MB
    5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB..
    ... 
    ...
    ... 
          Name                     Command                  State                            Ports                      
    --------------------------------------------------------------------------------------------------------------------
    api-server             "java -jar /app/apis…"   api-server          running             0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
    broker                 "/etc/confluent/dock…"   broker              running             0.0.0.0:9092->9092/tcp, :::9092->9092/tcp, 0.0.0.0:9101->9101/tcp, :::9101->9101/tcp, 0.0.0.0:29092->29092/tcp, :::29092->29092/tcp
    docker                 "python3 app.py"         docker              running             
    kafka-connect          "/etc/confluent/dock…"   kafka-connect       running (healthy)   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 9092/tcp
    ksqldb-server          "/usr/bin/docker/run"    ksqldb-server       running             0.0.0.0:8088->8088/tcp, :::8088->8088/tcp
    ones-collector         "java -jar /app/coll…"   collector           running             8093/tcp, 0.0.0.0:50053->50053/tcp, :::50053->50053/tcp
    ones-collector-db      "/docker-entrypoint.…"   collector-db        running             8008/tcp, 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp, 8081/tcp
    ones-fm                "/bin/sh -c '{ gunic…"   fm                  running             0.0.0.0:8787->8080/tcp, :::8787->8080/tcp
    ones-fm-db             "docker-entrypoint.s…"   fm-db               running             0.0.0.0:2345->5432/tcp, :::2345->5432/tcp
    ones-gateway           "./gnmi-gateway -Tar…"   gateway             running             0.0.0.0:9339->9339/tcp, :::9339->9339/tcp
    ones-pty-server        "docker-entrypoint.s…"   pty-server          running             0.0.0.0:8885->8885/tcp, :::8885->8885/tcp
    ones-rule-service      "java -jar /app/rule…"   rule-service        running             8080/tcp
    ones-rule-service-db   "docker-entrypoint.s…"   rule-service-db     running             5432/tcp
    ones-ui                "docker-entrypoint.s…"   ui                  running             0.0.0.0:443->443/tcp, :::443->443/tcp, 3002/tcp
    schema-registry        "/etc/confluent/dock…"   schema-registry     running             0.0.0.0:8081->8081/tcp, :::8081->8081/tcp
    stream-processor       "java -jar /app/stre…"   stream-processor    running             8080/tcp
    zookeeper              "/etc/confluent/dock…"   zookeeper           running             2888/tcp, 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 3888/tcp
    Finishing up ONES Installation...
    ...................................................................................
    Installed ONES application successfully
    Open the ONES application  at https://<host-ip>
    Enter the ONES App URL: https://ones.aviznetworks.com