Add documentation for microburst simulation
Change-Id: I48bee56981ddbc1e64558d52dc13a4e74bb591bb
This commit is contained in:
parent
9740246e43
commit
bfb8a66941
BIN
doc/images/microbursts/dashboard.png
Executable file
BIN
doc/images/microbursts/dashboard.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 195 KiB |
BIN
doc/images/microbursts/data.png
Executable file
BIN
doc/images/microbursts/data.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 191 KiB |
BIN
doc/images/microbursts/datasource.png
Executable file
BIN
doc/images/microbursts/datasource.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 136 KiB |
BIN
doc/images/microbursts/screen.png
Executable file
BIN
doc/images/microbursts/screen.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 175 KiB |
149
doc/microburst_simulation.md
Normal file
149
doc/microburst_simulation.md
Normal file
@ -0,0 +1,149 @@
|
||||
Showing BST Microbursts in Grafana via Simulation
|
||||
=================================================
|
||||
|
||||
This document runs through the steps needed to launch OpenStack Monasca
|
||||
and broadview-collector, simulate microburst activity incoming from
|
||||
a broadview agent, and configure grafana 2.6 to display this data as a
|
||||
graph.
|
||||
|
||||
What we are aiming for is represented in the following image:
|
||||
|
||||
[Grafana displaying BST microburst data](docs/images/microbursts/microbursts.png)
|
||||
|
||||
The steps provided in this document do not require anything other than
|
||||
what is provided in the broadview and monasca github repositories, and
|
||||
does not require a BroadView-capable switch. The exercise can be completed
|
||||
as a single node OpenStack cluster with minimal configuration via devstack.
|
||||
|
||||
Bringing up OpenStack Monasca and BroadView Collector
|
||||
-----------------------------------------------------
|
||||
|
||||
Follow the steps outlined in https://github.com/openstack/broadview-collector/blob/master/devstack/README.txt to bring up a minimal OpenStack cluster that
|
||||
includes Monasca. Grafana is a web-based monitoring UI that is integrated
|
||||
with Monasca.
|
||||
|
||||
Be sure to test out the setup by running:
|
||||
|
||||
python bst_report.py
|
||||
|
||||
You can veify the operation of the broadview-collector and Monasca setup by
|
||||
using the monasca command line client to verify that metrics have been
|
||||
recorded by the monasca service.
|
||||
|
||||
Directions for using the monasca command line client are found in the above
|
||||
README.txt file.
|
||||
|
||||
If you do not see data, check the settings in /etc/broadviewcollector.conf.
|
||||
Ensure that monasca is configured as described in the README.txt file.
|
||||
|
||||
Using grafana
|
||||
-------------
|
||||
|
||||
To work with grafana, one needs to do two things:
|
||||
|
||||
* configure a datasource
|
||||
* create a dashboard
|
||||
|
||||
Launching grafana
|
||||
-----------------
|
||||
|
||||
First, visit the openstack dashboard, and login. If you used the instructions
|
||||
that are in the README.txt file to create your local.conf file, the username
|
||||
will be "admin" and the password will be "secretadmin".
|
||||
|
||||
In the dashboard, open the panel named "Monitoring". Click on "Monitoring",
|
||||
and then "Overview". Then click on the button labeled "Grafana Home". A
|
||||
browser tab should appear which will contain the grafana UI, and you should be
|
||||
logged in.
|
||||
|
||||
Creating the Monasca Data Source
|
||||
--------------------------------
|
||||
|
||||
On the left side of the screen you should see a "Dashboards" and "Data Sources".
|
||||
Click on Data Sources. Then, at the top of the screen, click on "Add new".
|
||||
|
||||
Fill out the settings for the data sources as shown in the figure
|
||||
[Grafana data source](docs/images/microbursts/datasource.png)
|
||||
|
||||
Instead of supplying an auth token, you might want to simply click on the
|
||||
"Keystone Auth" checkbox. However, a bug at the time of writing this
|
||||
document existed with this setting. To obtain an auth token, run the
|
||||
following coomand:
|
||||
|
||||
curl -s -X POST http://localhost:35357/v2.0/tokens -d '{"auth": {"passwordCredentials": {"username":"mini-mon", "password":"password"}, "tenantName":"mini-mon"}}' -H "Content-type: application/json"
|
||||
|
||||
The above will generate output that contains a token, a portion of which is
|
||||
shown below:
|
||||
|
||||
{"access": {"token": {"issued_at": "2016-04-11T23:24:32.658304Z", "expires": "2016-04-12T00:24:32Z", "id": "7e5ac6a6c2d94b8aac870a32af125059", "tenant": {"description": null, "enabled": true, "id": "fb12e3d3fc534ebaa1aba7c73b573fce", "name": "mini-mon"}, "audit_ids": ["tq_3-j68SPOGZ06zVfhuww"]}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://10.14.244.207:8774/v2.1/fb12e3d3fc534ebaa1aba7c7
|
||||
|
||||
Here, the token is the "id" field (7e5ac6a6c2d94b8aac870a32af125059). Copy and
|
||||
paste this value into the Token text field.
|
||||
|
||||
The Url field corresponds to the IP address and port that the Monasca API is
|
||||
listening on. Make sure to change the IP address, and if necessary, the port.
|
||||
|
||||
Use the "Test Connection" button to verify the data source is properly
|
||||
configured, and then click on Save.
|
||||
|
||||
Starting the Simulator
|
||||
----------------------
|
||||
|
||||
At this point, it will be good to start the simulator to generate simulated
|
||||
microburst activity. Go to where broadview-collector has been cloned from
|
||||
github by devstack (likely /opt/broadview-collector), or clone it yourself.
|
||||
Then, cd into broadview-colle4cotr/broadview_collector/tools. Edit the script
|
||||
burst.py to set the host and port variables to the IP address and port that
|
||||
the collector is running on, then run the following in a bash window:
|
||||
|
||||
$ while true; do sleep 90; python bst_burst.py; done
|
||||
|
||||
This will get data flowing into the collector and then into the monasca
|
||||
databases.
|
||||
|
||||
Creating a Dashboard
|
||||
--------------------
|
||||
|
||||
A dashboard is where you display graphics or tables of metrics that are
|
||||
available in a selected datasource. The Monasca plugin, in association with
|
||||
grafana, will automatically determine the set of metrics available in the
|
||||
datasource for display, and provide UI that allows you to drill down on
|
||||
metrics based on name, dimensions, and other search criteria. The best way
|
||||
to experiment is perhaps to create a graph dashboard, then add panels,
|
||||
using the UI to add queries to the panel for each data you wish to view.
|
||||
|
||||
To get started, click on Dashboards, then click on the button labeled
|
||||
"Home" in the upper left corner. A dialog will display, with three buttons
|
||||
at the botton. Click on the one labeled "+New". A green bar will display,
|
||||
click on it and a pullright menu will display. From this menu, select
|
||||
"Add Panel->Graph". A graph will display, and below it will be an editor
|
||||
which you can use to add queries. Each of the queries will be displayed
|
||||
in the graph.
|
||||
|
||||
In the righthand side of the editor will be a button labeled "Grafana"
|
||||
This button is used to select a datasource. Click on the button and
|
||||
select "broadview bst", which is the datasource we created above. See
|
||||
the screenshot below.
|
||||
|
||||
[Grafana Dashboard Editor](docs/images/microbursts/dashboard.png)
|
||||
|
||||
Using the editor, set Function to "none", select "broadview.bst.device" as
|
||||
the Metric, and set the Group By Time text field to 5000.
|
||||
|
||||
Then, click on the "+Query" button, and add a second stat by doing the
|
||||
following:
|
||||
|
||||
* set Function to "none",
|
||||
* Metric to "broadview.bst.egress-cpu-queue", and
|
||||
* Group By Time to 5000.
|
||||
|
||||
In the Dimensions section, configure the following query
|
||||
"stat=cpu-buffer-count". The screen should look something like the
|
||||
following (depending on what data has been transmitted to the collector):
|
||||
|
||||
[Grafana Showing Data](docs/images/microbursts/data.png)
|
||||
|
||||
To make the graphic update frequently, use the controls that are in the
|
||||
upper right hand corner of the grafana dashboard viewer. They can be used
|
||||
to set the viewing window (e.g., last 6 hours, last 30 minutes) and the
|
||||
refresh frequency (10 seconds, 1 minute, etc.)
|
Loading…
Reference in New Issue
Block a user