热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

利用ubuntu中syslog记录外部设备日志

文章标题:利用ubuntu中syslog记录外部设备日志。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

    要求:
    利用 ubuntu 8.04 服务器版的 syslog 记录 juniper isg1000 日志,保留3个月。

    1、允许 syslog 记录外部日志
    修改 /etc/default/syslogd,把其中的 SYSLOGD="" 改为 SYSLOGD="-r"

    2、定义外部日志类型
    修改 juniper isg1000 日志定义,让其生成的日志定义为 local7,并向 ubuntu 服务器发送日志。

    3、定义日志文件
    考虑到日志文件比较多,在 /var/log 下新建 firewall 目录,用于保存日志文件。目录属性 755。
    修改 /etc/syslog.conf,在其中增加下面一行:
    local7.*
    -/var/log/firewall/firewall.log

    经过测试记录不成问题,但发现有下面几个严重问题。

    4、重复记录问题
    syslog 不光在 firewall.log 中记录,还在 /var/log 中的 syslog 和 messages 记录,由于日志很大,这下麻烦了。看看 syslog.conf 的 man,居然还有个 ! 功能,在 syslog.conf 文件中的 syslog 和 messages 定义前面加上了 !local7.*,感觉不错,syslog 不再向 syslog 和 messages 文件中记录设备日志了。

    5、文件超大问题
    syslog 记录的日志文件最大不超过2.5G,如果超过了,将停止记录。而 isg1000 4个小时左右的日志就达到这个数量了。必须设置日志轮转。在 /etc/logrotate.d 中新建 firewall 日志轮转控制文件,属性644,firewall 内如如下:

    /var/log/firewall/firewall.log {
    start 1000
    rotate 512
    maxage 100
    size 1500M
    compress
    delaycompress
    missingok

    postrotate
    /usr/bin/killall -HUP syslogd
    endscript
    }

    以上内容简单解释:
    由于日志文件需要保存3个月,且平均每天生成5个日志文件,设置最多保留512个,保留时间100天。
    文件后缀编号从1000开始,比从1开始在排序上要好看。
    文件超过1500M的时候轮转。
    为了减少存储空间占用,轮转后的日志文件需要压缩,但不是轮转后马上压缩,而是轮转下一个的时候,再压缩,以防 syslog 继续写入当前文件时候丢失数据。

    经过以上设置,感觉可以,谁知道使用几天,发现还有问题。

    6、再次解决文件超大问题
    firewall.log 文件依然是2G多,没有按照设定达到1500M的时候轮转,究竟为什么?仔细看 man logrotate ,呵呵,原来如此,logrotate 每天运行一次,等它运行的时候,firewall.log 早就达到2G了。怎么办,让它每小时运行一次试试看,把 /etc/cron.daily/logtotate 文件拷贝到 /etc/cron.hourly 中一份。效果不错,看来问题解决了。

    7、解决日志文件不到1500M就轮转、且日志文件名没有按定义规则生成问题
    经过若干天运行,发现个小小问题。若干文件不到设置的1500M就轮转了,而且文件名没有按定义方式生成,而是原始的 firewall.log.0 方式,但是它们都有共性,都是早上 6:47 生成的。让我想想,肯定是 cron 中 sysklogd 脚本搞的鬼。进入 /etc 中的各个 cron 子目录中,把下面这句或者类似的
    logs=$(syslogd-listfiles)
    加上 -s firewall.log 参数,改为
    logs=$(syslogd-listfiles -s firewall.log)
    让日志服务不再处理 firewall.log 日志。

    8、解决其它问题
    暂时没有。


推荐阅读
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 如何基于ggplot2构建相关系数矩阵热图以及一个友情故事
    本文介绍了如何在rstudio中安装ggplot2,并使用ggplot2构建相关系数矩阵热图。同时,通过一个友情故事,讲述了真爱难觅的故事背后的数据量化和皮尔逊相关系数的概念。故事中的小伙伴们在本科时参加各种考试,其中有些沉迷网络游戏,有些热爱体育,通过他们的故事,展示了不同兴趣和特长对学习和成绩的影响。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 在ubuntu服务器上安装vscode,但是目前使用的方法都无法成功。第一次安装经历:安装完anaconda后有自动安装vscode的选项,输入yes后,没有出现错误,但是在终端输 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文详细介绍了解决全栈跨域问题的方法及步骤,包括添加权限、设置Access-Control-Allow-Origin、白名单等。通过这些操作,可以实现在不同服务器上的数据访问,并解决后台报错问题。同时,还提供了解决second页面访问数据的方法。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
author-avatar
尼古拉斯Ga
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有