10.1 日志系统(系统日志管理)syslog&rsyslog
日志:主要用途是系统审计、监测追踪和分析统计。 Linux内核由很多子系统组成,包括网络、文件访问、内存管理等。子系统需要给用户传送一些消息,这些消息内容包括消息的来源及其重要性等。所有的子系统都要把消息送到一个可以维护的公用消息区,于是就有了syslog。 syslog 是一个综合的日志记录系统,它广泛应用于各种类UNIX系统上。它的主要功能是方便日志管理和分类存放日志。
在CentOS7中,默认的日志系统是rsyslog,是一个类UNIX计算机系统上使用的开源软件工具,用于在IP网络中转发日志信息。rsyslog采用模块化设计,是syslog的替代品。 默认安装的rsyslog软件包提供的守护进程是rsyslogd,是一项系统的基础服务,应该设置为开机运行。rsyslogd是由system启动的。
日志的关注点:哪类程序---》产生的什么日志----》放到什么地方
10.1.1 处理日志的程序/进程
第一类程序
rsyslog: 系统专职日志程序。 处理绝大部分日志记录 系统操作有关的信息,如登录信息,程序启动关闭信息,错误信息。
第二类程序
httpd/nginx/mysql: 各类应用程序,可以以自己的方式记录日志中
观察rsyslog的进程——rsyslogd
ps aux | grep rsyslogd
10.1.2 常见的日志文件(系统、进程、应用程序)
# 1.系统主日志文件 tail -10 /var/log/messages # 时间 主机名 具体日志 # 动态查看日志文件的尾部 tail -f /var/log/messages 或 tailf /var/log/messages # 新窗口执行 systemctl restart firewalld systemctl restart httpd # 2.认证、安全 tailf /var/log/secure # 例:查看认证安全日志 su - yuan # 3.yum tail /var/log/yum.log # 例:观察yum日志 yum makecache yum remove httpd # 4.与邮件postfix相关 tail /var/log/maillog # 5.crond、at进程产生的日志 tail /var/log/cron # 6.与系统启动相关 tail /var/log/dmesg
了解
# 1.系统审计日志 tail /var/log/audit/audit.log # 2.MysQL tail /var/log/mysqld.log # 3.与访问FTP服务器相关 tail /var/log/xferlog # 4.当前登录的用户(命令 : w) tail /var/log/wtmp # 5.最近登录的用户(命令last) tail /var/log/btmp # 6.所有用户的登录情况(命令lastlog ) tail /var/log/lastlog
10.1.3 rsyslogd
10.1.3.1 程序安装
# 默认已安装,若未安装 yum install -y rsyslog logrotate
10.1.3.2 启动程序
# 启动,记录日志;stop 则不记录日志 systemctl start rsyslog.service
10.1.3.3 相关文件
# c:config,查看相关配置文件 rpm -qc rsyslog # 三个配置文件 # rsyslogd的主配置文件(关键) /etc/rsyslog.conf # rsyslogd相关文件,定义级别或属性 /etc/sysconfig/rsyslog # 与日志轮转(切割)相关 /etc/logrotate.d/syslog
10.1.4 主配置文件
# 打开配置文件 vim /etc/rsyslog.conf # 文件中有注释和开关配置
主配置文件中的RULES
RULES:即规则,是一套生成日志,以及存储日志的策略。 由三个部分设备+级别+存放位置(FACILITY+LEVEL+FILE)组成。 authpriv.* /var/log/secure(SSH信息) mail.* -/var/log/maillog(发邮件,“-”表示是使用异步的方式记录,因为日志一般会比较大) cron.* /var/log/cron(创建任务)
Facility:
Facility设备: 是系统对某种类型事件的定义,如AUTHPRIV是安全事件,CRON是计划任务事件,用来收集同类程序日志。 # man 3 syslog # grep Facility /etc/ssh/sshd_config 设备类型: LOG SYSLOG syslogd自身产生的日志 LOG AUTHPRIV 安全认证 LOG CRON 调度程序(cron and at) LOG_MAIL 邮件系统mail subsystem LOG USER (default) 用户相关 LOG_DAEMON 后台进程 LOG_FTP 文件服务器ftp daemon LOG_KERN 内核设备kernel messages LOG LPR LOGLOCAL0 through LOG_LOCAL7 用户自定义设备 程序类型示例: 关于程序和设备的联系问题,程序自身会决定将日志交给哪类设备,如SSH程序会选择安全类设备,这一点由开发者定义。 例:查看ssh的设备类型 # grep Facility /etc/ssh/sshd_config SyslogFacility AUTHPRIV 这个程序是属于认证设备,log存储在认证设备中
Level:
日志级别: LOG EMERG 紧急,致命,服务无法继续运行,如配置文件丢失 LOG ALERT 报警,需要立即处理,如磁盘空使用95% LOG_CRIT 致命行为 LOG_ERR 错误行为 LOG WARNING 警告信息 LOG_NOTICE 普通,重要的标准信息 LOG INFO 标准信息 LOG DEBUG 调试信息,排错所需,一般不建议使用
例:修改anthpriv设备类型日志存放地址为/etc/log/anquan
# 打开主配置文件 vim /etc/rsyslog.conf # 修改RULES authpriv.* /var/log/anquan # 重新启动进程 systemctl restart rsyslog # 查看是否生成日志到指定路径 ls /var/log
Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客