千锋教育-做有情怀、有良心、有品质的IT职业教育机构

位置:首页 > 千锋动态

西安培训老师分享linux日志的管理

时间:2018-01-15 14:55:58  |  来源:西安千锋  |  作者:千锋教育西安校区

  总有很多朋友问,西安Linux培训哪家好问题,千锋教育老师对自己的学科课程和学科质量有着充足的自信,但并不打算对其他学校多做评论。
  但是,千锋老师相信,千锋坚持用良心做教育,会收到大家的好评,比如这次,千锋老师就为大家准备了Linux日志的一些知识点,希望能够对大家有所帮助。

1.jpg

  日志管理系统
  日志管理系统让解析容易并且让用户可以快速分析大量日志文件。它们可以自动解析标准日志格式,比如公共 Linux 日志或 web 服务日志。这会节省很多时间,因为你在定位系统问题的时候不用去想如何写你的解析逻辑。
  对非标准格式的日志,你也可以自定义解析规则。常用的工具是 Grok,它用通用正则表达式库把纯文本解析成 JSON 格式。这是 Grok 的配置示例,用来解析 Logstash 的内核日志 :
  filter{
  grok {
  match => {"message" => "%{CISCOTIMESTAMP:timestamp} %{HOST:host} %{WORD:program}%{NOTSPACE} %{NOTSPACE}%{NUMBER:duration}%{NOTSPACE} %{GREEDYDATA:kernel_logs}"
  }
  }
  使用 Rsyslog 和 AWK 过滤
  过滤是搜索特定的字段,而不是全部文本。这让你的日志分析精确,因为它会忽略其他不需要的日志信息。为了搜索一个字段值,你需要先解析你的日志或者至少有一种基于事件结构的搜索方法。
  如何筛选出同一个应用的日志
  通常,你只想看来自同一个应用的日志。如果你的应用总是把日志记录在单个文件中,这样很容易分析。如果你要从聚合或集中起来的日志里筛选出和某个程序相关的日志,会很复杂。这里有几种解决的办法。
  1.用 Rsyslog 服务解析和过滤日志。这个例子是将 sshd 应用程序的日志写入名为 sshd-messages 的文件中,然后丢弃事件,所以它不会在其他日志里重复出现。你可以把它加到你的 Rsyslog.conf 文件里试一下。
  :programname, isequal, “sshd” /var/log/sshd-messages
  &~
  2.使用命令行工具比如 awk ,提取特定字段的值,比如取 sshd 用户名。这是 Ubuntu 上的例子。
  $ awk '/sshd.*invalid user/ { print $9 }' /var/log/auth.log
  guestadmin
  info
  test
  ubnt
  3.使用日志管理系统自动解析你的日志,然后点击目标应用的名字进行过滤。如何筛选出错误信息
  常见的事情是,人们想看到日志中的错误。不巧的是,默认的 syslog 配置不会直接输出错误的级别,这使得错误信息很难被筛选。
  这里有两种方案来解决这个问题。首先,你可以修改 rsyslog 配置,让它输出级别到日志文件中,使得错误信息容易被读取和搜索。在你的 Rsyslog 配置中你可以加一个pri-text 模版,如下所示:
  "<%pri-text%> : %timegenerated%,%HOSTNAME%,%syslogtag%,%msg%n"
  这个例子的输出如下,可以看到级别是 err。
  <authpriv.err> : Mar 11 18:18:00,hoover-VirtualBox,su[5026]:, pam_authenticate: Authentication failure
  你可以用 awk 或grep 筛选出错误信息。这是 Ubuntu 下的例子,我们加了开始结束标志 . 和 > ,这样它就只匹配这个字段。
  $ grep '.err>' /var/log/auth.log
  <authpriv.err> : Mar 11 18:18:00,hoover-VirtualBox,su[5026]:, pam_authenticate: Authentication failure
  第二种选择是使用日志管理系统。好的日志管理系统会自动解析 syslog 消息并提取出级别字段。只需点一下,就会按指定的级别筛选日志。

上一篇:Python培训学科实力高,学习费用高性价比
下一篇:西安Python培训学习,先看看视频教程

新开班信息

企业之声 more >
  • 人事专员 刘娇
    【博彦科技】人事专员 刘娇

    入职一年多崔志波工作非常好,感谢千锋培养的人才。

  • 技术主管李先生
    【华夏基金】技术主管李先生

    周红梅,有较强的学习能力,是有发展潜力的年轻人。

  • 总经理宋总
    【北京未来付网络技术公司】总经理宋总

    郑秋浩思想灵活,能按时保质保量完成工作内容。

西安校区咨询电话

029-85363390 18610973034

0元入学 线上咨询 申请试听
  • 校区地址:西安市高新六路52号立人科技园C座西区4层
    咨询电话:029-85363390 18610973034
    面授课程:JAVA课程培训、Android课程培训、HTML5课程培训
  • 北京天丰利校区:北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训、好程序员特训营
  • 深圳科技园校区:深圳市南山区科苑南路高新技术产业园R3-B栋5层
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    深圳西部硅谷校区:深圳市宝安区宝安大道5010号西部硅谷B座A605-619
    咨询电话:0755-86681178/9-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员特训营、UI课程培训
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-65025129-602
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、好程序员特训营、UI课程培训
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55911950 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 大连地址:大连市甘井子区软件园路2号B8座二楼
    咨询电话:0411-39026086 400-654-7778
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 武汉地址:武汉市东新区光谷大道77号金融港B26栋9楼
    咨询电话:027-59905902 027-59905908 027-59905909
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 成都旅游校区:成都市一环路西二段17号四川旅游青羊校区内
    成都华立校区:成都一环路西二段17号华立大厦3楼
    咨询电话:028-83178771 028-61967740
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训、UI课程培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226/7-801
    面授课程:iOS课程培训、Android课程培训、HTML5课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码关注千锋互联
    身边的移动开发导师