centos rsyslog配置,centos 修改日期

很多朋友对于centos rsyslog配置和centos 修改日期不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!

Rsyslog 二 日志写入文件

(一)测试环境

操作系统: CentOS 7 x86_64

Rsyslog版本: rsyslogd 8.24.0-38.el7

RsyslogServer: 192.168.122.166

RsyslogServerLogDir:/data/rsyslog/

Firewalld: 514/udp

RsyslogClient1: auto address

RsyslogClient2: auto address

(二)测试配置1-接收日志

配置模板,按照主机IP和时间自动创建目录,例如:/data/syslog/%FROMHOST-IP%/%FROMHOST-IP%_%$YEAR%_%$MONTH%_%$DAY%.log

1、RsyslogServer配置

2、RsyslogClient配置

(三)测试配置2-自动清除日志

定时清理180天前的日志和目录(使用shell脚本+定时任务)

1、创建一个用于测试的脚本

2、创建一个自动清理的脚本

(四)测试配置3-自定义日志格式

自定义日志格式,时间、主机IP、日志tag、日志内容

输出效果

imudp May 31 00:10:50 192.168.122.168 info-6 login: pam_unix(login:session): session closed for user root

imudp May 31 00:10:50 192.168.122.168 info-6 systemd-logind: Removed session 729.

imudp May 31 00:10:50 192.168.122.168 info-6 systemd: Removed slice User Slice of root.

imudp May 31 00:10:51 192.168.122.168 info-6 systemd: serial-getty@ttyS0.service holdoff time over, scheduling restart.

imudp May 31 00:10:51 192.168.122.168 info-6 systemd: Stopped Serial Getty on ttyS0.

imudp May 31 00:10:51 192.168.122.168 info-6 systemd: Started Serial Getty on ttyS0.

Centos下日志管理

程序员在排查问题时,记录和查看日志是关键。日志对于系统犹如化验单,程序员则是医生,通过化验单找到问题所在。尤其在系统出现故障时,一份详细的日志对于快速定位问题至关重要。然而,相对于开发系统日志的重视,对操作系统日志的重视程度普遍较低,导致在排查系统问题时,常常找不到合适的日志,事倍功半。

本文以Centos 7/8系统为例,介绍Centos下的日志分布和管理。

系统日志主要包括:/var/log/wtmp、/var/log/httpd/*、/var/log/samba/*等。特别需要注意的是utmpdump/var/log/wtmp命令,可以用于查看可疑IP登录账号。

Centos下主要有三个日志服务:systemd-journald、rsyslog和logrotate。其中,systemd-journald负责记录系统启动和服务信息,rsyslog负责收集登录和网络服务等信息,logrotate则负责日志轮转。

systemd-journald默认将日志记录在内存中,可配置长久保存或发送给rsyslog保存。查看启动情况的命令为journalctl,该命令可以查看系统日志、服务日志、内核日志等。

logger命令可用于主动记录系统日志,包括向远程发送syslog日志。具体命令帮助查看。

rsyslog负责将多个服务的日志按照配置的等级、记录到的具体日志文件进行管理。配置核心内容为:【服务-等级--记录到日志文件】。例如,任何>info基本的日志都记录到/var/log/messages中,但mail、authpriv、cron这三个服务的日志不记录在这里。

logrotate用于日志轮转,可按天自动运行程序。通过logrotate,可以保存最近3天的日志,超过3天的日志删除,或者只保存500MB的日志,超过则删除。logrotate的配置文件为/etc/logrotate.conf。

通过logwatch等工具可以对日志进行分析汇总,发送mail到root上。有兴趣的朋友可以继续探索。

安装配置Syslog

一、配置安装环境

linux centOS 7.4

配置网络,具体见

二、安装配置rsyslog

1)安装rsyslog

[root@localhost~]#yum-y install rsyslog

2)更新下系统的其他包

[root@localhost~]#yum update

(说明:

配置文件/etc/rsyslog.conf大概分为三个部分

####MODULES####

这个部分是针对接收配置的,主要是指定接收日志的协议和端口。若要配置日志服务器,则需要将相应的配置项去掉注释。

####GLOBAL DIRECTIVES####

这个部分主要用来配置模板,模板的作用是指定你希望在日志文件中保存的日志格式。

#### RULES####

这一部分是规则文件,每行配置分两个字段,第一字段是说明要记录哪类日志(包括消息类型和等级),第二字段是说明日志存放位置(action),可以是本地文件,也可以是远程服务器。)

3)[root@localhost~]#vi/etc/rsyslog.conf

4):set nu显示行号

5)允许rsyslog后台进程在TCP/UDP协议的514端口上接收日志信息,rsyslog后台进程是可以同时监听TCP/UDP连接的。

15,16,19,20前面的#去掉

6)在#### GLOBAL DIRECTIVES####前添加下面的内容:

#将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中

$template RemoteLogs,"/var/log/devicelog/%HOSTNAME%/%PROGRAMNAME%.log"

*.*?RemoteLogs

&~

#排除本地主机IP日志记录,只记录远程主机日志

fromhost-ip,!isequal,"127.0.0.1"

?Remote

&~

(说明:

第一行$template定义模板名称RemoteLogs(“RemoteLogs”可以为其它名字),日志存入到/var/log/devicelog路径下。而日志文件名则依据发送远程日志的机器名及应用程序名来定义。

第二行*.* ?RemoteLogs暗含运行用模板RemoteLogs于所有的接收日志。

第三行&~则告诉rsyslog后台进程停止进一步去处理日志信息,即不对它们进行本地化写入,它是代表一个重定向规则。如果没有这一行,则意味着接收到的日志会写入两次,一次如前两行写的方式写,第二次则以本地日志记录的方式写入。运行这个规则的另一个结论则是日志服务器自己的日志信息只会写入到依照机器主机名命名的文件中。)

7)重启下服务,并加入开机启动

[root@localhost~]#systemctl restart rsyslog

[root@localhost~]#systemctl enable rsyslog

8)验证下端口

[root@localhost~]#netstat-antup| grep 514

9)配置防火墙规则

[root@localhost~]#firewall-cmd--permanent--zone=public--add-port=514/tcp

[root@localhost~]#firewall-cmd--permanent--zone=public--add-port=514/udp

[root@localhost~]#firewall-cmd--reload

10)将要连接syslog的设备设置好syslog环境的ip和端口,然后在本机查看日志

[root@localhost~]#mkdir/var/log/devicelog/

[root@localhost~]#cd/var/log/devicelog/

阅读剩余
THE END