linux 开启独立iptables日志

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

iptables的日志(log)由syslogd纪录和管理。初始存放在 /var/log/messages里面。自动采取循环纪录(rotation)的方式记录。但是由于混在 messages中,对于管理和监视产生了不便。


由于iptables是linux的内核本身的功能,由dmesg或syslogd的facility结合内核管理。iptables的日志的初始值是[warn(=4)], 需要修改 rsyslog.conf。


注:系统日志配置在CentOS5上叫syslog,而在CentOS6上叫rsyslog,叫增强版的syslog,CentOS5上的配置文件在/etc/syslog.conf下,而CentOS6在/etc/rsyslog.conf下。


1、修改/etc/rsyslog.conf 

1
*.info;mail.none;authpriv.none; cron .none                 /var/log/messages

修改为

1
*.info;*.!notice;mail.none;authpriv.none; cron .none                 /var/log/messages

同时添加

1
kern.=notice                                             /var/log/iptables .log

建议改为notice,将iptables产生的日志放在 /var/log/iptables.log


2、iptablse添加日志选项

1
iptables -t nat -I POSTROUTING -o eth0 -j LOG --log-level notice --log-prefix  "iptables "

--log-level 为日志级别

--log-prefix 添加日志前缀便于分析处理 


2、让日志滚动

在/etc/logrotate.d/syslog中 添加 

/var/log/iptables.log,默认使用的是系统的轮替规则,当然也可以根据自己的需要去修改


3、用自己的轮替规则

(1)在目录/etc/logrotate.d/下创建一个日志转储的配置文件(名字可以自己定义,只要在该目录下就会被执行),比如iptables

(2)配置文件iptables的内容如下

1
2
3
4
5
6
7
/var/log/iptables .log {
daily
dateext
copytruncate
nocompress
rotate 15
}

第一行的左大括号之前的/var/log/iptables.log 指出了要转储的日志文件的具体位置和文件名;

daily:按天去转储;

dateext:表示转储后的日志文件会附加上日期信息

copytruncate 用于还在打开中的日志文件,把当前日志备份并截断;

nocompress 不要对转储的日志压缩

rotate 15 保留多少个转储之后的日志文件;

(3)确保iptables的权限为:-rw-r--r--



A 七种信息等级

   1)info

   2)notice

   3)warning或warn

   4)err或error

   5)crit

   6)alert

   7)emerg或panic:导致系统几乎要死机

B 信息等级的指定方式

   1). xxx: 表示大于xxx级别的信息

   2).=xxx:表示等于xxx级别的信息

   3).!xxx:表示在xxx之外的等级的信息


附加:

更改linux rsyslog 日期格式

默认时间格式:Dec 16 09:52:01,看起来不习惯,修改成 2014-12-16 09:52:01

1
2
3
4
5
6
7
vim  /etc/rsyslog .conf
# 定义自己的本土化的时间格式
$template myformat, "%$NOW% %TIMESTAMP:8:15% %hostname% %syslogtag% %msg%\n"
# Use default timestamp format
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
# 使用自定义的格式
$ActionFileDefaultTemplate myformat



本文转自 baby神 51CTO博客,原文链接:http://blog.51cto.com/babyshen/1966077,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10天前
|
监控 Linux 开发者
如何在 Linux 中优雅的使用 head 命令,用来看日志简直溜的不行
`head` 命令是 Linux 系统中一个非常实用的工具,用于快速查看文件的开头部分内容。本文介绍了 `head` 命令的基本用法、高级用法、实际应用案例及注意事项,帮助用户高效处理文件和日志,提升工作效率。
22 7
|
2月前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
226 73
|
1月前
|
监控 网络协议 安全
Linux系统日志管理
Linux系统日志管理
44 3
|
1月前
|
运维 网络协议 安全
Linux安全运维--一篇文章全部搞懂iptables
Linux安全运维--一篇文章全部搞懂iptables
42 1
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
55 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
38 0
|
3月前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
128 1
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
3月前
|
域名解析 网络协议 Linux
在Linux中,iptables有哪相关的命令?
在Linux中,iptables有哪相关的命令?
|
3月前
|
Ubuntu Linux 测试技术
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
在Linux中,已知 apache 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张现在要求只能保留最近7天的访问日志,请问如何解决?
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?