AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 655456
Accepted
Security_Pete
Security_Pete
Asked: 2014-12-31 10:49:01 +0800 CST2014-12-31 10:49:01 +0800 CST 2014-12-31 10:49:01 +0800 CST

rsyslog - 配置帮助 - logrotate 和压缩

  • 772

我是 Linux 和 rsyslog 的新手。我已经使用日志文件很多年了,但我从来不需要设置一个。此时,我有一些概念验证设备指向我的 Debain Linux 服务器。我有 syslog 消息进入并写入单个文件:/var/log/prd/fwlog 我只关心 3 种设备类型 - 交换机、路由器和防火墙。(所有 cisco)我的 rsyslog.conf 相当简单,我只修改了基本配置,注释掉了我不喜欢/不需要的东西?

剪掉注释掉的东西。

$ModLoad immark  # provides --MARK-- message capability    

$ModLoad imudp
$UDPServerRun 514

$FileOwner root
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022

$WorkDirectory /var/spool/rsyslog

$IncludeConfig /etc/rsyslog.d/*.conf

*.*          /var/log/prd/fwlog

最后我的问题!

  1. 我想在带有名为“rslog-YYYY-MM-DD”的日期戳的日志中旋转和分离路由器和交换机,还将防火墙放入带有名为“fwlog-YYYY-MM-DD”的日期戳的日志中

  2. 我想在 48 小时后压缩(gzip?)日志。

我需要在我的配置中添加什么?

我想我在 /etc/logrotate.d/rsyslog 中将目录和文件添加到了我的 rsyslog

/var/log/syslog
{
        rotate 7
        daily
        missingok
        notifempty
        delaycompress
        compress
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

/var/log/prd/fwlog*
/var/log/prd/rslog*

{
        rotate 4
        weekly
        missingok
        notifempty
        compress
        delaycompress
        sharedscripts
        postrotate
                invoke-rc.d rsyslog rotate > /dev/null
        endscript
}

提前感谢您的帮助!

cisco
  • 2 2 个回答
  • 12733 Views

2 个回答

  • Voted
  1. Best Answer
    Aaron Copley
    2014-12-31T11:48:22+08:002014-12-31T11:48:22+08:00

    我想在带有名为“rslog-YYYY-MM-DD”的日期戳的日志中旋转和分离路由器和交换机,还将防火墙放入带有名为“fwlog-YYYY-MM-DD”的日期戳的日志中

    首先,您需要将防火墙和交换机与 rsyslog 中的过滤分开。具体如何执行此操作取决于您正在运行的 rsyslog 版本。随着时间的推移,他们已经改变了相当多的配置语法。我下面的笔记基于 Red Hat 附带的旧版本 Rsyslog v3。您将需要根据您的版本的文档来验证这一点。

    对于基于属性的过滤器,它看起来像;

    :fromhost-ip,isequal,"192.168.1.1"              /var/log/prd/fwlog
    &~
    :fromhost-ip,isequal,"192.168.1.254"            /var/log/prd/rslog
    &~
    

    下一部分是您想要的文件名。为此,您将过滤与 rsyslog 的模板相结合,为您的日志生成动态文件名。

    $template Firewall,"/var/log/prd/fwlog-%$YEAR%-%$MONTH%-%$DAY%"
    $template Switch,"/var/log/prd/rslog-%$YEAR%-%$MONTH%-%$DAY%"
    
    :fromhost-ip,isequal,"192.168.1.1"              -?Firewall
    &~
    :fromhost-ip,isequal,"192.168.1.254"            -?Switch
    &~
    

    我想在 48 小时后压缩(gzip?)日志。

    最后一部分,压缩,将依赖于压缩文件的每日 cron 作业。(其中 $date 是 $today - 2。) date 命令已经具有 YYYY-MM-DD 的内置格式,所以我们将使用它。( %F)

    gzip /var/log/prd/*-$(date --date='2 days ago' +%F)
    
    • 5
  2. dmourati
    2014-12-31T11:30:14+08:002014-12-31T11:30:14+08:00

    首先,您应该更多地了解 syslog 设施和严重性。这些代表您*.*在 conf 中添加的两个值。

    http://wiki.gentoo.org/wiki/Rsyslog#Facility

    http://wiki.gentoo.org/wiki/Rsyslog#Severity

    如果您可以将发送守护进程设置为对防火墙的路由器/交换机使用不同的设施和/或严重性,您应该能够轻松地在中央日志服务器上创建过滤规则,以便将日志分离到不同的文件中。已指定。例如,将路由器/交换机作为 local1 发送,将防火墙作为 local2 发送。

    除了这些设置,您还可以通过过滤源 IP 地址将交换机日志与防火墙日志分开。rsyslog属性称为fromhost-ip。

    设置入站 rsyslog 后,您需要微调 logrotate 设置。我认为对于初学者来说,两个文件路径都应该在一行上。在两天的日志之后进行压缩将需要一些额外的工作。看:

    https://stackoverflow.com/questions/4495476/logrotate-compression-files-modified-x-number-of-days

    您可以使用 logrotate -f /etc/logrotate.conf /etc/logrotate.d/rsyslog 进行测试

    有关更多详细信息,请参阅:

    http://articles.slicehost.com/2010/6/30/understanding-logrotate-on-debian-part-1

    • 2

相关问题

  • 为 Cisco ASA 5510 上的端口 443/80 创建 NAT 规则和安全策略

  • 识别连接到交换机的机器

  • Cisco WS-C6509-E Arp 缓存损坏问题?

  • 广播 SSID 对客户端体验有何影响?

  • DHCP/网络问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve