\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{sh-arista} \pdfinfo{ /Title (arista-cvp-2019-x.pdf) /Creator (Cheatography) /Author (sh-arista) /Subject (Arista CVP 2019.X Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{235190} \definecolor{LightBackground}{HTML}{F1F4F8} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Arista CVP 2019.X Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{sh-arista} via \textcolor{DarkBackground}{\uline{cheatography.com/93954/cs/20989/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}sh-arista \\ \uline{cheatography.com/sh-arista} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 22nd October, 2020.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{CLI "show" Commands}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi status \textless{}component\textgreater{}/all {[}-v=3{]}}}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-shows running, disabled, and failed components. It will show components that are failing. -v=3 adds verbosity.}}} \tn % Row Count 4 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi resources {[}-v=3{]}}}} \tn % Row Count 5 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-shows memory, storage, disk throughput (\textgreater{}20MBps min for healthy disk, \textgreater{}40MBps recommended), CPUs, and NTP sync (mandatory for multi-node, at least ntpd UP for single-node)}}} \tn % Row Count 9 (+ 4) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi deps \textless{}component\textgreater{} \textless{}start/stop\textgreater{}}}} \tn % Row Count 10 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{gives the dependencies for the component to be able to start/stop}}} \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi debug}}} \tn % Row Count 13 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-collects logs for all components for troubleshooting; collect on the primary node.}}} \tn % Row Count 15 (+ 2) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi logs \textless{}component\textgreater{}}}} \tn % Row Count 16 (+ 1) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-to find where logs are located for a particular component. i.e. 'cvpi logs aeris' shows you {\bf{/cvpi/apps/aeris/logs/}}. Also good for finding which node a component and subsequent logs can be found. i.e. 'cvpi logs \seqsplit{turbine-rate-intf-counters'} shows it resides on the tertiary node and its path.}}} \tn % Row Count 22 (+ 6) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi info \textless{}component\textgreater{}}}} \tn % Row Count 23 (+ 1) % Row 11 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-great command to learn about a component; includes actions that can be taken, ports used, config, logging, etc.}}} \tn % Row Count 26 (+ 3) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi status all -v=3 | grep disabled}}} \tn % Row Count 27 (+ 1) % Row 13 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-to see which processes are disabled}}} \tn % Row Count 28 (+ 1) % Row 14 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{history}}} \tn % Row Count 29 (+ 1) % Row 15 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-shows list of all commands run}}} \tn % Row Count 30 (+ 1) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{CLI "show" Commands (cont)}} \tn % Row 16 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi version}}} \tn % Row Count 1 (+ 1) % Row 17 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-shows version of CVP}}} \tn % Row Count 2 (+ 1) % Row 18 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi env or cat /etc/cvpi/env}}} \tn % Row Count 3 (+ 1) % Row 19 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-shows environmental variables and if they are correctly set}}} \tn % Row Count 5 (+ 2) % Row 20 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi check all}}} \tn % Row Count 6 (+ 1) % Row 21 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-checks that everything is set up correctly; confirms nodes are talking to each other and have same configs/env/etc.}}} \tn % Row Count 9 (+ 3) % Row 22 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{dmesg -T}}} \tn % Row Count 10 (+ 1) % Row 23 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-shows kernel message buffer for checking disk/storage issues}}} \tn % Row Count 12 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{CLI "Config" Commands}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi start/stop \textless{}component\textgreater{}/all}}} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-starts/stops all available/specified components}}} \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi -v=3 start/stop \textless{}component\textgreater{}/all}}} \tn % Row Count 3 (+ 1) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-starts/stops all available/specified components with verbosity (detail regarding failures if subcomponents fail to start}}} \tn % Row Count 6 (+ 3) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi start/stop cvpi}}} \tn % Row Count 7 (+ 1) % Row 5 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-starts/stops cvpi stack}}} \tn % Row Count 8 (+ 1) % Row 6 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi reset all}}} \tn % Row Count 9 (+ 1) % Row 7 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-resets the CVP app to its initial state via deleting all HBASE and Hadoop data}}} \tn % Row Count 11 (+ 2) % Row 8 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi reset aeris}}} \tn % Row Count 12 (+ 1) % Row 9 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-deletes all Telemetry data; can be used for expedited upgrades from 2018.2.X to 2019.1.X}}} \tn % Row Count 14 (+ 2) % Row 10 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpReInstall}}} \tn % Row Count 15 (+ 1) % Row 11 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-case-sensitive; in the event of an install failure, execute on primary node to set all 3 nodes back to default.}}} \tn % Row Count 18 (+ 3) % Row 12 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi config \textless{}component\textgreater{}/all}}} \tn % Row Count 19 (+ 1) % Row 13 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-configures the components}}} \tn % Row Count 20 (+ 1) % Row 14 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi backup cvp}}} \tn % Row Count 21 (+ 1) % Row 15 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-new backup procedure in 2018.2.X and on}}} \tn % Row Count 22 (+ 1) % Row 16 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi restore cvp cvp..tgz cvp.eosimages..tgz}}} \tn % Row Count 23 (+ 1) % Row 17 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-new restore procedure in 2018.2.X and on; can't restore across major releases due to data formatting changes (i.e. can't restore from 2018.X to 2019.X)}}} \tn % Row Count 27 (+ 4) % Row 18 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi enable cvpi}}} \tn % Row Count 28 (+ 1) % Row 19 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-enables components of CVP to be automatically restarted if they stop}}} \tn % Row Count 30 (+ 2) \end{tabularx} \par\addvspace{1.3em} \vfill \columnbreak \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{CLI "Config" Commands (cont)}} \tn % Row 20 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{cvpi init}}} \tn % Row Count 1 (+ 1) % Row 21 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-gets rid of corrupted data folders; recreates directory structure; repairs any damage by removing whole directories}}} \tn % Row Count 4 (+ 3) % Row 22 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{hdfs dfsadmin -safemode get}}} \tn % Row Count 5 (+ 1) % Row 23 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-checks to see if hadoop/hbase in safe mode}}} \tn % Row Count 6 (+ 1) % Row 24 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{hdfs dfsadmin -safemode leave}}} \tn % Row Count 7 (+ 1) % Row 25 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-try to get primary/secondary to leave {\bf{safe}} mode; then try to start it again}}} \tn % Row Count 9 (+ 2) % Row 26 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{hdfs hbck}}} \tn % Row Count 10 (+ 1) % Row 27 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-checks for \seqsplit{inconsistencies/corruptions;} prints OK or gives Errors; run several times as some inconsistencies are transient}}} \tn % Row Count 13 (+ 3) % Row 28 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{hdfs hbck -repair}}} \tn % Row Count 14 (+ 1) % Row 29 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-repair inconsistencies; run 5-10 times if necessary}}} \tn % Row Count 16 (+ 2) % Row 30 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{/cvpi/zookeeper/bin/zkServer.sh start/stop}}} \tn % Row Count 17 (+ 1) % Row 31 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{-if seeing zookeeper issues; zookeeper won't be stopped via 'cvpi stop all'}}} \tn % Row Count 19 (+ 2) % Row 32 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{systemctl stop cvpi-watchdog.timer}}} \tn % Row Count 20 (+ 1) % Row 33 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\emph{In a cluster, will need to stop the watchdog timer when stopping zookeeper on all three nodes otherwise it will spawn a new zookeeper process.}}} \tn % Row Count 23 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.44 cm} x{4.56 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{MINIMUM Requirements}} \tn % Row 0 \SetRowColor{LightBackground} \{\{bb\}\}{\bf{Lab (\textless{}25 devices)}} & \{\{bb\}\}{\bf{Production (\textless{}=500 devices)}} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} CPUs: 16 cores & CPUs: 16 cores \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} RAM: 16GB & RAM: 22GB \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} Disk: 125GB & Disk: 1 TB \tn % Row Count 5 (+ 1) % Row 4 \SetRowColor{LightBackground} Disk Throughput: 20MB/s & Disk Throughput: 40++MB/s \tn % Row Count 7 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{More might be needed based on feature sets in use. For example: \newline \newline For CloudVision Wifi: \newline +4 CPU \newline +8 GB RAM \newline +100GB Disk storage \newline +10 charisma \newline \newline For Elasticsearch (MAC/IP search feature): \newline +4 CPU \newline \newline Also for Production, 16 Cores could be 8 CPU x 2 Core or 16 CPU x1 Core.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Where are the debug files?}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/sh-arista_1572969638_cvp debug shot.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Device/Interface Scale (multi-node cluster)}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{p{8.4cm}}{\vspace{1px}\centerline{\includegraphics[width=5.1cm]{/web/www.cheatography.com/public/uploads/sh-arista_1572966539_scale chart.jpg}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{As customers close in on these numbers, expect give and take with additional beta features, latency, etc. as resources reach capacity.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Where is it?}} \tn % Row 0 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{From root ==\textgreater{} su cvp ==\textgreater{} /cvpi}}} \tn \mymulticolumn{1}{x{8.4cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}{\emph{all scripts, packages, config files, logs}}} \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Logs}}} \tn \mymulticolumn{1}{x{8.4cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}{\emph{/cvpi/logs; /cvpi/hbase/logs; /cvpi/hadoop/logs; /cvpi/tomcat/logs}}} \tn % Row Count 5 (+ 3) % Row 2 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Shortcut to logs}}} \tn \mymulticolumn{1}{x{8.4cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}{\emph{Also just run \$ cvpi logs \textless{}component\textgreater{} which shows path to logs.}}} \tn % Row Count 8 (+ 3) % Row 3 \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Config Files}}} \tn \mymulticolumn{1}{x{8.4cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}{\emph{/cvpi/conf/components/; \seqsplit{/cvpi/apps/turbine/configs/;} /cvpi/apps/aeris/conf/; /cvpi/apps/cvp/conf/; /cvpi/apps/geiger/conf/; /cvpi/apps/wifimanager/conf}}} \tn % Row Count 13 (+ 5) % Row 4 \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Backups}}} \tn \mymulticolumn{1}{x{8.4cm}}{\hspace*{6 px}\rule{2px}{6px}\hspace*{6 px}{\bf{{\emph{/data/cvpbackup/}} on the {\bf{primary}}; backups are run nightly at 2am UTC by default; check via {\bf{crontab -l}} as root user; 5 backups stored}}} \tn % Row Count 18 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Minimum Configuration on EOS Device}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Confirm the daemon is correctly installed.}} \newline ! \newline daemon TerminAttr \newline exec /usr/bin/TerminAttr \seqsplit{-ingestgrpcurl=10.81.110.104:9910} -cvcompression=gzip -ingestauth=key,cvp -smashexcludes=ale,flexCounter,hardware,kni,pulse,strata \seqsplit{-ingestexclude=/Sysdb/cell/1/agent},/Sysdb/cell/2/agent -ingestvrf=default -taillogs \newline no shutdown \newline ! \newline {\bf{ntpd needs to be enabled for single node; NTP sync essential for multi-node.}} \newline ! \newline ntp server 10.81.111.240 prefer iburst \newline ntp server 10.81.111.241 iburst \newline ! \newline {\bf{Turn up api for http for EAPI to work; turn up unix-socket so TerminAttr can talk to ConfigAgent (nginx method).}} \newline management api http-commands \newline protocol http \newline protocol unix-socket \newline no shutdown \newline !} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{TerminAttr has 2 mechanisms to talk to ConfigAgent: \newline Default VRF - via unix socket directly, no additional config required \newline Non-default VRF - cannot talk directly (ConfigAgent only listens in the Default VRF) so the connection has to go via nginx; protocol unix-socket required under management api http-commands.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Enabling LANZ on EOS CLI}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{queue-monitor length \newline ! \newline queue-monitor streaming ⇒ TerminAttr runs in default VRF so this has to be in default as well! \newline no shutdown \newline !} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{Can confirm in bash via {\bf{curl localhost:6060/rest/LANZ/congestion}}} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}