配置rsyslog日志服务.note

noteId: WEB3a5c6be4d991b19f7bf2930847fa36ab · 原始路径:/ALL/Linux - A模块/服务配置/日志服务(rsyslog)/配置rsyslog日志服务.note · 图片:18 · 附件待处理:0

 
 
一、配置 rsyslog日志接收:
 
 
1、配置服务端:
apt install -y rsyslog
 
(1)开启TCP协议:
udp 和 tcp 协议可以同时开启
vim /etc/rsyslog.conf
 
 
(2)设置 日志存储路径:
 
写法一:(静态指定)
手动指定静态文件名称
mkdir -p /var/log/apache2/
vim /etc/rsyslog.conf
# 添加 if 语句,如果接收的日志中,有 programname 等于 apache2,就将其保存到指定路径:
## 这里匹配的是客户 /usr/bin/logger -t apache2 -p local6.info 中 -t 选项定义的内容
或者:
 
写法二:(动态生成)
根据客户端IP来动态生成文件名称
mkdir -p /var/log/apache2/
vim /etc/rsyslog.conf
或者:
 
# 添加 if 语句,如果接收的日志中,有 programname 等于 apache2,就将其保存到指定路径:
## 这里匹配的是客户 /usr/bin/logger -t apache2 -p local6.info 中 -t 选项定义的内容
## dynafile 调用上面定义的 template
## %fromhost-ip% 变量表示客户的IP
 
 
2、配置客户端(apache2 输出日志到 rsyslog):
 
(1)定义日志使用 logger转发:
vim /etc/apache2/apache2.conf
 
 
(2)设置将日志发送给 rsyslog:
@@ 表示使用 tcp 协议
@ 表示使用 udp 协议
apt install -y rsyslog
vim /etc/rsyslog.conf
# 添加一行:
## 客户端不需要开启rsyslog的udp或者tcp端口
systemctl restart rsyslog
 
 
 
·测试:
 
 
二、配置日志轮转:
 
·(注意)日志轮转的目录和文件不能是777权限,最高设置为 755,否则会报错,轮转失败。
 
 
1、配置 日志轮转:
# 复制一个原有的修改内容:
cd /etc/logrotate.d
cp rsyslog apache2
vim apache2
原本内容:
 
 
修改后:
新增了一个 create 0644 root adm(不写也可以)
需要是 *.log ,如果是 *的话,被轮转后的日志也可能会被轮转
 
2、配置 执行 logrorateweb 命令手动轮转:
# 编写一个bash脚本放到 /usr/bin 目录下,并给予执行权限即可
touch /usr/bin/logrorateweb
chmod -R 777 /usr/bin/logrorateweb
vim /usr/bin/logrorateweb
配置完成后,执行 logrorateweb 等同于执行 logrotate -vf /etc/logrotate.d/apache2
 
·测试:
执行 logrotate -vf /etc/logrotate.d/apache2 命令手动轮转
因为配置了最多保存三个,所以多的会被自动删除
现有的日志会被轮转到 1日志中
1 日志会被轮转到 2日志中,以此类推
 
轮转第一次:
 
轮转第二次:
 
轮转第三次:
 
轮转第四次:(因为配置了最多轮转三次,所以仅会保留 1、2、3 轮转的日志,超出的会被自动删除)
 
 
 
 
 
三、其它操作:
 
1、修改默认系统日志路径:
mkdir -p /var/test
chmod -R 777 /var/test
vim /etc/rsyslog.conf