Include documentation and updates for MON manual installation.
- Provided documentation that can be included in the wiki
- Include installation for manual MON installation
Signed-off-by: Helena McGough <helena.mcgough@intel.com>
diff --git a/doc/MON_install_guide.rst b/doc/MON_install_guide.rst
new file mode 100644
index 0000000..586fe2a
--- /dev/null
+++ b/doc/MON_install_guide.rst
@@ -0,0 +1,117 @@
+..
+ # Copyright 2017 Intel Research and Development Ireland Limited
+ # *************************************************************
+ # This file is part of OSM Monitoring module
+ # All Rights Reserved to Intel Corporation
+ #
+ # Licensed under the Apache License, Version 2.0 (the "License"); you
+ # may not use this file except in compliance with the License. You may
+ # obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # permissions and limitations under the License.
+ #
+ # For those usages not covered by the Apache License, Version 2.0 please
+ # contact: helena.mcgough@intel.com or adrian.hoban@intel.com
+
+OSM MON module
+**************
+This is a guide for using the OSM MON module source code to create a container
+for monitoring. It will allow the use of the three plugins available to the
+module; CloudWatch, OpenStack and vROPs.
+
+
+At the moment this process requires a number of steps, but in the future the
+process will become automated as it will become part of the osm installation
+script which is contained within the devops repo.
+: `</devops/installers/install_mon.sh>`
+
+
+For information on how to use this module refer to this usage guide:
+: `</MON/doc/MON_usage_guide.rst>`
+
+
+You can find the source code for MON by following the link below:
+https://osm.etsi.org/gitweb/?p=osm/MON.git;a=tree
+
+
+Requirements
+------------
+* lxc setup
+* OSM deployment
+
+
+Creating a MON Container
+------------------------
+To create a MON container and utilize the supported functionality, clone the
+MON repo and then run the provided script for container creation and
+installation:
+
+ ::
+
+ git clone https://osm.etsi.org/gerrit/osm/MON.git
+ cd MON/scripts
+ . install_mon.sh
+
+This script will create a MON container, install all of the required packages,
+as well as initializing the Apache Kafka and the vROPs web service.
+
+
+Plugin Utilization
+------------------
+There are three plugins supported by this monitoring module; CloudWatch,
+OpenStack and vROPs.
+
+vROPs plugin
+~~~~~~~~~~~~
+The vROPs plugin will automatically be installed after you have run the above
+installation script.
+
+OpenStack Plugin
+~~~~~~~~~~~~~~~~
+There are two OpenStack services supported within this module monitoring and
+alarming, which are supported by the Gnocchi and Aodh plugins respectively.
+
+For more information on what metrics and alarms that these plugins support
+please refer to the following documentation:
+: `</MON/doc/OpenStack/>`.
+
+These documents will also describe what alarming and monitoring functionality
+the plugins support.
+
+* To run the Gnocchi plugin run the following command:
+
+ ::
+
+ lxc exec MON - python /root/MON/plugins/OpenStack/Gnocchi/plugin_instance.py
+
+* To run the Aodh plugin run the following command:
+
+ ::
+
+ lxc exec MON - python /root/MON/plugins/OpenStack/Aodh/plugin_instance.py
+
+CloudWatch
+~~~~~~~~~~
+The MON container supports a CloudWatch plugin as well.
+
+
+Verification
+------------
+* To confirm that you have created your MON container, run the following command
+ and confirm that your container is in a RUNNING state:
+
+ ::
+
+ lxc list | grep MON
+
+* Confirm that the kafka service is installed and running within the container:
+
+ ::
+
+ lxc exec MON -- service kafka status
diff --git a/doc/MON_usage_guide.rst b/doc/MON_usage_guide.rst
new file mode 100644
index 0000000..0a28318
--- /dev/null
+++ b/doc/MON_usage_guide.rst
@@ -0,0 +1,95 @@
+..
+ # Copyright 2017 Intel Research and Development Ireland Limited
+ # *************************************************************
+ # This file is part of OSM Monitoring module
+ # All Rights Reserved to Intel Corporation
+ #
+ # Licensed under the Apache License, Version 2.0 (the "License"); you
+ # may not use this file except in compliance with the License. You may
+ # obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing, software
+ # distributed under the License is distributed on an "AS IS" BASIS,
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # permissions and limitations under the License.
+ #
+ # For those usages not covered by the Apache License, Version 2.0 please
+ # contact: helena.mcgough@intel.com or adrian.hoban@intel.com
+
+MON Usage Guide
+***************
+This is a guide on how to use the MON module and its three plugins.
+
+The MON module sends requests to an from the SO via an Apache Kafka message
+bus. Currently each message is sent on the message bus in json format, along
+with a unique request key and its topic.
+
+The topics that the plugins will consume messages based on are:
+
+* alarm_request
+* metric_request
+
+In return the plugins will send messages back to the SO with the following
+topics:
+
+* alarm_response
+* metric_response
+
+Each type of request has it's own unique key:
+* create_alarm_request
+* create_metric_request
+* list_alarm_request
+* list_metric_request
+* delete_alarm_request
+* delete_metric_request
+* update_alarm_request
+* update_metric_request
+* acknowledge_alarm_request
+* read_metric_data_request
+
+Sending Messages
+----------------
+For each of the request message that can be sent there is a json schema defined
+in the models directory of the MON repo:
+: `</MON/core/models/>`
+
+To send a valid message to the MON module for use by one of the plugins, your
+message must match the json schema for that request type.
+
+Once you have created a valid json object with your message you can send it on
+the message bus with the required topic and key.
+
+To ensure that the correct plugin uses your message you must also specify the
+vim_type correctly:
+
+ +----------------------+----------------------+
+ | Plugin | vim_type |
+ +----------------------+----------------------+
+ | CloudWatch | cloudwatch |
+ | | |
+ | OpenStack | openstack |
+ | | |
+ | vROPs | vrops |
+ +----------------------+----------------------+
+
+
+* Example
+ A create alarm request for the vROPs plugin would be sent with the following
+ information:
+
+ - topic: alarm_request
+ - create_alarm_request
+ - message: a valid message that matches the json schema, with the vim_type
+ specified as vrops
+
+A KafkaProducer is used to send the message and it will be consumed by a
+KafkaConsumer which is running for each plugin
+
+
+ .. note::
+
+ The SO support for sending and receiving messages is currently not
+ supported. Support will be added in a later release.
diff --git a/doc/plugins/OpenStack/aodh_plugin_guide.rst b/doc/OpenStack/aodh_plugin_guide.rst
similarity index 88%
rename from doc/plugins/OpenStack/aodh_plugin_guide.rst
rename to doc/OpenStack/aodh_plugin_guide.rst
index b19eca3..544a8e8 100644
--- a/doc/plugins/OpenStack/aodh_plugin_guide.rst
+++ b/doc/OpenStack/aodh_plugin_guide.rst
@@ -36,13 +36,21 @@
| Gnocchi Metric | Aodh Alarm |
+-----------------------------+---------------------------------+
| AVERAGE_MEMORY_UTILIZATION | AVERAGE_MEMORY_UTILIZATION |
+ | | |
| DISK_READ_OPS | DISK_READ_OPS |
+ | | |
| DISK_WRITE_OPS | DISK_WRITE_OPS |
+ | | |
| DISK_READ_BYTES | DISK_READ_BYTES |
+ | | |
| DISK_WRITE_BYTES | DISK_WRITE_BYTES |
+ | | |
| PACKETS_DROPPED | NET_PACKETS_DROPPED |
+ | | |
| PACKETS_RECEIVED | PACKETS_IN_ABOVE_THRESHOLD |
+ | | |
| PACKETS_SENT | PACKETS_OUT_ABOVE_THRESHOLD |
+ | | |
| CPU_UTILIZATION | CPU_UTILIZATION_ABOVE_THRESHOLD |
+-----------------------------+---------------------------------+
diff --git a/doc/plugins/OpenStack/gnocchi_plugin_guide.rst b/doc/OpenStack/gnocchi_plugin_guide.rst
similarity index 100%
rename from doc/plugins/OpenStack/gnocchi_plugin_guide.rst
rename to doc/OpenStack/gnocchi_plugin_guide.rst
diff --git a/doc/plugins/OpenStack/openstack_plugins.rst b/doc/OpenStack/openstack_plugins.rst
similarity index 100%
rename from doc/plugins/OpenStack/openstack_plugins.rst
rename to doc/OpenStack/openstack_plugins.rst