You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 42 Next »

This page is for EdgeView client side command descriptions. For information on EdgeView design and architecture, please see Design and Architecture, and FAQ.

To run EdgeView client script, the docker is required on user's laptop. The EdgeView client program is started in a script with 'docker run'. For an example of the client script, see EdgeView Client Script. The EdgeView commands are checked against EdgeView Policies to be allowed to run on devices.


Command Help

EdgeView script (e.g. edgeview.sh, your script name may vary) with the '-h' or '-help', it will display the output like:

edgeview.sh -h

eve-edgeview [ -token <session-token> ] [ -inst <instance-id> ] [ -debug ] <query command>
query options:

[acl app arp connectivity flow if mdns nslookup ping route socket speed tcp tcpdump trace url wireless]
[app configitem cat cp datastore dmesg download du hw lastreboot ls model newlog pci ps cipher usb techsupport top volume]
log/search-pattern [ -time <start_time>-<end_time> -json -type <app|dev> -line <num> ]
pub/ [baseosmgr domainmgr downloader edgeview global loguploader newlogd nim nodeagent tpmmgr vaultmgr volumemgr watcher zedagent zedclient zedmanager zedrouter zfsmanager]

For more detail help on EdgeView commands, see https://wiki.lfedge.org/display/EVE/EdgeView+Commands

The URL above points to this document.

For help on a specific command, for example on 'flow' (assume it's a multiple instance, need to specify '-inst 1'):

edgeview.sh -inst 1 flow -h

flow[/<some pattern>] - display ip flow information in the kernel search pattern
e.g. flow/sport=53 -- display all the ip flow matches source port of 53
flow/10.1.0.2 -- display all the ip flow matches ip address of 10.1.0.2

The rest of this document will have more detail information on each of the EdgeView command.

Multi-Instances

When the EdgeView is started base on the configuration on the controller, it can be a single instance or multiple instance session. The multi-instance case is used when there is a need for multiple users to access the device or applications at the same time. For the multi-instance session, the user needs to supply the 'instance ID' when issuing EdgeView command, for example with the above 'edgeview.sh' script, an instance number is needed:

edgeview.sh -inst 2 route

The above command uses the 'instance 2' for EdgeView session to the device to query for the routes on the system.

In this document, the instance-ID will not be used in the command descriptions. Users just need to insert the '-inst <num>' if the EdgeView session is a multi-instance type.

Network Commands

The EdgeView networking related commands are the items printed from the '-h' output:

[acl app arp connectivity flow if mdns nslookup ping route socket speed tcp tcpdump trace url wireless]

ACL

acl[/<filter>] - to display all filters of running and configured ACL

  e.g. acl -- display all filters of ACL

       acl/nat -- display in table nat of ACL

It will display the access list for running ACL and also configured ACL of the EVE device. To see a subset on iptables, use the filter string. The filter string can be 'raw', 'filter', 'nat' or 'mangle'.

App

app[/app-string] - to display all the app or one specific app

  e.g. app -- display all apps in brief

       app/iot -- display a specific app, which app name has substring of iot in more detail

If the command is issued without the '/<app-string>', it will display all the user (or DomU) applications running on the device. For each application, it displays the App number, UUID, network bridge information, status in terms of boot time, CPU and memory, it also displays the VNC and App log settings.

if the '/<app-string>' is supplied in the command, it will display the specific user application with more detail information. The 'app-string>' is a subset of the App name string regardless of cases. For example, if the app name is 'cluster-k3s-2-agent1', one can use 'app/agent' to query. Besides the above information, it gets more networking information of the application. It will try to ping the App IP address to see if it is 'Up', it will get the DHCP info of the application, iptable rules related to the application.

Connectivity

connectivity - display the port config list with index

This display can be used for troubleshooting network port issues when there is a configuration change. It displays the list of port configure of the interfaces, and the current index in the list. When the EVE device can not connect to the controller, it will try to connect to the controller with a different port configure on this list periodically.

Flow

flow[/<some pattern>] - display ip flow information in the kernel search pattern

  e.g. flow/sport=53 -- display all the ip flow matches source port of 53

       flow/10.1.0.2 -- display all the ip flow matches ip address of 10.1.0.2

The 'flow' command displays the content of Linux Contrack table. It contains the detail network 5-tuple information for EVE device and user applications current network endpoints information. One can use filter to search for specific IP address or port number for display.

If

if[/intf-name] - display interface related information briefly

e.g. if/eth0 -- display interface eth0 related information

This command prints a brief device interface information. An interface name string can be entered as filter. It also prints the proxy configuration if exists.

Mdns

mdns[/intf-name][/service] - display zeroconfig related information

  e.g. mdns/eth0 -- display mDNS for default service 'workstation' on interface 'eth0'

       mdns/bn1/https -- display mDNS for service 'https' on bridge 'bn1'

       mdns -- display mDNS for default service 'workstation' on all UP interafces

The mDNS is a multicast protocol for auto discovery of services. It will send queries over all the 'UP' interfaces on the device to discover the service being advertised. By default it sends out for 'workstation._tcp' service which is a well-known mDNS service supported.

The EVE 'local datastore' implementation for App is based on the mDNS to bind the domain name with '.local'. This 'mdsn' command can be used to query on the bridge where the App is located and to see if it replies with the service for datastore image download.

Nslookup

nslookup[/<ip or name>] - display domain name and dns server information
  e.g. nslookup/www.amazon.com -- display DNS information on www.amazon.com
       nslookup/8.8.8.8 -- display DNS information on address 8.8.8.8

The 'nslookup' command is simply getting the DNS resolution result from the EVE device on site.

Ping

ping[/<ip or name>] - ping to 8.8.8.8 from all the UP interfaces or ping a specific address

  e.g. ping -- ping to 8.8.8.8 from each source IP address of the interfaces

       ping/192.168.1.1 -- ping the address of 192.168.1.1


The 'ping' command if without any option, it will try to ping '8.8.8.8' and the controller of the EVE device from each of the interfaces. It can take a domain name or IP address option to send out the ICMP packets. It can be used on internal IP addresses such as App interface IP address, or on external server to see if the device can reach it.

Route

route - display all the ip rule and their ip table entries

The 'route' command displays the IP Rule tables in the Linux kernel and their IP routes. It also walks through all the 'UP' interfaces and display their associated routes.

Socket

socket - display all the ipv4 litening socket ports and established ports

The 'socket' command displays all the listening TCP and UDP sockets in the Linux kernel and the server information. It also displays the current established sockets 5-tuple information.

Speed

speed[/intf-name] - run speed test and report the download and upload speed

  e.g. speed/wlan0 -- run speed test on interface wlan0

The 'speed' command uses 'speedtest' utility to measure the download and upload speed of the device. The outbound interface name can be supplied to run the speed test over that port. An example of the output:

Hosted by XenSpec (Fremont, CA) [45.56 km]: 5.258 ms
Testing download speed................................................................................
Download: 700.19 Mbit/s
Testing upload speed......................................................................................................
Upload: 773.80 Mbit/s

Tcp

See detail of the command in the section TCP Channel Commands.

System Commands

Log Search Commands

Pub/Sub Commands

TCP Channel Commands

Proxy Command

Copy Files Command

Tech-Support Command



  • No labels