linux日志管理/优化/切割/轮回

   在linux下日志管理工作十分的重要他能解决无码在工作中对日志的分类使以后在有需要的时候能一目了然的茶道自己需要的日志。

   1、日志告警级别

 内容及格式(*.)                            中文含义                                                         等级

*.debug                                         不包含函数条件或问题的其他信息                         7
*.info                                            提供信息的消息                                                       6
*.none                                            没有重要级,通常用于排错                                    
*.notice                                          具有重要性的普通条件                                             5
*.warning                                      预警信息                                                                  4
*.err                                               阻止工具或某些子系统部分功能实现的错误条件      3
*.crit                                             阻止某些工具或子系统功能实现的错误条件              2
*.alert                                          需要立即被修改的条件                                               1 
*.emerg*                                       该系统不可用                                                             0

  2.日志类型(及格式)                  中文含义
    mail.*                                              电子邮件相关信息
    cron.*                                              计划任务信息;
    user.*                                              用户进程信息
    .*                                        包括特权信息如用户名在内的认证活动
    news.*                                             新闻组服务器信息
    kern.*                                                内核信息
    daemon.*                                          后台进程相关信息

   3.自定义日志

    3.1告警级别自定义

       *.info                              /var/log/my_info

   3.2日志类型自定义

       mail.*                             /var/log/my_mail

   3.总结:自定义信息需要在 /etc/rsyslog.conf 下进行编辑(此操作在客户端服务器上)。

   例[root@localhost ~]# vim /etc/rsyslog.conf

     用vim编辑器打开后在 *.info;mail.none;authpriv.none;cron.none                /var/log/messages下面编辑自定义告警和日志类型的目录

mail.*                                                /var/log/my_mail
 cron.*                                                /var/log/my_cron
 user.*                                                /var/log/my_user
 authpriv.*                                                /var/log/my_authpriv
 news.*                                                /var/log/my_news
 kern.*                                                /var/log/my_kern
 daemon.*                                                /var/log/my_daemon

*.debug                                                 /var/log/my_debug
*.info                                                 /var/log/my_info
*.notice                                                 /var/log/my_notice
*.warning                                                 /var/log/my_warning
*.err                                                 /var/log/my_err
*.crit                                                 /var/log/my_crit
*.alert                                                 /var/log/my_alert
*.emerg                                                 /var/log/my_emerg

# ### end of the forwarding rule ###(此栏在编辑器最下面)加上如下ip
 *.* @@192.168.29.129 (表示所有设置的告警信息都向中这个ip发送信息)

保存后 重启/etc/init.d/rsyslog  restart

验证:3.1.1查看/var/log/文件夹里面是否存在上述文件夹 

  [root@localhost log]# ll /var/log/ 

         3.1.2发出一条消息到ip为192.168.29.129的主机上检查是否设置成功

[root@localhost yum.repos.d]# logger -p mail.info ok
[root@localhost yum.repos.d]# cat /var/log/maillog
Sep 28 03:59:17 localhost postfix/postfix-script[1751]: starting the Postfix mail system
Sep 28 03:59:17 localhost postfix/master[1752]: daemon started -- version 2.6.6, configuration /etc/postfix
Sep 27 22:14:26 localhost root: ok

                   以上表示设置成功
 

   3.2.在服务端进行设置

       3.2.1 在/etc/rsyslog.conf 进行设置 目的是为了打开 里面的UDP|TCP协议 使客户端的日志信息能自动收集到服务端主机里面

例 [root@localhost ~]# vim /etc/rsyslog.conf  打开后找到下面内容:

# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514

将“514” 这一行和上一行的“#”进行删除表示打开UDP|TCP  保存并重启 。

   3.2.2验证客户机与服务端机器是否建立日志收集。在客户机上编辑命令:logger -p mail.info ok 然后查看服务端机器是否有客户机日志 :cat /var/log/maillog 

   例:[root@localhost ~]# logger -p mail.info ok  (在客户机上输入)

查看服务端机器:

[root@localhost ~]# cat /var/log/maillog

Sep 28 09:12:00 localhost root: ok      说明客户机的日志能在服务端机器上生成。

4.日志的优化

  上述日志收集设置 不能很容易的区分读物端还是客户端机器的日志所有必须对建立的日志进行优化具体做法如下:

   在服务端用vim编辑/etc/rsyslog.conf    在文本最后一行加入

$template Remote,"/var/log/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"
:fromhost-ip, !isequal, "127.0.0.1" ?Remote

 重启文本:/etc/init.d/rsyslog resatart  | service rsyslog restart

   验证:  在客户机上输入logger -p mail.info ok   在服务端机器进行查看 ls /var/log

   例:

[root@localhost ~]# logger -p mail.info ok   (客户机输入)

[root@localhost ~]# ls /var/log/             (服务端查看)
          172.16.10.14         

  验证成功!

  5.日志的切割/轮回(优化)

  日志的切割有利于我们服务器端在收集其他客户机日志的时候将他们分割成每天或每小时或每周,方便我们在日后的日志查询中准确的找到自己想要的日志和备份。

  5.1.1编辑 在/etc/logrotate.conf 或者/etc/logrotate.d/()在logrotate.d文件夹中随便建

  例:[root@localhost ~]# vim /etc/logrotate.conf

  /var/log/log-file {
       daily
       rotate 5
       compress
       delaycompress
       missingok
       notifempty
       create 644 root root
       postrotate
       /usr/bin/killall -HUP rsyslogd
       endscript
           }          
   monthly: 日志文件将按月轮循。其它可用值为‘daily’,‘weekly’或者‘yearly’。
   rotate 5: 一次将存储5个归档日志。对于第六个归档,时间最久的归档将被删除。
   compress: 在轮循任务完成后,已轮循的归档将使用gzip进行压缩。
   delaycompress: 总是与compress选项一起用,delaycompress选项指示logrotate不要将最近的归档压缩,压缩将在
下一次轮循周期进行。这在你或任何软件仍然需要读取最新归档时很有用。
   missingok: 在日志轮循期间,任何错误将被忽略,例如“文件无法找到”之类的错误。
   notifempty: 如果日志文件为空,轮循不会进行。
   create 644 root root: 以指定的权限创建全新的日志文件,同时logrotate也会重命名原始日志文件。
   postrotate/endscript: 在所有其它指令完成后,postrotate和endscript里面指定的命令将被执行。在这种情况下,
rsyslogd 进程将立即再次读取其配置并继续运行。
上面的模板是通用的,而配置参数则根据你的需求进行调整,不是所有的参数都是必要的。
   }
   /var/log/log-file {
       size=50M
	   rotate 5
	   create 644 root root
	   postrotate
	   /usr/bin/killall -HUP rsyslogd
	   endscript
	  }

   5.1.2在/var/log/  建立一个log-file文件夹 并随机输入一点内容(无内容在进行强制切割下不会成功)

   5.1.3 强制轮循/切割:

logrotate -vf /etc/logrotate.conf

  5.1.4验证

      例:

     [root@localhost log]# ll /var/log/|grep 'log-*'

。  -rw-r--r--  1 root root       0 Sep 28 16:52 log-file
      -rw-r--r--  1 root root    1009 Sep 28 16:52 log-file.1

 

 

 

 

转载于:https://my.oschina.net/hdlp520/blog/752417

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值