Linux下的日志采集及远程同步

 

1、日志类型
auth 用户登陆日志(pam程序产生日志)
authpriv 服务认证日志(sshd认证)
kern 内核日志
cron 定时任务认证
lpr 打印机日志
mail 邮件日志
news 新闻
user 用户相关程序日志
local 1-7 用户自定义日志

2、日志级别
debug 系统调试信息
info 常规信息
warning 警告信息
err 报错(阻止某个功能的正常工作,级别低)
crit 报错(阻止整个软件或整个系统的正常工作,级别高)
alert 需要立即修改的信息
emerg 内核崩溃
none 不采集任何日志信息

格式:*.* filename
日志类型.日志级别 日志存放文件

如:auth.debug /var/log/westos表示用户登陆日志的系统调试信息存放在/var/log/westos中
*.* /var/log/log.all表示所有日志类型的所有级别放在/var/log/log.all内

3、系统常用日志
/var/log/message 所有日志的常规信息,不包含邮件、服务认证、定时任务
/var/log/maillog 邮件日志
/var/log/secure 服务认证日志
/var/log/cron 定时任务日志

4、 日志操作
/etc/rsyslog.conf 系统日志采集服务rsyslog的配置文件
rsyslog的任务是将内存中的日志内容采集到硬盘指定位置

(1) 清空 >
> /var/log/messages 清空/var/log/messages日志内容
(2)查看 cat
cat /var/log/messages 查看/var/log/messages日志内容
(3)停止
systemctl stop rsyslog.service
(4)开启
systemctl start rsyslog.service
(4)重置
systemctl restart rsyslog.service

Linux下的日志采集及远程同步_第1张图片

练习:
1.vim /etc/rsyslog.conf 设置采集日志的配置文件(写入*.* /var/log/westos,将所有日志类型的所有级别放在/var/
log/westos内)
2.cat /var/log/westos 查看目录
3. > /var/log/messages 清空messages
4.systemctl restart rsyslog.service 重置配置文件

(虚拟机2连接)

Linux下的日志采集及远程同步_第2张图片
5.cat /var/log/messages 查看messages(配置文件中messages的设置
File: /home/kiosk/Desktop/class 0414 Page 2 of 3
*.info;mail.none;authpriv.none;cron.none /var/log/messages),无sshd连接记录。
6.cat /var/log/westos 有sshd连接记录

5、日志远程同步
为了查看多台主机日志,方便管理多台主机
日志发送方
1.vim /etc/rsyslog.conf
添加*.* @172.24.254.167(日志接受方地址)
2.systemctl restart rsyslog 重置配置文件

日志接受方
1. vim /etc/rsyslog.conf
对UDP协议内容进行设置(14行表示接口,15行表示接受日志的插件)
(15 $ModLoad imudp
16 $UDPServerRun 514),将14、15行的注释取消

(补充:UDP协议不用提前确保对方是否能受到,速度快;TCP协议需要提前确保对方是否能受到,速度慢,但是稳定)
2.systemctl restart rsyslog 重置配置文件
3. systemctl stop firewalld 关闭防火墙
4. systemctl disable firewalld 关闭防火墙

Linux下的日志采集及远程同步_第3张图片

如图,cat /var/log/messages 可以同时查看node1和node2的日志

(修改主机名:hostnamectl set-hostname node1.example.com 即修改主机名为node1(节点1))

6、日志采集格式
vim /etc/rsyslog.conf 编辑配置文件
($template 格式名称,"日志采集格式")

Linux下的日志采集及远程同步_第4张图片
$template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
其中:
%timegenerated% 表示日志生成时间
%FROMHOST-IP% 表示日志来源主机IP
%syslogtag% 表示日志生成程序
%msg% 表示日志内容
\n 表示换行

7、日志查看工具journalctl

作用是查看分析本机日志,关机后内存释放,第二次开机查看时,上次的日志会消失
journalctl -n 3 查看最新3条日志
journalctl --since time1 --until time2 查看time1到time2的日志(时间格式参照系统日志显示格式)
journalctl -p err 系统报错日志
journalctl -f 监控日志,Ctrl+c结束监控
journalctl -o verbose 查看日志详细参数

Linux下的日志采集及远程同步_第5张图片

Linux下的日志采集及远程同步_第6张图片

8、对systemd-journald管理
默认此程序只负责查看而不对日志进行保存和采集,那么在关机后开机时,对日志进行查看,只能看到开机后的日志,
系统之前的日志因为保存在内存中,所以关机后内存释放就被清空了。

为了让journalctl将日志采集到硬盘中,可以做以下操作:
1.mkdir /var/log/journal 建立/var/log/journal/
2.ls -ld /var/log/journal/ 查看权限
3.chown root.systemd-journald /var/log/journal/ 改目录所属组
4.chmod g+s /var/log/journal/ 粘制位,设置在目录中创建的文件都自动归属到目录所在组
5.killall -1 systemd-journald 刷新
6.journalctl -n 3
7.date 看系统时间
File: /home/kiosk/Desktop/class 0414 Page 3 of 3
8.reboot 重启
9.journalctl 查看日志,可以看到关机前的日志

Linux下的日志采集及远程同步_第7张图片

Linux下的日志采集及远程同步_第8张图片

10、时间设置
UTC时间+时区差=本地时间
如:UTC+(+0800)=北京时间 (+0800表示东八区)
1.timedatectl list-timezones 显示时区列表

Linux下的日志采集及远程同步_第9张图片
2.timedatectl set-timezone Asia/Shanghai 设置时区为亚洲上海
3.timedatectl 显示时间列表

Linux下的日志采集及远程同步_第10张图片

4.date 显示当前时间
5.timedatectl set-local-rtc 0 使用UTC 时间
6.vim /etc/adjtime 查看使用时间
7.timedatectl set-local-rtc 1 使用本机时间
8.vim /etc/adjtime 查看使用时间
9.timedatectl set-time "2018-07-17 07:07:07" 设置本机时间

Linux下的日志采集及远程同步_第11张图片

 

你可能感兴趣的:(Linux)