blob: d0e4b2040cee113c2df0c362d524cdc5d88979b9 [file] [log] [blame]
Helena McGough758adf82017-10-10 13:17:22 +01001..
Benjamin Diazde3d5702018-11-22 17:27:35 -03002 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
prithiv063fe7c2017-09-29 11:24:41 +010021
prithivb7e9ec02017-09-14 16:52:53 +010022OSM MON Module
23****************
24
Benjamin Diazde3d5702018-11-22 17:27:35 -030025MON is a monitoring module for OSM.
26It collects metrics from VIMs and VNFs and exports them to a Prometheus TSDB.
27It manages and evaluates alarms based on those metrics.
prithivb7e9ec02017-09-14 16:52:53 +010028
29Components
30**********
31
32MON module has the following components:
33
Benjamin Diazce9929c2019-04-26 15:56:36 -030034* 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.
prithivb7e9ec02017-09-14 16:52:53 +010037
prithivb7e9ec02017-09-14 16:52:53 +010038
Benjamin Diazde3d5702018-11-22 17:27:35 -030039Supported Collector Plugins
40***************************
prithivb7e9ec02017-09-14 16:52:53 +010041
Benjamin Diazce9929c2019-04-26 15:56:36 -030042* OpenStack: Support for Gnocchi and legacy Ceilometer telemetry stacks.
43* VROPS: Support for VIO and VCD.
44* AWS: TBD
45
46Configuration
47*************
48
49Configuration is handled by the file [mon.yaml] (osm_mon/core/mon.yaml). You can pass a personalized configuration file
50through the `--config-file` flag.
51
52Example:
53
54 osm-mon-server --config-file your-config.yaml
55
56Configuration variables can also be overridden through environment variables by following the convention:
57OSMMON_<SECTION>_<VARIABLE>=<VALUE>
58
59Example:
60
61 OSMMON_GLOBAL_LOGLEVEL=DEBUG
62
63OSM NFVI Metrics
64****************
65
66The 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
79Development
80***********
81
82The 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
prithivb7e9ec02017-09-14 16:52:53 +010098
99Developers
100**********
101
Benjamin Diazce9929c2019-04-26 15:56:36 -0300102* Benjamín Díaz <bdiaz@whitestack.com>, Whitestack, Argentina
103* Prakash Kasar <pkasar@vmware.com>, VMWare
prithivb7e9ec02017-09-14 16:52:53 +0100104
105Maintainers
106***********
107
Benjamin Diazce9929c2019-04-26 15:56:36 -0300108* Benjamín Díaz, Whitestack, Argentina
prithivb7e9ec02017-09-14 16:52:53 +0100109
110Contributions
111*************
112
113For information on how to contribute to OSM MON module, please get in touch with
114the developer or the maintainer.
115
116Any new code must follow the development guidelines detailed in the Dev Guidelines
117in the OSM Wiki and pass all tests.
118
119Dev Guidelines can be found at:
120
121 [https://osm.etsi.org/wikipub/index.php/Workflow_with_OSM_tools]