ECS Document

Remote Component Install Guide

Version 1.5

March 2009

Proprietary Notice

Information in this document is confidential and proprietary to itaas, Inc. Access to and use of this information is limited strictly to licensees of itaas, Inc. and is subject to the terms of a separate and appropriate written license agreement between the Licensee and itaas, Inc. The information in this document may be protected by patent applications owned by itaas, Inc.

In addition, the information in this document is subject to change without notice and does not represent a commitment on the part of itaas, Inc. The software described in this document may be used only in accordance with the terms of the license agreement. It is against the law to copy the software on any medium except as specifically allowed in the license or non-disclosure agreement. No part of this manual may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or information storage and retrieval systems, for any purpose other than the licensee’s personal use without express written permission of itaas, Inc.

All specifics of the product, its use, and implementation contained in this document are provided in good faith. However, all warranties, implied or expressed, including but not limited to implied warranties of merchantability or fitness for a particular purpose are excluded.

This document is intended solely to assist the Licensee in the use of the itaas, Inc. Licensed Software Product and for no other purpose. itaas, Inc. shall not be liable, in any way under any theory of law, for any loss or damage of any kind what so ever, arising from the use of any of the information contained in this manual, or any error or omission in the information, or any incorrect use of the Software Product.

Copyright © 2006 itaas, Inc. All rights reserved.

itaas is a. registered trademark of itaas, Inc.

Revision History

Revision Number / Date / Changes Made
1.0 / 11/30/2006 / Initial version.
1.1 / 02/12/2007 / Format changes and corrections.
1.2 / 05/15/2007 / Revised.
1.3 / 12/06/2007 / Revised sections 2.8 and 2.9
1.4 / 12/20/2007 / Revised
1.5 / 03/13/2009 / Modified agent configuration on Concurrent VOD server.

Table of Contents

1Introduction

1.1Scope

1.2Audience

1.3Conventions

2ECS Remote Servers

2.1Production DNCS Configuration

2.1.1Create appropriate directory structure.

2.1.2Verify host environment

2.1.3Download the tar ball

2.1.4Install the binary for tcpdump

2.1.5Install tcpdumpCmd script

2.1.6Edit the inittab

2.1.7Start the tcpdump process

2.1.8Test the tcpdump install

2.1.9Install rsync and popt binaries

2.1.10Edit the ecsRemoteCfg.sh script

2.1.11Installing rsync cron job

2.1.12Verify the ECS agent install on DNCS

2.2Production BMS Configuration

2.2.1Create appropriate directory structure

2.2.2Solaris Binaries

2.2.3ECS Configuration script update

2.2.4Verify the installation

2.3Production nCube RT Configuration

2.3.1Create appropriate directory structure

2.3.2Solaris Binaries

2.3.3ECS Configuration script update

2.3.4Verify the installation

2.4Production Concurrent Configuration

2.4.1Test FTP access to the concurrent MediaHawk Server(s)

2.4.2Add a cron job to the ECS server

2.4.3Verify the configuration

2.5Production XOD Configuration

2.5.1Create appropriate directory structure

2.5.2Solaris Binaries

2.5.3ECS Configuration script update

2.5.4Verify the installation

2.6Production Showrunner Configuration

2.6.1Create appropriate directory structure

2.6.2Linux Binaries

2.6.3ECS Configuration script update

2.6.4Verify the installation

2.7Production Midstream Configuration

2.7.1Test ssh access to the MidStream Server(s)

2.7.2Add a cron job to the ECS Server

2.7.3Verify the Configuration

2.8Production Broadbus Configuration

2.8.1Create appropriate install directory (‘/opt/isaecs')

2.8.2Linux Binaries

2.8.3ECS Configuration script update

2.8.4Verify the installation

2.9Production MDN Configuration

2.9.1Create appropriate install directory (‘/opt/isaecs')

2.9.2Download the tar ball.

2.9.3Install the Binary files

2.9.4ECS Configuration Script Update

2.9.5Install the rsync cron job

2.9.6Verify the installation

3Address and Support

1Introduction

The ECS tool monitors the Video on Demand (VOD) infrastructure and provides statistics and error/event information from all the various components, which can help with troubleshooting problems throughout the network. As many different vendors provide system components for the TWC VOD infrastructure, the tool collects information from the various sources and brings it into a consolidated information model that can be used to monitor system health and troubleshoot problems.

1.1Scope

This document contains information about the installation of ECS agent on the various remote servers (DNCS, BMS, XOD, Showrunner, Broadbus, nCube, Concurrent, MDN) of the VOD network.

1.2Audience

The target audience for this document is the installer of the ECS Server, typically a system administrator.

1.3Conventions

This document contains examples of text that appears on the computer screen of the installer during specific steps of the procedure.

  • Commands shall appear as bold text with grey color background.

# Shell Command.

  • Script/Code snippets shall appear as text with blue color background.

This is a sample script snippet.

  • Script/Code output shall appear with grey color background.

This is an output data.

  • The “$” prompt indicates the user is logged in as “isaecs”, or “oracle”.
  • The “#” prompt indicates the user is logged in as “root”.

2ECS Remote Servers

2.1Production DNCS Configuration

This section provides detail instructions to install ECS agent on the client’s DNCS server.

Note: Before starting, make sure that you have root access to the DNCS and that the ECS server can ping the DNCS server and the DNCS server can ping the ECS server. You need to know the IP addresses (or DNS names) of each of these machines as well. Write them on the lines below for reference.

DNCS IP ______DNS name ______

ECS IP ______DNS name ______

2.1.1Verify host environment

1 The tcpdump, rsync and popt binaries need to be installed on the DNCS server. In order to install the appropriate versions for the above binaries, verify the version of the Solaris operating system you are running by giving the below command.

# uname –a

SunOS dncs 5.8 Generic_108528-22 sun4u sparc SUNW,Ultra-250

This will tell us whether the DNCS is running Solaris-5.8 or any other higher version so that we choose the appropriate files.

2.1.2Create appropriate directory structure.

1Login as user root.

$ su -

2Create appropriate directory structure to hold the distribution. Due to space limitations found at various divisions, ask the site which partition to use and create similar to the example that follows,

# mkdir –p /export/home/dncs/itaas/ecs/opt/isaecs/download

# cd /export/home/dncs/itaas/ecs/opt/isaecs

# mkdir bin logs tcpdump

Note: It is not recommended to install the agent on the ‘/’ filesystem of the DNCS.

3Create softlink to the desired location within the /opt directory.

# ln –s /export/home/dncs/itaas/ecs/opt/isaecs /opt/isaecs

# ls –l /opt

lrwxrwxrwx 1 root root 13 Sep 18 12:34 isaecs  /export/home/dncs/itaas/ecs/opt/isaecs

2.1.3Download the tar ball

1All installation files should be downloaded to the '/opt/isaecs' directory using ftp binary mode transfers. These are staged on the ECS server for download. Execute the below commands.

# cd /opt/isaecs/download

# ftp ecs_server_ip

user: isaecs

password: ******

ftp> bin

ftp> cd remote

ftp> get EcsSolaris.tar

ftp> bye

# cd ../

# tar –xvf download/EcsSolaris.tar

# chown –R root:root install/*

2Verify the following files are extracted from the EcsSolaris.tar file,

-rwxrwxr-x 1 root root 8944 2005-11-21 18:13:46 ./Docs/INSTALL-BMS.README

-rwxrwxr-x 1 root root16220 2005-11-21 18:13:46 ./Docs/INSTALL-DNCS.README

-rwxrwxr-x 1 root root 9219 2005-11-21 18:13:46 ./Docs/INSTALL-NCUBE-RT.README

-rw-rw-r-- 1 root root2571776 2006-03-02 16:52:02 ./install/SMBrsync-2.6.6-sol8-sparc-local.pkg

-rwxrwxr-x 1 root root 527 2006-03-02 14:38:19 ./install/bash_profile

-rwxrwxr-x 1 root root 36 2006-03-02 14:28:28 ./install/cronTabLogCleanLine

-rwxrwxr-x 1 root root 72 2006-03-02 14:28:28 ./install/crontTabRsyncLine

-rwxrwxr-x 1 root root 3160 2006-03-07 12:34:56 ./install/ecsRemoteCfg.sh

-rwxrwxr-x 1 root root 1270 2006-03-02 14:28:28 ./install/getMqamInfo.sh

-rwxrwxr-x 1 root root 1169 2006-03-02 14:28:28 ./install/getQAM-SG-Map.sh

-rwxrwxr-x 1 root root 79 2006-03-02 14:28:28 ./install/inittabTcpdumpLine

-rwxrwxr-x 1 root root 4809 2006-03-02 14:28:28 ./install/installRsyncCronJob

-rwxrwxr-x 1 root root 1438 2006-03-02 17:52:49 ./install/logClean

-rwxrwxr-x 1 root root 2820 2006-03-02 17:52:49 ./install/logCleanDNCS

-rwxrwxr-x 1 root root 314880 2006-03-02 14:28:28 ./install/popt-1.7-sol25-sparc-local

-rwxrwxr-x 1 root root346624 2006-03-02 14:28:28 ./install/popt-1.7-sol8-sparc-local

-rwxrwxr-x 1 root root2135571 2006-03-02 14:28:28 ./install/rsync-2.5.6-sol25-sparc-local

-rwxrwxr-x 1 root root2341906 2006-03-02 14:28:28 ./install/rsync-2.5.6-sol8-sparc-local

-rwxrwxr-x 1 root root2338834 2006-03-02 14:28:28 ./install/rsync-2.5.7-sol8-sparc-local

-rwxrwxr-x 1 root root 7384 2006-03-07 12:34:56 ./install/rsyncBMS

-rwxrwxr-x 1 root root 7436 2006-03-07 12:34:56 ./install/rsyncDNCS

-rwxrwxr-x 1 root root 484 2006-03-02 14:28:28 ./install/rsyncInstall

-rwxrwxr-x 1 root root 7283 2006-03-07 12:34:56 ./install/rsyncNCUBE-RT

-rwxrwxr-x 1 root root 4995 2006-03-07 12:34:56 ./install/rsyncXOD

-rwxrwxr-x 1 root root 539769 2006-03-02 14:28:28 ./install/tcpdump-3.7.1-sol25-bin

-rwxrwxr-x 1 root root 518268 2006-03-02 14:28:28 ./install/tcpdump-sol5.8

-rwxrwxr-x 1 root root 2386 2006-03-02 14:28:28 ./install/tcpdumpCmd

2.1.4Install the binary for tcpdump

1From the install directory, put the appropriate tcpdump binary into place.

Note: If you are running Solaris-5.5, then perform the following command,

# cd /opt/isaecs/install

# cp tcpdump-3.7.1-sol25-bin ../bin/tcpdump

Note: If you are running Solaris-5.8 or higher version, then the following copy command is needed,

# cp tcpdump-sol5.8 ../bin/tcpdump

2Verify the ownership and permission of the tcpdump binary.

# chown root:root ../bin/tcpdump

# chmod +x ../bin/tcpdump

3Verify tcpdump executable works on the machine.

# ../bin/tcpdump -?

tcpdump version 3.7.2

libpcap version 0.7.2

Usage: tcpdump [-adeflnNOpqRStuvxX] [ -c count ] [ -C file_size ]

[ -F file ] [ -i interface ] [ -r file ] [ -s snaplen]

[ -T type ] [ -w file ] [ -E algo:secret ][expression]

2.1.5Install tcpdumpCmd script

1Identify the network interface on the DNCS that is used for DSM-CC network connections. You may not necessarily see the same interface names.

# ifconfig -a

lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232

inet 127.0.0.1 netmask ff000000

hme0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500

inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255

ether 0:3:ba:10:b8:d5

hme1: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.1 netmask ffffff00 broadcast 192.168.2.255

ether 0:3:ba:10:b8:d5

qfe0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500

inet 208.198.20.238 netmask ffffff00 broadcast 208.198.20.255

ether 8:0:20:cd:2:38

el0: flags=843<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 10.253.0.1 netmask ffffc000 broadcast 10.253.63.255

ether 0:20:48:40:53:2e

2The interface on the '10.' network is typically the one you want, in this case the el0 interface is on the 10.253.0.1 IP address, but usually, the ’10.’ Network is the ci0 interface. We use the 'el0' interface, here, because the e10 carries the traffic we need to procure. If you are not certain which interface to use, please stop here and make certain before proceeding. To verify if the interface selected is used for DSM-CC network connections, give the following command as root:

# snoop –d <interface> | grep 13819// e.g. interface e10

bash-2.03# snoop -d ce1 | grep 13819

Using device /dev/ce (promiscuous mode)

10.13.75.225 -> dncsatm UDP D=13819 S=1028 LEN=149

dncsatm -> sessiongateway TCP D=48986 S=13819 Ack=2387700037 Seq=325587

3382 Len=134 Win=24820

sessiongateway -> dncsatm TCP D=13819 S=48986 Ack=3255873516 Seq=238770

0037 Len=0 Win=24820

sessiongateway -> dncsatm TCP D=13819 S=48986 Ack=3255873516 Seq=238770

0037 Len=188 Win=24820

dncsatm -> sessiongateway TCP D=48986 S=13819 Ack=2387700225 Seq=325587

3516 Len=0 Win=24820

dncsatm -> sessiongateway TCP D=48986 S=13819 Ack=2387700225 Seq=325587

Note: If you see the above similar output lines in the example, then proceed to step c, else try giving the above snoop command with another interface.

3The tcpdumpCmd is located at “/opt/isaecs/install” directory. Make sure this file contains no trailing “^M” at the end of each line. Run the dos2unix command on the tcpdumpCmd if there is any.

# cd /opt/isaecs/install

# dos2unix tcpdumpCmd tcpdumpCmd

4Edit the ‘ecsRemoteCfg.sh’ file and change the IFACE macro to match the interface that you had selected in step b above:

# vi ecsRemoteCfg.sh

Note: change IFACE=el0

(This means that we are going to sniff on the interface “e10” for the DSMCC messages)

5Copy the scripts into the “/opt/isaecs/bin” directory as follows:

# cd /opt/isaecs/install

# cp tcpdumpCmd ../bin/

# cp ecsRemoteCfg.sh ../bin/

6Verify that the file is owned by root and executable:

# chown root:root ../bin/tcpdumpCmd

# chmod +x ../bin/tcpdumpCmd

7Verify that the /opt/isaecs/bin/tcpdumpCmd file exists,

# ls -l /opt/isaecs/bin/tcpdumpCmd

-rwxr-xr-x 1 root root 1733 Jun 25 10:17 tcpdumpCmd

2.1.6Edit the inittab

Note: Remember to make a copy of the inittab file prior to performing any of the following steps. You must source the root permissions (‘su –‘when changing to user root).

This entry in ‘/etc/inittab’ file is required to ensure that in case this command gets killed due to some reason, it will immediately get re-launched automatically and we will NOT lose any tcpdump packets.

1Make sure that the /etc/inittab file does not already contain the line needed to run tcpdump.

# cp /etc/inittab /etc/inittab.sav

# grep tcpdump /etc/inittab

If you get a line back that looks like the below line, then you are done with the tcpdump install.

td:234:respawn:/opt/isaecs/bin/tcpdumpCmd >/opt/isaecs/tcpdump/script.out 2&1

Normally, this line is not there and you can add it by concatenating the file (you could simply edit the file if you like, but sites have had issues with this looking correct, but still not working properly). Execute the below command to add the tcpdump line in the /etc/inittab file.

# cat /opt/isaecs/install/inittabTcpdumpLine >/etc/inittab

2Verify your addition,

# grep tcpdump /etc/inittab

td:234:respawn:/opt/isaecs/bin/tcpdumpCmd >/opt/isaecs/tcpdump/script.out 2&1

Note: If the DNCS system is a V890 server and is running Solaris 10, then the above tcpdump line in the inittab needs to be modified as below,

xtd:234:respawn:/opt/isaecs/bin/tcpdumpCmd >/opt/isaecs/tcpdump/script.out 2&1

This is because the inittab entry begining with a ‘t’ will not allow a telnet session to the DNCS remotely.

Note: If anything goes wrong you should delete the tcpdump line from the /etc/inittab file. Do not leave the line there unless the installation is complete and working. The line can be commented it out with’#' in the first column.

2.1.7Start the tcpdump process

1Execute the below command to start the tcpdump process,

# init q

Note: The above command reads the “/etc/inittab” file, and starts the tcpdump process because of the respawn keyword)

2.1.8Test the tcpdump install

1Check if the tcpdump process started:

# cat /opt/isaecs/logs/td.log

Starting tcpdump on interface ci0 on host dncs ...

$Id: tcpdumpCmd,v 1.10 2003/07/31 02:47:39 randy

Exp $

ci0:

flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4>

mtu 9180 index 4

inet 10.253.3.1 netmask ffffff00 broadcast

10.253.3.255

ether 0:20:48:2e:4f:92

======

tcpdump version 3.7.2 (itaas DSM-CC version)

libpcap version 0.7.2 (itaas DSM-CC version)

======

Fri Oct 17 11:29:07 EDT 2003

======

tcpdump: listening on ci0

# ls -l /opt/isaecs/tcpdump

total 0

-rw-r--r-- 1 root root 0 Oct 17 11:29 script.out

2Check the process itself.

# ps -ef | grep tcp

root 1584 1 0 10:30:22 ? 0:00 INITSH -c exec /opt/isaecs/bin/tcpdumpCmd > /opt/isaecs/tcpdump/script.out 2&1

root 2094 609 0 10:43:08 pts/1 0:00 grep tcp

root 1593 1584 0 10:30:22 ? 0:00 /opt/isaecs/bin/tcpdump -i el0 -C 1 -w tcpdump -s 2048 port 13819

3Verify that tcpdump logs are getting created on the DNCS.

# ls -l /opt/isaecs/tcpdump

2.1.9Install rsync and popt binaries

Installing popt and rsync is simpler because it is largely scripted. The tar file includes binaries for Solaris 5.5.1, Solaris5.8 and higher to support the remote system.

1Verify if the package is already running for some reason. Give the following commands,

# pkginfo –l | grep rsync

# pkginfo –l | grep popt

2Check if the popt package is installed under '/usr/local/lib' folder,

# ls -l /usr/local/lib/*popt*

-rw-r--r-- 1 bin bin 136628 Jan 8 2003 /usr/local/lib/libpopt.a

-rwxr-xr-x 1 bin bin 869 Jan 8 2003 /usr/local/lib/libpopt.la

lrwxrwxrwx 1 root other 16 Aug 9 2004 /usr/local/lib/libpopt.so -> libpopt.so.0.0.0

lrwxrwxrwx 1 root other 16 Aug 9 2004 /usr/local/lib/libpopt.so.0 -> libpopt.so.0.0.0

-rwxr-xr-x 1 bin bin 133880 Jan 8 2003 /usr/local/lib/libpopt.so.0.0.0

3Check for rsync binary under '/usr/local/bin' folder.

# ls –l /usr/local/bin/rsync

# /usr/local/bin/rsync --version

4If the above files are present, then verify the version of the binaries installed (rsync must be a minimal version-2.5.7, where as popt must be at minimal version-1.7). If it is not the same version, remove the package by performing the following as root.

# pkgrm <name of rsync package seen in pkginfo -l>

# pkgrm <name of popt package seen in pkginfo -l>.

5If the rsync and popt are not installed, then verify that the required rsync and popt packages are present in the ‘/opt/isaecs/install’ directory.

# cd /opt/isaecs/install

# ls –l

total 12344

-rw-r--r-- 1 root root 72 Jun 24 19:19 crontTabRsyncLine

-rw-r--r-- 1 root root 79 Jun 24 19:22 inittabTcpdumpLine

-rw-r--r-- 1 root root 2330 Jun 24 19:20 installRsyncCronJob

-rw-r--r-- 1 102 staff 273408 Jun 23 02:14 libpcap-0.7.2-sol25-sparc-local

-rw-r--r-- 1 102 staff 272896 Jun 23 02:14 libpcap-0.7.2-sol8-sparc-local

-rw-r--r-- 1 102 staff 314880 Jun 23 02:14 popt-1.7-sol25-sparc-local

-rw-r--r-- 1 102 staff 346624 Jun 23 02:14 popt-1.7-sol8-sparc-local

-rw-r--r-- 1 102 staff 2135552 Jun 23 02:14 rsync-2.5.6-sol25-sparc-local

-rw-r--r-- 1 102 staff 2341888 Jun 23 02:14 rsync-2.5.6-sol8-sparc-local

-rw-r--r-- 1 root root 3774 Jun 25 10:12 rsyncBMS

-rw-r--r-- 1 root root 4519 Jun 25 10:12 rsyncDNCS

-rw-r--r-- 1 root root 3781 Jun 25 10:13 rsyncNCUBE-RT

-rwxr-xr-x 1 root root 529424 Jun 24 13:50 tcpdump-3.7.1-sol25-bin

-rw-r--r-- 1 root root 1733 Jun 25 10:17 tcpdumpCmd

6Install the binaries using the pkgadd command that is standard on Solaris.Verify the Solaris version on the DNCS before proceeding:

# uname -a

SunOS dncs 5.8 Generic_108528-22 sun4u sparc SUNW,Ultra-250

Note: The third token verifies that we are running Solaris 5.8. This means that the *-sol8-* packages are the ones we want.

If you are using Solaris-5.8, go to “/opt/isaecs/install”, and give the following commands:

# pkgadd -d popt-1.7-sol8-sparc-local

... (Hit ENTER to begin the install. Answer 'y' to any questions.)

# pkgadd -d rsync-2.5.7-sol8-sparc-local

... (Hit ENTER to begin the install. Answer 'y' to any questions.)

bash-2.03# pkgadd -d rsync-2.5.7-sol8-sparc-local

The following packages are available:

1 SMCrsync rsync

(sparc) 2.5.7

Select package(s) you wish to process (or 'all' to process

all packages). (default: all) [?,??,q]: all

Processing package instance <SMCrsync> from </export/home/dncs/ecs/opt/isaecs/download/rsync-2.5.7-sol8-sparc-local>

rsync

(sparc) 2.5.7

The Rsync Group

Using </usr/local> as the package base directory.

## Processing package information.