需求

  现网有部分pop点独立于海外,无法发送日志给内网日志服务器,同时最近网内有比较重要割接,所以临时写一个脚本来展示网内日志

思路

  使用socket接收syslog数据,udp 514,数据部分格式化后写入js文档,html调用js文档来实现日志可视化

效果

  

python代码

import socket,re,os
def syslog(date):
date = date.replace('\"','\'')
pri = re.findall('\d+',date)[0]
pri = int(pri)
level = re.findall('<\d+>',date)[0]
div_class = 'debug'
if pri%8 == 0:
date = date.replace(level,'emerg ')
div_class = 'error'
elif pri%8 == 1:
date = date.replace(level,'alert ')
div_class = 'error'
elif pri%8 == 2:
date = date.replace(level,'crit ')
div_class = 'error'
elif pri%8 == 3:
date = date.replace(level,'error ')
div_class = 'error'
elif pri%8 == 4:
date = date.replace(level,'warning ')
div_class = 'warning'
elif pri%8 == 5:
date = date.replace(level,'notice ')
elif pri%8 == 6:
date = date.replace(level,'info ')
elif pri%8 == 7:
date = date.replace(level,'debug ')
return date,div_class s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
address = ('172.16.0.33',514)
s.bind(address)
while True:
date,address = s.recvfrom(10240)
date = date.decode(encoding='utf8')
date,div_class = syslog(date)
print(date)
with open ('/var/www/html/log.js','a') as f:
f.write(''' \n$('#log').prepend("<div class = '%s'>%s</div>")'''%(div_class,date.rstrip()))

前端 代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf8">
<meta http-equiv="Refresh" content="60" >
<title>syslog</title>
<script src="jquery-3.6.0.slim.min.js"></script>
<style>
*{margin:0; padding: 0;}
.debug{background-color: rgb(175, 175, 248);}
.warning{background-color:yellow;}
.error{background-color: red;}
</style>
</head>
<body>
<div id="log">
</div>
<script src="log.js">
</script>
</body>
</html>

使用python获取交换机syslog日志并使用jQuery在html上展示的更多相关文章

  1. 【Python】[技术博客] 一些使用Python编写获取手机App日志的操作

    一些使用Python编写获取手机App日志的操作 如何获取手机当前打开的App的包名 如何获取当前App进程的PID 如何查看当前App的日志 如何将日志保存到文件 如何关闭进程 如何不显示命令行窗口 ...

  2. python中的第三方日志模块logging

    基本上每个系统都有自己的日志系统,可以使自己写的,也可以是第三方的.下面来简单介绍一下python中第三方的日志模块,入手还是比较简单的,但是也很容易给自己埋雷. 下面是我参考的资料链接 入手demo ...

  3. Python入门之logging日志模块以及多进程日志

    本篇文章主要对 python logging 的介绍加深理解.更主要是 讨论在多进程环境下如何使用logging 来输出日志, 如何安全地切分日志文件. 1. logging日志模块介绍 python ...

  4. syslog之一:Linux syslog日志系统详解

    目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...

  5. Python 3.0 写日志时出现乱码

    问题描述 python 3.0启用日志, 在pycharm里打开.log文件时中文都显示乱码. 根本原因 默认日志编译用的是GBK, 而python 3.0写程序用的是UTF-8. 所以.log文件中 ...

  6. syslog日志

    Syslog协议 系统日志(Syslog)协议是在一个IP网络中转发系统日志信息的标准,它是在美国加州大学伯克利软件分布研究中心(BSD)的TCP/IP系统实施中开发的,目前已成为工业标准协议,可用它 ...

  7. 演示:配置日志发送到syslog日志服务器

    演示目标:配置网络环境中的交换机和路由器将日志发送到syslog日志服务器. 演示环境:如下图10.54所示的演示环境. 演示背景:要求部署网络中的syslog服务器,集中的收集交换机S1和路由器R1 ...

  8. Python获取时光网电影数据

    Python获取时光网电影数据 一.前言 有时候觉得电影真是人类有史以来最伟大的发明,我喜欢看电影,看电影可以让我们增长见闻,学习知识.从某种角度上而言,电影凭借自身独有的魅力大大延长了人类的&quo ...

  9. 使用shell/python获取hostname/fqdn释疑

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

随机推荐

  1. Vue报错之" [Vue warn]: Unknown custom element: <wzwzihello> - did you register the component correctly? For recursive components, make sure to provide the "name" option."

    一.报错截图 [Vue warn]: Unknown custom element: <wzwzihello> - did you register the component corre ...

  2. 浏览器视图层级中的“根”:<html>和<body>的属性研究

    做前端开发的同学都会知道,每一个UI系统(比如IOS或Android)中都会有一个view hierarchy(视图层级)的概念,即所有的可视元素(大到一个页面,小到一个button)都在一个树形结构 ...

  3. 设计模式之简单工厂SimpleFactory的实现

    internal interface Chart { void Display(); } internal class LineChart : Chart { public LineChart() { ...

  4. pydev+eclipse写python代码

    首先,下载pydev:PyDev for Eclipse - Browse /pydev at SourceForge.net (建议下载到本地,之前看其他文章时,进行了如下安装: 启动 Eclips ...

  5. python-杨辉三角形

    [题目描述]输出n(0<n)行杨辉三角形,n由用户输入. [练习要求]请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释. [输入格式]一行中输入1个整数n. [输出格式]输出n行杨辉 ...

  6. 适配手机端rpx像素

    <script src="static/js/adaptive.js"></script> <script type="text/javas ...

  7. SSRF——介绍利用(不全)

    1. SSRF介绍 SSRF(Server-side Request Forge, 服务端请求伪造). 由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务. 2. SSR ...

  8. SSM实现个人博客-day04

    项目源码免费下载:SSM实现个人博客 有问题询问vx:kht808 3.项目搭建(SSM整合) (1)创建maven工程,导入相应的依赖 <properties> <project. ...

  9. Mysql集群搭建-实操

    集群安装--准备工作 官网地址 https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-install-linux-binary.html 一.环境 ...

  10. 一些有用的工具,iftop,iotop,htop,glances

    一些有用的工具: yum install glances -y资源监控工具GLANCESglances 可以为 Unix 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:CPU 使用率 ...