zoukankan      html  css  js  c++  java
  • syslog 协议及其在 SysLogHandler 中的使用

    syslog:syslog 是一种主从式协议,通常发送给 syslogd,syslog daemon,syslog服务器等,通常用于信息系统管理及信息安全审核,它使用UDP协议作为它的传输层协议,其默认使用UDP端口514

    介绍参考: https://www.jiankongyi.com/q/?/article/159

    1. 编写如下python代码

    #!/usr/bin/python2
    # coding=utf-8
    import sys
    import socket
    import logging
    from logging.handlers import SysLogHandler
    
    
    def send(msg):
    	server = '127.0.0.1'
    	port = '514'
    	protocol = 'udp'
    	data_stream = socket.SOCK_DGRAM
    	if protocol == 'tcp':
    		data_stream = socket.SOCK_STREAM
    
    	formatter = logging.Formatter('%(asctime)s '+socket.gethostname()+' %(levelname)s %(message)s', '%b %d %H:%M:%S')
    	logger = logging.getLogger('cnlogger')
    	syslog = SysLogHandler(address=(server, int(port)), socktype=data_stream)
    	syslog.setFormatter(formatter)
    	logger.addHandler(syslog)
    	logger.setLevel('INFO')
    	try:
    		# logger.info(msg.decode('utf-8', 'ignore').encode('gb2312'))  # )
    		logger.info(msg)
    	except Exception as e:
    		print(e)
    	finally:
    		logger.removeHandler(syslog)
    		syslog.close()
    
    
    if __name__ == '__main__':
    	send('hello world.')
    

      

    2. 通过 wireshark或者3cdaemon工具作为 syslog服务器,即可捕获到发送的消息

  • 相关阅读:
    启动docker 服务时 虚拟机端口转发 外部无法访问
    ADC滤波处理的十种方法
    ubuntu卸载软件
    Cannot fetch index base URL http://pypi.python.org/simple/
    pip命令详解
    QT入门
    tensorflow学习-第一章
    opencv学习-第一章
    二叉树详解
    C/C++内存地址划分
  • 原文地址:https://www.cnblogs.com/zhanghaibin16/p/13803808.html
Copyright © 2011-2022 走看看