会计考友 发表于 2012-8-4 12:16:06

红旗认证辅导:用ubuntu中syslog记录外部设备日志

要求:
  操作 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、解决其它问题
  且则没有。
页: [1]
查看完整版本: 红旗认证辅导:用ubuntu中syslog记录外部设备日志