syslog收到的日志存放在哪里_【Python】Syslog日志服务器开发amp;部署(12.5更新)
今天不废话,直奔主题。
说说怎么用,免得大家伙一头雾水,不知道怎么运行。
下载一个python3.8,这不重要python3都行,然后安装。
将以下文件拷贝成一个.py文件,如:Syslog.py
#!/usr/bin/python3
import os
import socket
import timeDevList = [[5,'LWCO-N6/7-U41-SW-6800-POC'],[3,'HZXY-38-A05-SLB-1'],[3,'HZYX-38-A05-LLB-1'],[3,'HZLW-N01-5208-LLB-1'],[3,'HZLW-N01-5208-SLB-1']
]server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server.bind(('10.213.8.112', 514))def SyslogToFile():while True:data = server.recvfrom(8092)(LogMsg, host) = dataLogMsg = LogMsg.decode()print(LogMsg)LogMsgList_ = LogMsg.split(' ')LogMsgList = []
for i in LogMsgList_:
if i != '':
LogMsgList.append(i)for i in DevList:if LogMsgList[i[0]] == i[1]:with open(FileName(i[1]),mode='a') as f:f.write(LogMsg+'n')else:continuedef FileName(hostname):Asctime_ = time.asctime().split(' ')
Asctime = []
for i in Asctime_:
if i != '':Asctime.append(i)Day = "-".join([Asctime[4], Asctime[1], Asctime[2]])Path = r'D:SyslogData'if os.path.exists(Path+'/%s'%Day) == False:NewDir = Path + './%s'%Dayos.mkdir(NewDir)else:NewDir = Path + './%s'%Dayhostname = hostname.replace("/","")filename = NewDir +'./'+ hostnamereturn filenameSyslogToFile()
管理员身份运行IDLE
File 打开Syslog.py
Run —— Run... Customized
忽略弹出的对话框,直接OK,然后,程序就运行了,就可以接收syslog了。
哟西。
以上,就上syslog服务器的运行。
接下来,请自行创建D:SyslogData文件夹,不然会报错。
然后怎么发日志呢,以一台H3C交换机为例:
info-center loghost 10.213.8.112
info-center source default loghost level informational
好了,
完成。
程序什么功能?
将每天收到的syslog日志根据主机hostname的不同进行分类存储,大概算了下,每台网络设备每天产生的日志(info级别)<10M,那么我们有100台网络设备,一天产生的日志<1G,那么一年365天所需要的存储空间为@#¥%……&*。。。 反正也不多的啦,将这些日志存储在文本文件中,可行。
下面,我们来对程序进行设置:
1、设置网络设备:
DevList = [[5,'LWCO-N6/7-U41-SW-6800-POC'],[3,'HZXY-38-A05-SLB-1'],[3,'HZYX-38-A05-LLB-1'],[3,'HZLW-N01-5208-LLB-1'],[3,'HZLW-N01-5208-SLB-1']
]
[5,'LWCO-N6/7-U41-SW-6800-POC']
其中5表示序列号是,'LWCO-N6/7-U41-SW-6800-POC'表示的是这台主机的hostname,也能够决定保存文件的文件名。
5的由来,来到交换机,我们来dis logb
选取一条syslog信息,贴出来。
%Jul 1 22:31:33:644 2011 LWCO-N6/7-U41-SW-6800-POC SHELL/5/SHELL_LOGOUT: admin logged out from 10.5.0.208.
然后我们来排个序:
0 %Jul
1
2 1
3 22:31:33:644
4 2011
5 LWCO-N6/7-U41-SW-6800-POC
6 SHELL/5/SHELL_LOGOUT:
7 ........够了,够了
以上看出这里之所以是5,是因为将日志信息按照空格分割排序后,hostname的序号刚好就是5。这样理解简单。
hostname就是hostname,直接从syslog粘上去即可。
主机自己复制粘贴上去就行啦,重复配置就不演示了。
运行一段时间后,观察我们创建的D:SyslogData文件夹:
下面多了一个以时间命名的文件夹,继续点进去
这些,就是我们不同主机发过来的日志文件,以文本文件形式打开,会发现,日志呢,都在这里了。
如果需要修改文件保存路径,请修改这一段中的D:SyslogData,但在文件保存之前,修改的目录一定要是存在的。
好了,今天就到这里。
后续:
12月份了,发现程序并没有自动创建文件夹及文件,并将日志写到新文件中。
发现负载均衡日志信息中12月比11月多了一个空字符,导致列表匹配异常,无法正常使用,,当然并不是所有设备都这样,为此对代码进行了优化。
11月收到日志格式如下:
<133>Nov 19 00:00:44 HZLW-N01-5208-SLB-1 NOTICE AlteonOS <slb>: real service vm-lw-gaea-dealer-manage...r-t01, IP 10.213.7.36:8080 operational, affected virt 10.210.49.90
12月收到日志格式(列表)如下:['<189>Dec', ‘’, '5', '11:10:54', 'HZLW-N02-5208-SLB-2', 'NOTICE', 'AlteonOS', '<mgmt>:', 'admin(admin)', 'login', 'from', 'host', '10.194.86.154', 'via', 'WBM'] 优化方法:将列表中的''删除,重新组合。
Asctime_ = time.asctime().split(' ')
Asctime = []
for i in Asctime_:
if i != '':Asctime.append(i)LogMsgList_ = LogMsg.split(' ')LogMsgList = []
for i in LogMsgList_:
if i != '':
LogMsgList.append(i)
syslog收到的日志存放在哪里_【Python】Syslog日志服务器开发amp;部署(12.5更新)相关推荐
- 如何使用日志进行程序调试_如何使用日志节省调试时间
如何使用日志进行程序调试 by Maya Gilad 通过Maya Gilad 如何使用日志节省调试时间 (How to save hours of debugging with logs) A go ...
- gc日志一般关注什么_理解GC日志
title: 理解GC日志 comments: false date: 2019-07-16 10:25:52 description: 理解 GC 打印的回收日志内容 categories: GC ...
- node.js 微信小程序 部署服务器_微信小程序云开发环境部署,及添加数据
点击蓝字 关注我们 今天在漫无目的逛CSDN的时候,一篇关于微信公众号云开发的文章引起了我的注意.据介绍,小程序云开发简称tcb,是腾讯爸爸给我们提供的基于腾讯云的云服务器.目前云开发已包含云数据库, ...
- linux服务器存放规划,规划适用于 Linux 和 UNIX 服务器的客户端部署
下表描述了所需的 UNIX 和 Linux 操作系统和程序包依赖关系. Red Hat Enterprise Linux ES 版本 4 所需的程序包 描述 最低版本 glibc C 标准库 2.3. ...
- 某系统有6台输出设备 有多个进程均需要使用2台_从零开始学K8s: 2.开发与部署方式的演变...
近年来,应用开发和部署发生了一些变化.这些变化是由两方面促成的,一方面是大型单体应用被拆解为更多小型的微服务,另一方面是应用程序运行所依赖的基础架构发生了变化.理解这些变化,将使我们更好的看到使用k8 ...
- cdn搭建原理_什么叫cdn服务器?怎么部署?
在现今的网络系统时期,各类互连网手机app异军突起,而互联网出現浏览卡屏或延时的状况也越来越非常广泛,以便处理不一样的互联网情况,人们常常会构建到不一样的虚拟主机来浏览互联网,cdn服务器也是列举这种 ...
- IIS日志文件存在哪里?Windows服务器IIS日志存放位置 及 查看方法
Windows服务器IIS日志存放位置及查看方法 iis日志查看方法一:Windows默认文件夹 iis日志查看方法二:iis 管理器查看 用户每打开一次网页,iis 都会记录用户IP.访问的网页地址 ...
- Python学习日志12 - 办公自动化
Python学习日志 RBHGO的主页欢迎关注 温馨提示:创作不易,如有转载,注明出处,感谢配合~ 目录 文章目录 Python学习日志 目录 前言 进入正题 Python学习日志12课 - 办公自动 ...
- Beats:使用 Elastic Stack 记录 Python 应用日志
日志记录实际上是每个应用程序都必须具备的功能.无论你选择基于哪种技术,都需要监视应用程序的运行状况和操作.随着应用程序扩展,这变得越来越困难,你需要查看不同的文件,文件夹甚至服务器来查找所需的信息.虽 ...
最新文章
- CSW是怎样用极端化来分裂BCH社区的
- H5调用APP的方法
- vc 中对对话框的几种操作
- python基础===八大排序算法的 Python 实现
- spring boot 架构问题 时间处理 (映射,时区问题)
- Django从理论到实战(part3)--创建一个Django项目
- SAP UI5的表格里如何显示复合列
- Intellij Idea乱码解决方案都在这里了
- java如何获取文件路径_java如何获取文件路径
- jsf入门实例_JSF错误消息示例教程
- CTF密码学之SM4
- 什么是数据可视化大屏?有哪些优点
- 网络安全——ARP欺骗与突破封锁
- 北大MBA夫妇不满现有教育系统 携女隐居终南山
- 不能不用也不可乱用的标准化和归一化处理
- 从团队协作的五大障碍看团队管理该怎么做
- 图片base64转存本地url
- 如何获取QQ邮箱授权码——步骤详解
- 赵小楼《天道》《遥远的救世主》深度解析(117)分离已有的各种相,得你想要的结果
- ccsa安学网小程序_CCSA安学网题库1
热门文章
- GdiPlus[16]: IGPLinearGradientBrush 之 SetBlendBellShape、SetBlendTriangularShape
- App installation failed (A valid provisioning profile for this executable was not found)
- 20171006-构建之法:现代软件工程-阅读笔记
- mongodb数据库的启动和停止
- 使用HttpModule实现多个域名分别“绑定”到子目录
- 如何修改Window系统下PATH路径
- 几种常见的数据库连接的URL写法(包括国产数据达梦DM)
- Centos7下yum安装GlusterFS方法
- FATAL: password authentication failed for user postgres
- 【Python-3.5】绘制随机漫步图