Python Syslog Server 开发实例

本程序用于收集,防火墙,路由器,交换机等日志


目录

  • 1. 配置Cisco ASA 5550 Firewall
  • 2. syslog 服务器脚本

1. 配置Cisco ASA 5550 Firewall

logging enable 
logging timestamp 
logging trap warnings 
logging host inside 172.16.0.5
logging facility local0 

172.16.0.5 改为你的syslog服务器地址

2. syslog 服务器脚本

*注意:python版本必须3.0以上

chmod 700 syslogd

./syslogd

		#!/srv/python/bin/python3
# -*- encoding: utf-8 -*-
# Cisco ASA Firewall - Syslog Server by neo
# Author: neo<neo.chen@live.com>

import logging
import socketserver
import threading

LOG_FILE = '/var/log/asa5550.log'

logging.basicConfig(level=logging.INFO,
                    format='%(message)s',
                    datefmt='',
                    filename=LOG_FILE,
                    filemode='a')

class SyslogUDPHandler(socketserver.BaseRequestHandler):

    def handle(self):
        data = bytes.decode(self.request[0].strip())
        socket = self.request[1]
        print( "%s : " % self.client_address[0], str(data))
        logging.info(str(data))
#        socket.sendto(data.upper(), self.client_address)

if __name__ == "__main__":
    try:
        HOST, PORT = "0.0.0.0", 514
        server = socketserver.UDPServer((HOST, PORT), SyslogUDPHandler)
        server.serve_forever(poll_interval=0.5)
    except (IOError, SystemExit):
        raise
    except KeyboardInterrupt:
        print ("Crtl+C Pressed. Shutting down.")		

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2016-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java成神之路

sublime text _注册码

打开 Sublime Text 3 的 “Help”–“Enter Licence”,然后根据版本选择输入下面的注册码。

916
来自专栏Hadoop实操

如何使用hadoop命令向CDH集群提交MapReduce作业

在前面文章Fayson讲过《如何跨平台在本地开发环境提交MapReduce作业到CDH集群》,那对于部分用户来说,需要将打包好的jar包在CDH集群运行,可以使...

3836
来自专栏Laoqi's Linux运维专列

zabbix 2.4.7 proxy代理端升级到zabbix 3.2.3

1492
来自专栏jeremy的技术点滴

nagios安装配置

3647
来自专栏清风

Redhat 6 升级 openssl-1.0.2m 、openssh-7.6p1 和 ntp-4.2.8p10

本文涉及rpm源码包下载地址:http://mirrors.163.com/centos/6/os/x86_64/Packages

1347
来自专栏测试开发架构之路

centos7安装keepalived问题

● keepalived.service - LVS and VRRP High Availability Monitor Loaded: loaded ...

753
来自专栏乐沙弥的世界

使用 ASMCMD 工具管理ASM目录及文件

在ASM实例中,所有的存储于ASM磁盘组中的文件对于操作系统命令而言是不可访问的,因此也无法使用常规的命令来操纵ASM磁盘中的文

652
来自专栏java相关

Mac OS使用brew安装memcached

431
来自专栏杨建荣的学习笔记

Oracle备库无法连接主库的问题分析

今天在搭建DG的时候碰到了一个蛮有意思的问题,耗费了不少脑细胞,简单记录一下。 首先主库是Queuedb,备库是s2queuedb,使用RMAN的duplica...

3436
来自专栏Java开发

Spring发布WebService

这里的org.apache.neethi的版本最好是3.0.3 不然你使用了别人的webservice可能会报错 我试过用3.0.2报错 : java...

703

扫描关注云+社区