DxAgent is the diagnostic agent daemon. First, it gather baremetal, VM and VPP data via multiple means. Second, it normalizes collected data and discovers the active subservices and their dependencies, and build a graph of it. Third, it checks for symptoms based on user-defined rules applied to normalized metrics, computes subservices health scores, and propagates health scores along the subservice dependency graph.
An optional gNMI exporter can be used to connect multiple instances of dxagent, or to enable visualization of a node susbervices health scores and dependency graph via dxweb. gNMI exported data is formatted according to YANG Modules for Service Assurance draft. Locally, shared memory can be used to display similar information in the dxtop console app.
dxagent [-h] [-l LOG_FILE] [-c CONFIG] [-s] [-v] {start,stop,restart,status}LOG_FILEdefaults to/var/log/dxagent.logCONFIGdefaults to./dxagent.ini-sdisables shared memory. Shared memory allows for using DxTop and is enabled by default.
-
dxagentDxAgent script. -
dxagent.iniDxAgent configuration file. With a virtualbox hypervisor,vbox_userhas to be set. -
input.csvAn informative list of vendor-specific monitored fields. -
metric.csvA list of vendor-independant metrics. -
rules.csvA list of symptoms.
See agent/gnmi/README.md.
DxTop is a console app that displays data collected by DxAgent.
-
dxweb [-h] [-c CONFIG] [-l LOG_FILE] [-t TARGET] [-k CERTS_DIR]LOG_FILEdefaults to/var/log/dxagent.logCONFIGdefaults to./dxagent.iniTARGETdefaults to the gnmi target entry in config file. Use the command line argument to specify another target.CERTS_DIRcertificate/key files location
-
q or ESC: quit
-
arrow up, page up: scroll up
-
arrow down, page down: scroll down
-
arrow left, arrow right: switch between screens
dxtopDxTop script.
DxWeb is a web interface that display dependency graph, health metrics and symptoms from DxAgent.
dxwebDxWeb script.
- flask-socketio
python3 -m pip install flask-socketio
python >= 3.8 to have dxtop available, otherwise python >= 3.5.
-
sudo apt install python3-ethtool
-
python3 -m pip install netifaces
-
python3 -m pip install pyroute2
-
python3 -m pip install virtualbox
-
python vboxapisetup.py install
-
sudo apt install python3-vpp-api
-
python3 -m pip install cisco-gnmi
Medical diagnosis (abbreviated Dx or DS) is the process of determining which disease or condition explains a person's symptoms and signs. It is most often referred to as diagnosis.


