Added LICENSE file to root folder
[osm/MON.git] / policy_module / osm_policy_module / cmd / policy_module_agent.py
index 3fd42db..ac03167 100644 (file)
@@ -1,6 +1,30 @@
+# -*- coding: utf-8 -*-
+
+# Copyright 2018 Whitestack, LLC
+# *************************************************************
+
+# This file is part of OSM Monitoring module
+# All Rights Reserved to Whitestack, LLC
+
+# 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: bdiaz@whitestack.com or glavado@whitestack.com
+##
 import argparse
 import logging
 import sys
+import logstash
 
 from osm_policy_module.core.agent import PolicyModuleAgent
 from osm_policy_module.core.config import Config
@@ -25,10 +49,25 @@ def main():
                             format='%(asctime)s %(message)s',
                             datefmt='%m/%d/%Y %I:%M:%S %p', filemode='a',
                             level=logging.INFO)
+    if cfg.get('policy_module', 'enable_logstash_handler') == 'true':
+        logstash_host = cfg.get('policy_module', 'logstash_host')
+        logstash_port = int(cfg.get('policy_module', 'logstash_port'))
+        root_logger = logging.getLogger()
+        root_logger.addHandler(logstash.TCPLogstashHandler(logstash_host, logstash_port, version=1))
+        root_logger.info("Logstash handler configured.")
+    kafka_logger = logging.getLogger('kafka')
+    kafka_logger.setLevel(logging.WARN)
+    kafka_formatter = logging.Formatter(
+        '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
+    kafka_handler = logging.StreamHandler(sys.stdout)
+    kafka_handler.setFormatter(kafka_formatter)
+    kafka_logger.addHandler(kafka_handler)
     log = logging.getLogger(__name__)
+    log.info("Config: %s", cfg)
     log.info("Syncing database...")
     db_manager = DatabaseManager()
     db_manager.create_tables()
+    log.info("Database synced correctly.")
     log.info("Starting policy module agent...")
     agent = PolicyModuleAgent()
     agent.run()