2 Copyright 2018 Whitestack, LLC
3 *************************************************************
5 This file is part of OSM Monitoring module
6 All Rights Reserved to Whitestack, LLC
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
12 http://www.apache.org/licenses/LICENSE-2.0
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
19 For those usages not covered by the Apache License, Version 2.0 please
20 contact: bdiaz@whitestack.com or glavado@whitestack.com
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.
32 MON module has the following components:
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.
39 Supported Collector Plugins
40 ***************************
42 * OpenStack: Support for Gnocchi and legacy Ceilometer telemetry stacks.
43 * VROPS: Support for VIO and VCD.
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.
54 osm-mon-server --config-file your-config.yaml
56 Configuration variables can also be overridden through environment variables by following the convention:
57 OSMMON_<SECTION>_<VARIABLE>=<VALUE>
61 OSMMON_GLOBAL_LOGLEVEL=DEBUG
66 The supported OSM NFVI metrics are the following:
68 * average_memory_utilization
82 The following is a reference for making changes to the code and testing them in a running OSM deployment.
86 git clone https://osm.etsi.org/gerrit/osm/MON.git
88 # Make your changes here
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
96 docker logs $(docker ps -qf name=osm_mon.1)
102 * Benjamín Díaz <bdiaz@whitestack.com>, Whitestack, Argentina
103 * Prakash Kasar <pkasar@vmware.com>, VMWare
108 * Benjamín Díaz, Whitestack, Argentina
113 For information on how to contribute to OSM MON module, please get in touch with
114 the developer or the maintainer.
116 Any new code must follow the development guidelines detailed in the Dev Guidelines
117 in the OSM Wiki and pass all tests.
119 Dev Guidelines can be found at:
121 [https://osm.etsi.org/wikipub/index.php/Workflow_with_OSM_tools]