第八周作业

1. 总结日志分类, 优先级别。图文并茂解释应用如何将日志发到rsyslog,并写到目标。

facility:设施,从功能或程序上对日志进行归类:

#内置分类

auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user(default), uucp, syslog

#自定义的分类

local0-local7

Priority 优先级别,从低到高排序:

debug,info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)

应用如何将日志发到rsyslog,并写到目标:

启用网络日志服务,打开对外接收日志的端口,udp监听端口514,把应用上发生的所有info级别及以上的设施都发送到日志服务器上,514收到后就会写到/var/log/syslog文件中

2.完成功能,sshd应用将日志写到rsyslog的local6分类,过滤所有级别,写入到/var/log/ssh.log。

修改sshd服务的配置
[20:06:03 root@rocky88 ~]vim /etc/ssh/sshd_config
SyslogFacility LOCAL6

[20:07:01 root@rocky88 ~]systemctl restart sshd

修改rsyslog的配置
[20:10:02 root@rocky88 ~]vim /etc/rsyslog.conf
local6.*     /var/log/ssh.log

[20:12:31 root@rocky88 ~]systemctl restart rsyslog

logger测试
[20:15:12 root@rocky88 ~]logger -p local6.info "hello sshd"
[20:16:49 root@rocky88 ~]tail /var/log/ssh.log
Dec 16 20:14:02 rocky88 sshd[25937]: Accepted password for root from 192.168.31.175 port 51350 ssh2
Dec 16 20:15:23 rocky88 root[26004]: hello sshd

3. 完成功能,将3个主机(要求主机名为ip)的ssh日志,通过rsyslog服务将ssh日志写入到集中的主机上的rsyslog服务,写入到/var/log/all-ssh.log文件

首先要在日志服务器上打开对外接收日志的端口
[root@192.168.31.179 ~]vim /etc/rsyslog.conf
# provides UDP syslog reception
module(load="imudp")
input(type="imudp" port="514")

重启服务
[root@192.168.31.179 ~]systemctl restart rsyslog.service

可以看到udp监听端口514
[root@192.168.31.179 ~]ss -nul
State        Recv-Q       Send-Q                                Local Address:Port             Peer Address:Port      Process       
UNCONN       0            0                                     127.0.0.53%lo:53                    0.0.0.0:*                       
UNCONN       0            0                              192.168.31.179%ens33:68                    0.0.0.0:*                       
UNCONN       0            0                                           0.0.0.0:514                   0.0.0.0:*                       
UNCONN       0            0                                              [::]:514                      [::]:*                       
UNCONN       0            0                  [fe80::20c:29ff:fe93:2339]%ens33:546                      [::]:*            

客户端1配置:
[root@192.168.31.163 ~]vim /etc/ssh/sshd_config
SyslogFacility LOCAL6

[root@192.168.31.163 ~]systemctl restart sshd    

[root@192.168.31.163 ~]vim /etc/rsyslog.conf
# Don't log private authentication messages!
local6.info;mail.none;authpriv.none;cron.none                /var/log/all-ssh.log
local6.info                                                  @192.168.31.179:514   

[root@192.168.31.163 ~]systemctl restart rsyslog.service    

客户端2配置:
[root@192.168.31.55 ~]vim /etc/ssh/sshd_config
SyslogFacility LOCAL6

[root@192.168.31.55 ~]systemctl restart sshd    

[root@192.168.31.55 ~]vim /etc/rsyslog.conf
# Don't log private authentication messages!
local6.info;mail.none;authpriv.none;cron.none                /var/log/all-ssh.log
local6.info                                                  @192.168.31.179:514   

[root@192.168.31.55 ~]systemctl restart rsyslog.service    


可以在客户端上触发生成日志来测试一下
[root@192.168.31.55 ~]#logger "This is test log from 192.168.31.55"

此时,在日志服务器上就能看到两台客户端发送过来的日志了
[root@192.168.31.179 ~]tail -f /var/log/all-ssh.log
      

4. 总结/var/log/目录下常用日志文件作用。

  • /var/log/secure,/var/log/auth.log:系统安全日志,文本格式,应周期性分析
  • /var/log/btmp:当前系统上,用户的失败尝试登录相关的日志信息,二进制格式,lastb命令进行 查看
  • /var/log/wtmp:当前系统上,用户正常登录系统的相关日志信息,二进制格式,last命令可以查看
  • /var/log/lastlog:每一个用户最近一次的登录信息,二进制格式,lastlog命令可以查看
  • /var/log/dmesg:CentOS7 之前版本系统引导过程中的日志信息,文本格式,开机后的硬件变化 将不再记录,也可以通过专用命令
    dmesg查看,可持续记录硬件变化的情况
  • /var/log/boot.log:系统服务启动的相关信息,文本格式,Ubuntu无此文件
  • /var/log/messages(红帽系统),/var/log/syslog (Ubuntu) :系统中大部分的信息
  • /var/log/anaconda:anaconda的日志,Ubuntu无此文件

5. 总结journalctl命令的选项及示例

日志管理工具 journalctl

journalctl命令格式:

  • journalctl [OPTIONS...] [MATCHES...]

选项说明:

  • --no-full, --full, -l  
    如果字段内容超长则以省略号(...)截断以适应列宽。   默认显示完整的字段内容(超长的部分换行显示或者被分页工具截断)。
    老旧的 -l/--full 选项 仅用于撤销已有的 --no-full 选项,除此之外没有其他用处。
  • -a, --all  
    完整显示所有字段内容, 即使其中包含不可打印字符或者字段内容超长
  • -f, --follow  
    只显示最新的日志项,并且不断显示新生成的日志项。 此选项隐含了 -n 选项。
  • -e, --pager-end  
    在分页工具内立即跳转到日志的尾部。 此选项隐含了 -n1000,以确保分页工具不必缓存太多的日志行。 不过这个隐含的行数可以被明确设置的 -n  选项覆盖。 注意,此选项仅可用于 less(1) 分页器。
  • -n, --lines=  
    限制显示最新的日志行数。 --pager-end 与 --follow 隐含了此选项。  
    此选项的参数:若为正整数则表示最大行数; 若为 "all" 则表示不限制行数;若不设参数则表示默认值10行。
  • --no-tail  
    显示所有日志行, 也就是用于撤销已有的 --lines= 选项(即使与 -f 连用)。
  • -r, --reverse  
    反转日志行的输出顺序, 也就是最先显示最新的日志。
  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑哈哈666

您的鼓励是我创作的源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值