In this lesson, you will learn, about:
- Suzieq namespaces.
- Suzieq services.
- Suzieq tables.
- Suzieq table verbs (operations).
You can find the scripts and code for this lesson within the Suzieq repo under the directory: 002_suzieq_explore/001_namespaces_tables_services.
Overview
When it comes to what information Suzieq collects from the network and how this information is organized and grouped, there are 3 main elements within Suzieq: namespaces, services and tables.
Before we look into these elements, it is worth noting that we will begin by exploring its features using the Suzieq CLI. The CLI is a great way to get a feel for the various aspects of Suzieq as it’s intuitive, providing various helpers and support prompts for building queries, viewing the tables, etc. Later in the course, once we are familiar with interacting with Suzieq and the CLI, we will move on to using the Python library and the REST API.
Suzieq Namespaces
A Suzieq namespace is a pre-defined tag that provides a way to group devices, and results in the analysis of the device for the specified namespace. A namespace can be a site (Virginia vs Denver data centre, for example), a pod within a larger data centre, and so on.
Namespaces are defined from within the inventory file (inventory.yml
) using the namespace
keyword, like this:
- namespace: dc1
hosts:
- url: ssh://x.x.x.1 username=example
- url: ssh://x.x.x.2 username=example
- namespace: dc2
hosts:
- url: ssh://x.x.x.1 username=example
- url: ssh://x.x.x.2 username=example
...