Fix improper restriction of XMl External Entity Reference, by using lxml
[osm/MON.git] / README.rst
1 ..
2  Copyright 2018 Whitestack, LLC
3  *************************************************************
4
5  This file is part of OSM Monitoring module
6  All Rights Reserved to Whitestack, LLC
7
8  Licensed under the Apache License, Version 2.0 (the "License"); you may
9  not use this file except in compliance with the License. You may obtain
10  a copy of the License at
11
12           http://www.apache.org/licenses/LICENSE-2.0
13
14  Unless required by applicable law or agreed to in writing, software
15  distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
17  License for the specific language governing permissions and limitations
18  under the License.
19  For those usages not covered by the Apache License, Version 2.0 please
20  contact: bdiaz@whitestack.com or glavado@whitestack.com
21
22 OSM MON Module
23 ****************
24
25 MON is a monitoring module for OSM.
26 It collects metrics from VIMs and VNFs and exports them to a Prometheus TSDB.
27 It manages and evaluates alarms based on those metrics.
28
29 Components
30 **********
31
32 MON module has the following components:
33
34 * MON Central: Handles vim accounts registration and alarms CRUD operations, through messages in the Kafka bus.
35 * MON Collector: Collects metrics from VIMs and VNFs and then exports them to a TSDB. It uses a plugin model both for collectors and for backends.
36 * MON Evaluator: Evaluates alarms and sends notifications through the Kafka bus when they trigger.
37
38
39 Supported Collector Plugins
40 ***************************
41
42 * OpenStack: Support for Gnocchi and legacy Ceilometer telemetry stacks.
43 * VROPS: Support for VIO and VCD.
44 * AWS: TBD
45
46 Configuration
47 *************
48
49 Configuration is handled by the file [mon.yaml] (osm_mon/core/mon.yaml). You can pass a personalized configuration file
50 through the `--config-file` flag.
51
52 Example:
53
54     osm-mon-server --config-file your-config.yaml
55
56 Configuration variables can also be overridden through environment variables by following the convention:
57 OSMMON_<SECTION>_<VARIABLE>=<VALUE>
58
59 Example:
60
61     OSMMON_GLOBAL_LOGLEVEL=DEBUG
62
63 OSM NFVI Metrics
64 ****************
65
66 The supported OSM NFVI metrics are the following:
67
68 * average_memory_utilization
69 * disk_read_ops
70 * disk_write_ops
71 * disk_read_bytes
72 * disk_write_bytes
73 * packets_in_dropped
74 * packets_out_dropped
75 * packets_received
76 * packets_sent
77 * cpu_utilization
78
79 Development
80 ***********
81
82 The following is a reference for making changes to the code and testing them in a running OSM deployment.
83
84 ::
85
86     git clone https://osm.etsi.org/gerrit/osm/MON.git
87     cd MON
88     # Make your changes here
89     # Build the image
90     docker build -t opensourcemano/mon:develop -f docker/Dockerfile .
91     # Deploy that image in a running OSM deployment
92     docker service update --force --image opensourcemano/mon:develop osm_mon
93     # Change a specific env variable
94     docker service update --force --env-add VARIABLE_NAME=new_value osm_mon
95     # View logs
96     docker logs $(docker ps -qf name=osm_mon.1)
97
98
99 Developers
100 **********
101
102 * Benjamín Díaz <bdiaz@whitestack.com>, Whitestack, Argentina
103 * Prakash Kasar <pkasar@vmware.com>, VMWare
104
105 Maintainers
106 ***********
107
108 * Benjamín Díaz, Whitestack, Argentina
109
110 Contributions
111 *************
112
113 For information on how to contribute to OSM MON module, please get in touch with
114 the developer or the maintainer.
115
116 Any new code must follow the development guidelines detailed in the Dev Guidelines
117 in the OSM Wiki and pass all tests.
118
119 Dev Guidelines can be found at:
120
121     [https://osm.etsi.org/wikipub/index.php/Workflow_with_OSM_tools]