|
|
[[_TOC_]]
|
|
|
# Stork demo
|
|
|
|
|
|
This page describes a self-demo that you can run on Stork. To run it you need one of the following:
|
... | ... | @@ -19,37 +20,37 @@ Stork documentation is available at https://stork.readthedocs.io. It may be usef |
|
|
|
|
|
# Existing functionality
|
|
|
|
|
|
1. **Log in using admin/admin credentials**.
|
|
|
## 1. Log in using admin/admin credentials
|
|
|
|
|
|
Note the version displayed. It is not hardcoded. This is a version of the Stork server that is retrieved over REST API.
|
|
|
|
|
|
2. **Check your role in the system**.
|
|
|
## 2. Check your role in the system
|
|
|
|
|
|
You logged in as admin, which is an account with `super-admin` role. You can check you currently assigned roles by going to your `Profile` page. Click on the little triangle button next to `Logout`.
|
|
|
|
|
|
Note: as of 0.9 there are currently two roles defined: `super-admin` (can do everything including managing and adding new users) and `admin` (can do everything, except managing or adding users). A third role, read-only users, coming up soon.
|
|
|
|
|
|
3. **Add new user**.
|
|
|
## 3. Add new user
|
|
|
|
|
|
Since you're logged in as super-admin, you can see the `Configuration` menu and `Users` within it. Click on it and you'll see a list of all users. Click on `Create User Account` to create a new account. It's recommended to create a new account with `admin` role, so the new user can't create more users. Go ahead and try it.
|
|
|
|
|
|
4. **Add new BIND9 machine to monitor**.
|
|
|
## 4. Add new BIND9 machine to monitor
|
|
|
|
|
|
Go to `Services`->`Machines` and click `Add New Machine`, type in `agent-bind9`.
|
|
|
|
|
|
Normally you would type in an FQDN or an IP address of the machine you want to monitor. By default Stork is being deployed using Docker. There are several docker containers simulating machines with Kea and BIND in various modes of operation. agent-bind9 is a name of one of such containers. Note that you didn't specify what kind of software is running on the `agent-bind9` machine. Stork server connected to the stork agent running there and the agent looked for Kea and BIND and found only BIND. It should detect BIND app running there.
|
|
|
|
|
|
5. **Inspect the agent-bind9 machine**.
|
|
|
## 5. Inspect the agent-bind9 machine
|
|
|
|
|
|
Click around. As of 0.9 the BIND capabilities are basic. Stork is able to check if BIND process is running and display its version, number of zones configured, time since it last reconfiguration and more.
|
|
|
|
|
|
6. **Add new Kea machine to monitor**.
|
|
|
## 6. Add new Kea machine to monitor
|
|
|
|
|
|
Go to `Services`->`Machines` and click `Add New Machine`, type in `agent-kea`. The procedure is the same as before, but this time Stork detected Kea servers running. Notice that a problem is reported.
|
|
|
|
|
|
Kea is being shipped with CA (Control Agent) preconfigured with control sockets for DHCPv4, DHCPv6 and DDNS. This simplifies deployment. In this particular Kea deployment only DHCPv4 daemon is installed. CA tries to connect to all of those daemons and continues with only those that respond. That makes it easy to deploy daemons selectively. However, Stork looks at the CA config and determines that there are 3 daemons expected, but only DHCPv4 is running. The other ones are greyed out and on their tab there is information that Stork agent cannot communicate with them. As this is initial situation Stork concludes that this is as expected and switches of monitoring of these daemons, only DHCPv4 is monitored and its status is green.
|
|
|
|
|
|
7. **Inspect Kea details**.
|
|
|
## 7. Inspect Kea details
|
|
|
|
|
|
You can either click on the Version on the Kea apps list or click of the machine and the link to details in the Kea app panel on the machine details page. Note the Kea version being returned and a list of currently loaded hooks. List of subnets is displayed as well.
|
|
|
|
... | ... | @@ -57,7 +58,7 @@ Note that the Kea app running on agent-kea does not have HA enabled, so HA statu |
|
|
|
|
|
The sample Kea configuration has couple subnets that you can inspect here.
|
|
|
|
|
|
8. **Add two Kea servers that work as HA pair**.
|
|
|
## 8. Add two Kea servers that work as HA pair
|
|
|
|
|
|
Go to `Services`->`Machines` and click `Add New Machine`, and add `agent-kea-ha1`. Repeat for `agent-kea-ha2`.
|
|
|
|
... | ... | @@ -95,31 +96,31 @@ To restart Kea, use the following command: |
|
|
|
|
|
You can now logout from the docker image using `exit` or by pressing ctrl-d.
|
|
|
|
|
|
9. **DHCPv6 support**.
|
|
|
## 9. DHCPv6 support
|
|
|
|
|
|
Stork fully supports IPv6 from the day one. Add another machine called `agent-kea6`. Notice the IPv6 subnet and several pools.
|
|
|
|
|
|
10. **All subnets in your network**.
|
|
|
## 10. All subnets in your network
|
|
|
|
|
|
Stork lets you view and search through the subnets and pools. Go to `DHCP` and then `Subnets`. You will see all the subnets with pools in them. You can filter the subnets by type (any, DHCPv4 or DHCPv6). You can also type any string. For example, to limit the subnet to 192.0.3.0, you can search for `0.3`. Note that strings shorter than 4 characters require you to confirm with Enter (strings of 4 chars or longer does not require that). You can search for specific subnets, pools or pool boundaries.
|
|
|
|
|
|
11. **Shared networks**.
|
|
|
## 11. Shared networks
|
|
|
|
|
|
Grouping subnets into shared networks is a very popular feature in Kea and other DHCP servers. Stork supports this ability by showing networks. You can go to `DHCP` -> `Shared networks`. It offers the same filtering mechanism as subnets.
|
|
|
|
|
|
12. **Host reservations on monitored machines**
|
|
|
## 12. Host reservations on monitored machines
|
|
|
|
|
|
After adding `agent-kea` machine all host reservations configured on the Kea app running on this machine will be fetched into Stork can be presented in the UI. Navigate to `DHCP` and then `Host Reservations`. All host reservations detected on the monitored machines will be listed, including the DHCP identifiers, reserved IP addresses and the subnets that each reservation belongs to. Finally, the last column comprises the list of servers that the particular host reservation is configured on.
|
|
|
|
|
|
The filtering box placed above the list of host reservations can be used to search hosts by DHCP identifier types, DHCP identifier values and/or reserved IP addresses. Just type a part of the searched phrase and the list of reservations will be adjusted to display only those matching the filtering text. For example, typing `clien` should result in displaying only those reservations which DHCP identifier type is `client-id`.
|
|
|
|
|
|
13. **Host reservations within Kea host backends**
|
|
|
## 13. Host reservations within Kea host backends
|
|
|
|
|
|
The reservations observed in the previous step were only those that are specified within the Kea configuration files. Kea also supports defining host reservations within a database via `host_cmds` premium hooks library. Those reservations are available in the same view as previously. They are fetched when the Kea app is configured to use `host_cmds` hooks library. The demo setup optionally includes such machine if the demo is started with the `cs_repo_access_token` variable.
|
|
|
|
|
|
In order to see the reservations stored in the host database on this machine, start monitoring this machine by adding it to Stork. The machine name is `agent-kea-hosts`. Stork is currently configured to fetch and refresh the reservations from the hosts backend at the 60 seconds interval. Thus, you may need to wait a little while before the host reservations appear on the list. If the fetch is successful, you should observe new IPv4 reservations starting with IP address of 192.0.2.200 and higher.
|
|
|
|
|
|
14. **DHCP Dashboard**.
|
|
|
## 14. DHCP Dashboard
|
|
|
|
|
|
One of easily missed features of Stork is its dashboard. Make sure you click on the Stork logo (or the Stork name next to it). Since 0.10, there is also an explicit link in the DHCP menu. This is a high level overview of all the things being currently monitored. If you followed the demo, you should see something similar to this:
|
|
|
|
... | ... | @@ -127,7 +128,7 @@ One of easily missed features of Stork is its dashboard. Make sure you click on |
|
|
|
|
|
The list of subnets shows top 5 subnets with highest pool utilization. There's a list of events on the right hand side. If you configured Grafana, you will see links to Grafana to inspect historic values for subnets and how they changed over time.
|
|
|
|
|
|
15. **Grafana**
|
|
|
## 15. Grafana
|
|
|
|
|
|
An early Grafana integration was introduced in 0.5. In 0.9, you can go to `Configuration` and `Settings` and set up the link to your Grafana. In case of demo, type in `http://localhost:3000` (if running the demo locally) or `http://stork.lab.isc.org:3000` (if using on stork.lab). Go to http://localhost:3000 or http://stork.lab.isc.org:3000 and log in using admin/admin credentials. Please don't change the password, so the next person viewing the demo can take a look, too.
|
|
|
|
... | ... | @@ -143,7 +144,7 @@ We're currently using third party exporter together with a Stork embedded export |
|
|
|
|
|
Click on Home and then Stork Bind DNS dashboard. There are some generic statistics, as well as the Cache Hit Ratio/Hit/Miss statistics provided by Stork. More are coming in future Stork releases.
|
|
|
|
|
|
16. **DHCP address pool utilization**.
|
|
|
## 16. DHCP address pool utilization
|
|
|
|
|
|
Open a new tab in your browser and connect to http://localhost:5000 (if running locally) or to http://stork.lab.isc.org:5000 to take a look at the traffic generator. This is not part of the Stork itself, it's a tool we developed to simulate actual networks. It's a bit simple, but sufficient enough to generate traffic. It retrieves list of subnets known by Stork and enables to generate traffic for each subnet. You may want to experiment with it. Things to play with it:
|
|
|
|
... | ... | @@ -161,11 +162,11 @@ With a little bit of juggling around, you can see something like this: |
|
|
|
|
|
Make sure you take a look at the shared networks, too!
|
|
|
|
|
|
17. **DNS traffic**.
|
|
|
## 17. DNS traffic
|
|
|
|
|
|
Open a new tab in your browser and connect to the Stork Environment Simulator on http://localhost:5000 (if running locally) or http://stork.lab.isc.org:5000 to take a look at the DNS traffic generator. This is not part of the Stork itself, it's a tool we developed to simulate some traffic. It retrieves the DNS servers known by stork and enables to generate traffic to it. You can send a simple query with `Dig` or start a query stream with the `Start` button. This is quite basic and may be extended in the future with the option to query different names, replay a pcap, and emulate different clients. Go ahead and experiment. Once you got some traffic, go to Grafana and see the BIND dashboard.
|
|
|
|
|
|
18. **Events**
|
|
|
## 18. Events
|
|
|
|
|
|
Stork records various events in the system. There are several places where you can observe events;
|
|
|
|
... | ... | @@ -175,7 +176,7 @@ Stork records various events in the system. There are several places where you c |
|
|
|
|
|
![events-viewer](uploads/11439438bb815b1f4e6a93d76177d082/events-viewer.png)
|
|
|
|
|
|
19. **Other tasks**.
|
|
|
## 19. Other tasks
|
|
|
|
|
|
Here's a list of smaller things you can do.
|
|
|
|
... | ... | |