4、//所有日志的info以上的信息
.info
5、//mail的所有级别
mail.
6、//所有服务的所有级别
.
7、//合并日志,写到一块
cron.info;mail.infoaction(动作)日志记录的位置:
//延迟写入,系统不繁忙的时候才写入。
发送邮件,通过什么协议
@@192.168.1.1 TCP
@192.168.1.1 UDP*号表示所有在线用户
- 忽略日志
^号后跟可执行脚本或程序的绝对路径
案例:更改系统安全日志secure的记录位置
将secure的位置更改为/usr/local/secure
authpriv.* /usr/local/securesystemctl restart rsyslog
chattr +a /usr/local/secure
三,日志的采集
虽然以后,我们接触到很多相关日志采集的服务和应用,气死系统本身也 是支持日志采集功能的,使用系统的rsyslog服务即可。
实验需求
node1 node2 192.168.2.1 192.168.2.2 企业环境可以使用ELK,但rsyslog也可以实现日志收集功能
案例环境:将node01的日志发送到node02
node01: vim /etc/rsyslog.conf 15 $ModLoad imudp 16 $UDPServerRun 514 18 # Provides TCP syslog reception 19 $ModLoad imtcp 20 $InputTCPServerRun 514 //文件最后添加 92 *.* @192.168.8.20 systemctl restart rsyslog node02: vim /etc/rsyslog.conf 15 $ModLoad imudp 16 $UDPServerRun 514 18 # Provides TCP syslog reception 19 $ModLoad imtcp 20 $InputTCPServerRun 514 systemctl restart rsyslog tailf /var/log/messages
案例2:把nginx的日志发送给node02
node01: vim /etc/rsyslog.conf $ModLoad imfile $InputFilePollInterval 1 $InputFileName /var/log/nginx/access.log $InputFileTag nginx-info-access; $InputFilestateFile state-nginx-info-accesslog $InputRunFileMonitor $InputFileName /var/log/nginx/error.log $InputFileTag nginx-info-error; $InputFilestateFile state-nginx-info-errorlog $InputRunFileMonitor $InputFilePollInterval 10 if $programname == 'nginx-info-access' then @192.168.8.20:514 if $programname == 'nginx-info-access' then ~ if $programname == 'nginx-info-error' then @192.168.8.20:514 if $programname == 'nginx-info-error' then ~ 参数解释: //间隔多久采集1次。默认单位是秒 $InputFilePollInterval 1 //采集的日志的名称 $InputFileName /usr/local/nginx/logs/access.log //给对应的日志打一个标签 $InputFileTag nginx-info-access; //给这个日志命名 $InputFilestateFile state-nginx-info-accesslog //启动监控 $InputRunFileMonitor
四,日志分割
**1)**为甚么要做日志的切割那?
因为日志会越来越大,我们做的实验这才仅仅只是一台主机的日志,如果 是一个集群,像百度这样的大型网站,到时候访问量很大的情况之下,我 们就的日志就会变的很大
**2)**为了防止日志文件过大,所以我们要做到日志定期的切割和清理。
**3)**怎么做那? 我们的系统有自带的日志轮滚的功能,需要调试。配置文件 在/etc/logrotate.conf
可能有人就会有疑问,我们可以直接用命令cp、另一份,然后保存一下就 可以了,但大家忘了一点了,日志有可能是时时刻刻都在更新,这就有可 能在你CP的时候,数据就会不完整。
//查看/etc/logrotate.conf相关配置信息。
[root@localhost ~]# cat /etc/logrotate.conf | grep -v "^$" | grep -v "^#" weekly #分割周期 rotate 4 #保留多少日志 create #旧日志分割后,源文件是否生成新的日志 dateext #分割后日志的文件类型,默认是以日期来分割 include /etc/logrotate.d #还需要读取这个地方,目录里都是其他地方的日志 /var/log/wtmp { #特指某个文件的分割方式 monthly #每月分割 create 0664 root utmp #分割后这个文件的权限,以及属主和属组 minsize 1M #文件超过1M之后才分割 rotate 1 #保留1个 } /var/log/btmp { missingok #丢了也没关系,热日志会出现中断 monthly create 0600 root utmp rotate 1 }
除了这些之外,还有其他的一些单词
compress //压缩,gzip delaycompress //延迟压缩 nocompress //不压缩 copytruncate //先拷贝,再清空。 errors Email ifemty //即使日志文件为空,到日期也切割 notifempty //为空者不切割 mail Email //切割后的日志文件,不在本地保存,发送邮件到其他地 方。 nomail //生成的日志不发送,在本地使用 olddir Directory //另存为的地址,如果不写则默认是在同一个目录下 边。 noolddir //转存文件都保存在本地。 sharedscripts //运行脚本,为什么会执行脚本那?还记忆的我们给脚 本添加的a权限么?需要暂时调整权限 postrotate //切割之后,执行脚本 prefotate //切割之前,执行脚本 时间参数 daily //每天 weekly //每周 mounthly //每月 yearly //每年 rotate count //保存几份。 dateext //使用当前日期。 size(minisize) //达到多少才切割,默认单位是M,sizeksizem默认单 位是kb。 size = 5
实例:
//切割安全日志secure
[root@localhost ~]# cd /etc/logrotate.d/ [root@localhost logrotate.d]# vi secure /var/log/secure { missingok notifempty daily create rotate 4 compress }
//添加用户,切换用户触发日志
[root@localhost logrotate.d]# useradd bdqn [root@localhost logrotate.d]# echo "1" | passwd --stdin bdqn 更改用户 bdqn 的密码 。 passwd:所有的身份验证令牌已经成功更新。
//手动分割日志
[root@localhost logrotate.d]# logrotate -vf /etc/logrotate.d/secure
//查看源文件已被分割
[root@localhost logrotate.d]# ls /var/log/ | grep "secure" secure secure.1.gz
最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!