文章内容:
一、什么是日志
系统日志顾名思义,它每秒钟干了什么都会有记录,日志的量很大,相对有点规模的公司一天会有几十MB的日志文件,你们对几十MB的日志文件有概念吗?1KB可以存1024个英文字母,1MB就可以存百万个英文字母,换句话说,我看过最长的一个小说才10几MB,断断续续俩仨月才看完!如果真正出了问题要从里面看着找,可谓是大海捞针,后面可以通过ELK工具来分析日志。今天我们就讲讲日志的类型、消息级别和会分析简单的日志。
##日志配置文件存放的位置
/etc/rsyslog.conf
二、日志分类
系统中各个运行消息的文件,不同的日志文件记录了不同的类型信息,如内核消息、错误消息等。
1、内核及系统日志:数据由系统服务rsyslog统一管理,可以根据主配置文件/etc/rsyslog.conf中设置决定内核消息及其各种消息的记录位置。(一般不看)
##存放位置
/var/log/maillog
2、用户日志:数据用于记录系统用户登录及其退出系统的相关信息。
包括:用户名、登录终端、登录时间、来源、使用的进程等等。
##查询当前登录用户的情况
users,who,w
##查询用户登录历史记录
last,lastb
##查看安全日志文件(一般用tailf来滚动查看)
/var/log/secure
3、程序日志:应用程序自己独立管理的一个日志,记录程序本身运行过程中的各种事件信息。
##拿Mysql举例,它有binlog,errorlog。
三、常看的日志
下面这俩基本够用,有用的日志基都打包到了messages文件里
##记录Linux操作系统常见的系统和服务错误信息
/var/log/messages
##记录用户和工作组变化的情况,用户登录认证情况
/var/log/secure
四、日志消息级别
1、当我们系统出现问题的时候,日志里会包含程序出错的级别。0是最高级别,直接宕机死掉,8是最低级别,可以无视,我们下面来说一下。
0:emerg 会导致主机系统不可用的情况
1:alert 必须采取措施解决的问题
2:crit 比较严重的
3:err 运行出现问题
----------------------------------------
4:warning 可能影响系统功能,需要提醒用户的重要事件
5:notice 不会影响正常功能,但是需要注意的事件
6:info 一般信息
7:debug 程序或系统调试信息
8:none 不记录任何日志
2、我们可以通过vim /etc/rsyslog.conf里修改想要设置的级别警告。
# 合并日志,写到一块并记录到messages文档!
*.info;mail.none;authpriv.none;cron.none /var/log/messages
# 安全日志所有级别 都记录。(*代表所有级别)
authpriv.* /var/log/secure
# 所有服务emerg级别
*.emerg :omusrmsg:*
# uucp,news crit以上级别记录到/spooler
uucp,news.crit /var/log/spooler
五、日志采集(需要两台主机)
当然,生产环境下不可能只监控一个node,需要监控整个集群,合并成一个日志文件来管理,那我们怎么采集呢?
#可以通过rsyslog.conf来设置UDP、TCP两种协议,UDP同一网段传输最快。
vim /etc/rsyslog.conf
如果大家用UDP把15 16行的#去掉就可以,TCP去掉19 20行,
注意:Node1 Node2都要去掉标注,打开端口,不然是成功不了的,如图。
最后一行加上你要传输的IP,@是UDP协议,@@是TCP协议,这里我用的UDP
重启一下服务
#重启服务
systemctl restart rsyslog
下面我们来看一下Node2是不是能接收到Node1的日志了
Ps:下面给大家留下一个小尾巴,看看我的报错属于哪个级别,还有我设置的日志都是什么级别要报错,怎么去修改,欢迎大家评论区留言、双击、关注 谢谢大家!