linux中的日志文件 日志的采集,日志远程同步 时间的同步 (时间源服务器) | rsyslog,journald

 hostnamectl set-hostname name                ##修改hostname主机名###通常修改为node1.example.com的形式

                                                                         ###在企业里面通常叫结点而不 叫主机

ps aux | grep  名称(关键字)                    ##常用的查看某服务的进程

系统默认普通用户不能查看日志

1,
rsyslog日志采集工具

注意:日志是在内存的,rsyslog是把他放在硬盘里面

vim /etc/rsyslog.conf     ##配置日志采集工具

日志类型.日志级别

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

                local7.*                                                /var/log/boot.log

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

auth.debug      /var/log/linux##这个是指把系统的 用户系统日志的 系统调试信息
                ##保存在这个文件内,这就是用户自定义的文件
*.*         /var/log/log.all###所有日志类型的所有级别都保存在这个文件

mail.none   是不包括mail的意思


系统常用日志
/var/log/messages ##所有日志级别的常规信息(不包含邮件,服务认证,定时任务等)
/var/log/mail      ##邮件日志##这个的查看和上面这些的配置文件的修改都可以在
            ##/etc/rsyslog.conf里面查看
/var/log/secure        ##服务认证日志

/var/log/cron        ##定时任务日志


自定义位置
*.info;mail.none;authpriv.none;cron.none                /var/log/messages##系统默认

*.*                                                    /var/log/westos##自定义位置在westos

            ####vim /var/log/messages是看不见的sshd认证日志,例如登陆ip等等,因为这里面authpriv的内型是none,

但是/var/log/westos是能看见的,因为这个类型是*,是所有,包括authpriv 服务认证日志(sshd认证)######


systemctl stop rsyslog.service ##不让这个服务进行采集信息,但是其实还会记住的只是在/var/log/messages

                            或者/var/log/westos这些配置文件看不见,当你重新开启服务后,这里面的信息又会全部加载出来   


2,日志的远程同步

做实验之前注意执行 > /etc/rc.d/rc.local   清除这个脚本文件

通过man 5 rsyslog.conf可以看到远程同步其实是有两种方式
tcp 稳定         *.*     @@ip

udp  速度快             *.*     @ip



在日志发送方
vim /etc/rsyslog.conf
*.*  @ip 日志接受方地址  #####如果用tcp就是@@,但是一般我们用udp

systemctl restart rsyslog   改掉配置文件之后要重启,同时这个本身会生成日志文件,方便在接受方直接查看

在日志接受方
    vim /etc/rsyslog.conf
 $ModLoad imudp  ##去掉前面的#号##15行
 $UDPServerRun 514  ##这俩是同步服务的插件,启用插件##16行

    systemctl restart rsyslog.service  改掉配置文件之后要重启
    systemctl stop firewalld.service 关闭防火墙,使日志能够进来
    systemctl disable firewalld.service 开机不打开防火墙

#####客户端和服务端两个作通信要关闭防火墙###    

如图,node2已经可以接受到node1的日志


3,定义日志采集格式(在哪个端口查看就在哪个端口定义)
vim /etc/rsyslog.conf
    在RULES下面写
    $template 格式名称,“日志采集格式”  ####格式名称随便起
    $template westos,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
        %timegenerated%  日志生成时间
        %FROMHOST-IP%    日志来源主机的ip
        %syslogtag%     日志生成程序
        %msg%         日志内容
        \n         换行
然后在进行如下设置
    *.info;mail.none;authpriv.none;cron.none     /var/log/messages;westos####westos就是格式名称,随便起

    注意修改配置文件之后要重启服务器!!!

4,日志查看
journalctl    ##不能查看同步过来的,只查看本机的,内存的日志

journalctl -n 3 查看最新的3条日志


journalctl -p err  查看错误信息


journalctl -f      实时展现最新的日志,监控


journalctl --since 01:39:58    查看自从01:39:58之后的日志


journalctl --since  01:39:58  --until   01:49:58 查看这个时间段的日志


journalctl -o verbose 查看日志详细参数 打开之后可以用/来查找pid ,比如知道之前某个服务的pid=651,就可以用                     journalctl _pid=651来查看详细信息

对systemd_journald管理
默认此程序只负责对日志进行查看而不对日志进行保存和采集
那么在关机后在开机(reboot),对日志进行查看,只能查看到开机后的日志,之前的是看不见的

日志因为是保存在内存中的,所以关机后就被清空了,那么再开机用journalctl是看不到之前的


5
如何让systemd-journald 保存日志到硬盘
    mkdir /var/log/journal
    chgrp systemd-journal /var/log/journal/  ###设置组
    chmod g+s /var/log/journal/    ##g+s 是对目录下面的文件权限进行递归,
        确保这个目录下面的文件都能被systemd-journal读取(可以用vim /etc/group查看
        这个组确实是存在的)
        ##在这个目录下面会自动新建一个目录,可以看到组都是systemd-journal
    killall -1 systemd-journald####在不关闭文件的情况下,刷新一次(kill -1 是刷新)
                    重新读取配置文件,此时会在/var/log/journal/下面

                创建一个很长名称的目录,该目录下保存的两个文件保存的都是数据


    journalctl -n 3 ##查看最新三行


    date

    reboot##重启虚拟机

    journalctl ##如果在date之前那个时间能显示,那么就成功


6,
时间同步
在服务器端:
systemctl stop firewalld##关掉防火墙
vim /etc/chrony.conf
                local stratum 10    ##开启时间共享功能并设定共享级别##29行##
                                ##这个参数开启后本机不会同步别人的时间到本机,且本机是时间源服务器

                allow 172.25.254.0/24        ##0/24是指允许前三段一样的来访问共享本机时间##22行###


timedatectl set-time "02:22:22"        ##修改时间
systemctl restart chronyd.service      ##重启##先关防火墙后重启##注意这是两个端口的通信

                                                               ###接受端要关闭防火墙


在客户端:
vim /etc/chrony.conf

        server 172.25.254.147 iburst          ##同步172.25.254.147主机的时间##dd删除其余三行


systemctl restart chronyd.service     ###重启服务
chronyc sources -v              ###刷新一下,如果左下角是^*那么就是对的


此时用watch -n 1 date 监控两个node的时间,发现一样



        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值