博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux日志管理/优化/切割/轮回
阅读量:5845 次
发布时间:2019-06-18

本文共 4080 字,大约阅读时间需要 13 分钟。

hot3.png

   在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 ~]# 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 log]# ll /var/log/ 

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

[root yum.repos.d]# logger -p mail.info ok

[root 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

你可能感兴趣的文章
UVA - 825Walking on the Safe Side(dp)
查看>>
评论:人才流失强力折射出现实畸形人才观
查看>>
虚拟运营商10月或大面积放号 哭穷背后仍有赢家
查看>>
UML中关联,组合与聚合等关系的辨析
查看>>
ios的google解析XML框架GDataXML的配置及使用
查看>>
netty-当一个客户端连接到来的时候发生了什么
查看>>
在51CTO三年年+了,你也来晒晒
查看>>
js控制图片等比例缩放
查看>>
Openstack API常用命令
查看>>
关于k-means聚类算法的matlab实现
查看>>
跟随我在oracle学习php(8)
查看>>
UVA-10212 The Last Non-zero Digit. 分解质因子+容斥定理
查看>>
求两个集合的交集,并集,差集
查看>>
Kotlin的语法糖(一)基础篇
查看>>
亚信安全参加第六届全国等保技术大会 态势感知助力“等保2.0”落地
查看>>
大数据公司Palantir融得7亿美元 曾追踪拉登
查看>>
建立备份策略的重要性
查看>>
发力IoT领域 Marvell注重生态系统发展
查看>>
你应该知道的 RPC 原理
查看>>
Ubuntu安装词典
查看>>