示例#1
0
 def __init__(self):
     threading_tools.icswProcessPool.__init__(self, "main")
     self.CC.init(icswServiceEnum.logcheck_server, global_config)
     self.CC.check_config()
     self.CC.read_config_from_db([
         ("SYSLOG_DIR", configfile.StringConfigVar("/var/log/hosts")),
         ("KEEP_LOGS_UNCOMPRESSED", configfile.IntegerConfigVar(2)),
         ("KEEP_LOGS_TOTAL", configfile.IntegerConfigVar(30)),
         ("KEEP_LOGS_TOTDDAL", configfile.IntegerConfigVar(30)),
         # maximum time in days to track logs
         ("LOGS_TRACKING_DAYS",
          configfile.IntegerConfigVar(
              4, help_string="time to track logs in days")),
         # cachesize for lineinfo (per file)
         ("LINECACHE_ENTRIES_PER_FILE",
          configfile.IntegerConfigVar(50,
                                      help_string="line cache per file")),
     ])
     # close connection (daemonizing)
     db_tools.close_connection()
     self.srv_helper = service_tools.ServiceHelper(self.log)
     self.CC.re_insert_config()
     self.register_exception("hup_error", self._hup_error)
     self.register_exception("int_error", self._int_error)
     self.register_exception("term_error", self._int_error)
     # log config
     self.CC.log_config()
     # prepare directories
     self._prepare_directories()
     # enable syslog_config
     self._enable_syslog_config()
     # network bind
     self._init_network_sockets()
     Machine.setup(self)
     self.my_scanner = LogcheckScanner(self)
     self.register_poller(Machine.get_watcher()._fd, zmq.POLLIN,
                          Machine.inotify_event)
     self.register_timer(self.sync_machines, 3600, instant=True)
     self.register_timer(self.rotate_logs, 3600 * 12, instant=True)
示例#2
0
 def get_syslog(self, srv_com, **kwargs):
     Machine.get_syslog(srv_com)
     return srv_com
示例#3
0
 def loop_end(self):
     self._disable_syslog_config()
     Machine.shutdown()
示例#4
0
 def rotate_logs(self):
     db_tools.close_connection()
     Machine.g_rotate_logs()
示例#5
0
 def sync_machines(self):
     db_tools.close_connection()
     Machine.db_sync()