https://github.com/netenglabs/suzieq
Skip to content
Sign up
* Product
+ Features
+ Mobile
+ Actions
+ Codespaces
+ Copilot
+ Packages
+ Security
+ Code review
+ Issues
+ Integrations
+ GitHub Sponsors
+ Customer stories
* Team
* Enterprise
* Explore
+ Explore GitHub
+ Learn and contribute
+ Topics
+ Collections
+ Trending
+ Skills
+ GitHub Sponsors
+ Open source guides
+ Connect with others
+ The ReadME Project
+ Events
+ Community forum
+ GitHub Education
+ GitHub Stars program
* Marketplace
* Pricing
+ Plans
+ Compare plans
+ Contact Sales
+ Education
[ ]
*
#
In this repository All GitHub |
Jump to |
* No suggested jump to results
*
#
In this repository All GitHub |
Jump to |
*
#
In this organization All GitHub |
Jump to |
*
#
In this repository All GitHub |
Jump to |
Sign in
Sign up
{{ message }}
netenglabs / suzieq Public
* Notifications
* Fork 70
* Star 557
Using network observability to operate and design healthier networks
www.stardustsystems.net/suzieq/
License
Apache-2.0 license
557 stars 70 forks
Star
Notifications
* Code
* Issues 75
* Pull requests 6
* Actions
* Projects 0
* Wiki
* Security
* Insights
More
* Code
* Issues
* Pull requests
* Actions
* Projects
* Wiki
* Security
* Insights
netenglabs/suzieq
This commit does not belong to any branch on this repository, and may
belong to a fork outside of the repository.
develop
Switch branches/tags
[ ]
Branches Tags
Could not load branches
Nothing to show
{{ refName }} default View all branches
Could not load tags
Nothing to show
{{ refName }} default
View all tags
34 branches 39 tags
Code
Latest commit
@ddutt
ddutt Add document about throttling requests to AAA servers
...
cf74d48 Jun 21, 2022
Add document about throttling requests to AAA servers
Signed-off-by: Dinesh Dutt
cf74d48
Git stats
* 4,918 commits
Files
Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
.github
update github actions
May 18, 2022
build
More library updates due to protobuf mess with stlit and more
Jun 6, 2022
docs
Add document about throttling requests to AAA servers
Jun 21, 2022
images
moved integration tests badge to github actions and updated the
pictu...
Jan 19, 2021
samples
Docs new update (#695)
Apr 12, 2022
suzieq
Bump version to 0.18.0
Jun 20, 2022
tests
Fix #719: convert macaddr in all sorts of forms to std format
Jun 11, 2022
.bashrc
Docker build support
Apr 2, 2020
.dockerignore
Dockerfile updates (#683)
Apr 9, 2022
.flake8
Make max line length match PEP8 recommendation
Nov 23, 2021
.gitignore
Move all test data into a single dir (#594)
Feb 3, 2022
.pre-commit-config.yaml
Update .pre-commit-config.yaml
Oct 11, 2021
.pylintrc
pylintrc: Remove dead enables/disables
Jun 6, 2022
.readthedocs.yml
Cleanup whitespace (#488)
Nov 25, 2021
.travis.yml
Cleanup whitespace (#488)
Nov 25, 2021
AUTHORS.md
Adding authors
Apr 27, 2020
CODE_OF_CONDUCT.md
Create CODE_OF_CONDUCT.md
Aug 28, 2021
CONTRIBUTING.md
Fix typo and emphasize directory name
Oct 10, 2021
Dockerfile
Add docker env var and print warning in case of permission issues (#
699)
Apr 12, 2022
Dockerfile-demo
Dockerfile updates (#683)
Apr 9, 2022
Dockerfile-sqbase
Add additional useful packages such as vi/ssh/ping/troute to
container
Jun 6, 2022
LICENSE
Revert the previos commit because it changed the LICENSE for the
proj...
Apr 1, 2021
README.md
Docs new update (#695)
Apr 12, 2022
VERSION
Cleanup whitespace (#488)
Nov 25, 2021
build-docker.sh
Fix bug in when latest tag is applied
Aug 13, 2021
mkdocs.yml
Add document about throttling requests to AAA servers
Jun 21, 2022
poetry.lock
More library updates due to protobuf mess with stlit and more
Jun 6, 2022
pyproject.toml
Bump version to 0.18.0
Jun 20, 2022
pytest.ini
Restore network commands for backward compatibility (#728)
Jun 4, 2022
View code
[ ]
Suzieq -- Healthier Networks Through Network Observability Quick
Start Using Docker Container Using Python Packaging Analysis Path
Asserts Suzieq Data Release Notes Engage Additional Documentation &
Screencasts Suzieq Priorities
README.md
integration-tests GitHub release (latest by date) GitHub Docker Image
Version (latest by date) Docker Image Size (latest by date) Docker
Pulls
Suzieq -- Healthier Networks Through Network Observability
Would you like to be able to easily answer trivial questions such as
how many unique prefixes are there in your routing table, or how many
MAC addresses are there in the MAC tables across the network? How
about more difficult questions, such as what changes did your routing
table see between 10 pm and midnight last night, or which of your
nodes have been up the longest, or which BGP sessions have had the
most routing updates? How about being able to answer if your OSPF (or
BGP) sessions are working correctly, or is all well with your EVPN?
How about a quick way to determine the amount of ECMP at every hop
between two endpoints? Do you wish you could easily validate the
configuration you deployed across your network?
Do you login to every network node you have to figure out answers to
a questions like these? Do you then struggle to piece the information
together into a consistent whole across the various formats provided
by various vendors? Do you wish you had an open source, multi-vendor
tool that could help you answer questions like these and more?
If you answered yes to one or more of these questions, then Suzieq is
a tool that we think will be interesting to you. Suzieq helps you
find things in your network.
Suzieq is both a framework and an application using that framework,
that is focused on improving the observability of your network. We
define observability as the ability of a system to answer either
trivial or complex questions that you pose as you go about operating
your network. How easily you can answer your questions is a measure
of how good the system's observability is. A good observable system
goes well beyond monitoring and alerting. Suzieq is primarily meant
for use by network engineers and designers.
Suzieq does multiple things. It collects data from devices and
systems across your network. It normalizes the data and then stores
it in a vendor independent way. Then it allows analysis of that data.
With the applications that we build on top of the framework we want
to demonstrate a different and more systematic approach to thinking
about networks. We want to show how useful it is to think of your
network holistically.
Quick Start
Using Docker Container
We want to make it as easy as possible for you to start engaging with
Suzieq so we have a demo that has data included in the image. To get
started:
* docker run -it -p 8501:8501 --name suzieq netenglabs/suzieq-demo
* suzieq-cli for the CLI OR
* suzieq-gui for the GUI. Connect to http://localhost:8501 via the
browser to access the GUI
When you're within the suzieq-cli, you can run device unique columns=
namespace to see the list of different scenarios, we've gathered data
for.
Additional information about running the analyzer (suzieq-cli) is
available via the official documentation page.
To start collecting data for your network, create an inventory file
to gather the data from following the instructions here. Decide the
directory where the data will be stored (ensure you have sufficient
available space if you're going to be running the poller, say 100 MB
at least). Lets call this dbdir. Now launch the suzieq docker
container as follows:
* docker run -it -v :/home/suzieq/parquet -v
:/home/suzieq/inventory.yml --name sq-poller
netenglabs/suzieq:latest
* Launch the poller with the appropriate options. For example,
sq-poller -D inventory.yml -n mydatacenter where mydatacenter is
the name of the namespace where the data associated with the
inventory is stored and inventory.yml is the inventory file in
Suzieq poller native format (Use -a instead of -D if you're using
Ansible inventory file format).
Using Python Packaging
If you don't want to use docker container or cannot use a docker
container, an alternative approach is to install Suzieq as a python
package. It is strongly recommended to install suzieq inside a
virtual environment. If you already use a tool to create and manage
virtual environments, you can skip the step of creating a virtual
envirobment below.
Suzieq requires python version 3.7.1 at least, and has been tested
with python versions 3.7 and 3.8. It has not been tested to work on
Windows. Use Linux (recommended) or macOS. To create a virtual
environment, in case you haven't got a tool to create one, type:
python -m venv suzieq
This creates a directory called suzieq and all suzieq related info is
stored there. Switch to that directory and activate the virtual
environment with:
source activate
Now the virtual environment is alive and you can install suzieq. To
install suzieq, execute:
pip install suzieq
Once the command completes, you have the main programs of suzieq
available for use:
* sq-poller: For polling the devices and gathering the data
* suzieq-gui: For launching the GUI
* suzieq-cli: For running the CLI
* sq-rest-server: For running the REST API server
The official documentation is at suzieq.readthedocs.io, and you can
watch the screencasts about Suzieq on Youtube.
Analysis
Suzieq supports Analysis using CLI, GUI, REST API, and python
objects. For the most part they are equivalent, though with the GUI
we have combined the output of multiple commands of the CLI into one
page.
The GUI has a status page to let you know what the status of entities
in your network. Suzieq GUI status
The Xplore page lets you dive into what is in your network. Explore
device
The CLI supports the same kind of analysis as the explore page. CLI
device
More examples of the CLI can be seen in the docs and blog posts we've
created.
Path
Suzieq has the ability to show the path between two IP addresses,
including the ability to show the path through EVPN overlay. You can
use this to see each of the paths from a source to a destination and
to see if you have anything asymetrical in your paths. GUI PATH
Asserts
One of Suzieq's powerful capabilities are asserts, which are
statements that should be true in the network. We've only just
started on asserts; what Suzieq has now only demonstrates it's power,
there's a lot more to be added in this space. interfaces assert
Suzieq Data
Suzieq supports gathering data from Cumulus, EOS, IOS, IOSXE, IOSXR,
JunOS(QFX, MX, EX, SRX supported), NXOS and SONIC routers, and Linux
servers. Suzieq gathers:
* Basic device info including serial number, model, version,
platform etc.
* Interfaces
* LLDP
* MAC address table (VPLS MAC table for Junos MX)
* MLAG
* Routing table
* ARP/ND table
* OSPFv2
* BGP
* EVPN VNI info
We're adding support for more platforms and features with every
release. See the documentation on details of specific tables and its
NOS support.
We're also looking for collaborators to help us make Suzieq a truly
useful multi-vendor, open source platform for observing all aspects
of networking. Please read the collaboration document for ideas on
how you can help.
Release Notes
The official release notes are here.
Engage
You can join the conversation via slack. Send email to suzieq AT
stardustsystems.net with the email address to send the Slack
invitation to.
Additional Documentation & Screencasts
We've done some blogging about Suzieq:
* Introducing Suzieq
* 10ish ways to explore your network with Suzieq
* Questions to Suzieq
* Time in Suzieq
We've also been adding screencasts on Youtube.
Suzieq Priorities
We don't have a roadmap, but we do have a list of our priorities. We
mix this with the issues reported.
About
Using network observability to operate and design healthier networks
www.stardustsystems.net/suzieq/
Topics
python infrastructure networking data-center network-monitoring
network-analysis datacenter network-validation
Resources
Readme
License
Apache-2.0 license
Code of conduct
Code of conduct
Stars
557 stars
Watchers
29 watching
Forks
70 forks
Releases 31
0.18.0 Latest
Jun 21, 2022
+ 30 releases
Packages 0
No packages published
Contributors 19
* @ddutt
* @jopietsch
* @anubisg1
* @claudiolor
* @LucaNicosia
* @claudious96
* @ryanmerolle
* @zxiiro
* @dependabot[bot]
* @aegiacometti
* @ewlumpkin
+ 8 contributors
Languages
* Python 99.4%
* Other 0.6%
* (c) 2022 GitHub, Inc.
* Terms
* Privacy
* Security
* Status
* Docs
* Contact GitHub
* Pricing
* API
* Training
* Blog
* About
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your
session. You signed out in another tab or window. Reload to refresh
your session.