##############################################
##############第十单元#########################
##############################################

1.rsyslogd服务(syslogd加强版)
rsyslogd服务功能是用来管理系统日志
功能:
1)直接将日志写入到数据库
2)日志队列(内存队列和磁盘队列)
3)模板机制,可以得到多种输出格式
4)插件式结构,多种多样的输入、输出模块

2.服务配置
/etc/rsyslog.conf       ###服务配置文件
vim /etc/rsyslog.conf     ###服务配置

格式:service.loglevel    logfile
              *.*                  /var/log/all.log      ##所有服务的所有级别的所有日志都放到/var/log/all.log中

systemctl restart rsyslog    ###重新加载rsyslog
man 5 rsyslog.conf             ###查看rsyslog.conf格式

3.日志类型:
auth:pam产生的日志
authpriv:ssh,ftp等登录验证信息
cron:时间任务相关
kern:内核
lpr:打印
mail:邮件
news:新闻组
user:用户程序产生的相关信息
uucp:主机之间通信信息

4.日志级别:
debug:调试信息,日志信息最多
info:一般信息日志
notice:最具重要性的普通条件信息
warning:警告级别
err:错误级别,阻止某个功能模块不能正常工作
crit:严重级别阻止整个系统或者软件不能正常工作
alert:需要立刻修改的信息
emerg:内核崩溃等严重信息
none:什么都不记录
        
###############日志同步#####################
1.
在日志接收方
vim /etc/rsyslog.conf
$ModLoad imudp        ###加载日志接收功能模块
$UDPServerRun 514    ###加载日志接收端口

在日志发送方
*.*    @日志接收方ip

做完配置重启rsyslogd服务
systemctl stop firewalld    ###关闭接受方的火墙

2.
rsyslog作为传统系统日志服务,把收集到的日志都记录在/var/log/目录中
常见的日志文件如下:
/var/log/message    ##绝大多数系统日志都记录在这里
/var/log/secure        ##所有跟安全、认证授权都记录在这里
/var/log/maillog    ##邮件服务日志
/var/log/cron        ##计划任务日志
/var/log/boot.log    ##系统启动的相关任务

##############日志分析###################
systemd-journal是一个改进型日志管理服务,可收集来自内核、系统早期启动阶段的日志、系统守护进程启动和运行中的标准输出和错误信息。

journalctl        ###日志分析命令
journalctl -f        ##监视系统日志变化
journalctl -b        ##显示系统启动以后的日志
journalctl -n 5        ##查看最近生成的5条日志
journalctl -p err    ##查看系统报错信息
journalctl --since=22:00:00 --until=22:00:01 ###查看某个时间段生成的日志
journalctl -o verbose    ###查看日志能够使用的详细条件参数信息
解释:    
        _UID=        ##进程uid
        _PID=        ##进程id
        _GID=        ##进程gid
        _HOSTNAME=    ##进程所在主机
        _SYSTEMD_UNIT=    ##服务名称
        _COMM=        ##命令名称

/etc/systemd/journal.conf    ##配置文件


##############日志监控工具的设定################
默认情况下journalctl是无法看到关机之间产生的日志的,如果想检测到这类日志设置如下:
[root@serverX ~]#mkdir /var/log/journal
[root@serverX ~]#chown root:systemd-journal /var/log/journal  ##设置目录所有者为root,所属组为systemd-journal
[root@serverX ~]#chmod 2755 /var/log/journal    ##g+s,以所属组的身份执行
Send the USR1 signal to the systemd-journald or reboot serverX.
[root@serverX ~]#killall -USR1 systemd-journald   ##因为systemctl-journal是static状态,依赖其他程序启动
[root@serverX ~]#ls /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f
        ##4513ad...55ff为目录,里面由system.journal文件

ll -d  /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f  ##查看权限
du -sh     /var/log/journal/4513ad59a3b442ffa4b7ea88343fa55f  ##查看大小


##################如何同步系统时间##################
1.确定时间源地址
172.25.254.254
2.确定客户主机使用的时间同步服务chronyd.service
   rpm -qa|grep chrony  ##查询时间同步服务是否安装
3.在chronyd.service服务中加载时间源地址
vim /etc/chrony.conf
server    172.25.254.254 iburst          ##172.25.254.254时间源地址
systemctl restart chronyd.service    ##重起时间同步服务
4.
systemctl stop firewalld.service    ##关闭源的防火墙
在源位置修改:vim /etc/chrony.conf
      22行 allow ip        ##允许这个ip同步时间
      29行 local stratum 10 ##取消注释

systemctl restart chronyd.service


chronyc sources -v    ##查看时间同步源
chronyc sourcestats -v  ##查看时间同步源状态


#######################日期时间的修改###################
timedatectl命令用来查询修改系统时钟和设置,可以修改日期、时间、时区,或者与远程NTP服务器自动系统时钟同步。
timedatectl list-timezones         ##列出时区
timedatectl set-timezone “Asia/Shanghai” ##设定时区为Asia/Shanghai
timedatectl set-time HH:mm:ss         ##设定系统时间
timedatectl set-time YY-MM-DD         ##设定年与日
eg:timedatectl set-time '2016—7-22 11:11:11'  ##同时设置年-月-日 时:分:秒,需要加'  '