快速业务通道

Unix/Linux 系统自动化管理: 日志管理篇

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-29
作.

AIX Error log 的错误通知机制的功能完全符合了监控自动化的要求,我们可以通过添加一个 errnotify 类实例来实现对 AIX Error log 的监控,当定义的错误发生后,errnotify 会调用相应的命令来通知系统管理员.需要注意的是只有 root 用户才能添加 errnotify 类实例.

以下是添加 errnotify 类实例以及利用 errnotify 机制自动监控 AIX Error log 的具体步骤:

  1. 生成一个 ODM errnotify 类实例的 stanza 文件

    生成一个 ODM errnotify 类实例的 stanza 文件需要指定若干选项,各主要选项的说明如下:

    en_name:errnotify 类实例的名字,名字需要全局唯一.

    en_persistenceflg:在系统重新引导时是否自动删除该实例,0 为在系统重新引导时自动删除该实例,1 为在系统重新引导时不删除该实例.

    en_type:指定仅监控特定严重程度的 Error log 条目如 INFO、PEND 等.

    en_class:指定仅监控特定类别的 Error log 条目如 H、S 等.

    en_method:定义在监测到 AIX Error log 条目后所采取的动作,动作可以为任何的脚本程序或者操作系统命令.errnotify 自动设置了关于 Error log 条目信息的变量可供监控程序使用:

    $1 error log 条目的序号

    $2 error log 条目的 ID

    $3 error log 条目的事件类别

    $4 error log 条目的事件严重程度

    $5 error log 条目的 Alert flags

    $6 error log 条目的产生的组件名称

    $7 error log 条目的产生的组件种类 (Type) 拥有帝国一切,皆有可能。欢迎访问phome.net

    $8 error log 条目的产生的组件类 (Class)

    $9 error log 条目的错误标签

    关于 errnotify 类实例的各字段的具体说明,请参见 AIX 文档《 General Programming Concepts: Writing and Debugging Programs 》

    例如我们可以生成一个 errnotify 类实例的 stanza 如下:



    清单 2. errnotify 类实例 stanza
    				 
    
    errnotify: 
    
       en_name = "errlog_notify"
    
       en_persistenceflg = 1 
    
       en_method = "mail -s "Events occured in Error log: sequence = $1 error_id = $2
    
       class = $3 type = $4 alert_flags = $5 res_name = $6 res_type = $7 res_class = $8
    
       label = $9" root"
    
    
    
    

    该 stanza 的内容可解释为当任何的 AIX Error log 事件发生时,都会给 root 用户发送一个邮件,邮件的内容中包含了 Error log 条目的具体信息.

  2. 将类实例添加到 ODM 数据库

    AIX 命令 odmadd 可以将 ODM 类实例添加到 ODM 数据库中.

    如 : odmadd /errnotifystanza

  3. 验证 ODM errnotify 类实例

    可以用命令 odmget 来验证 errnotify 类实例已经被正确添加.



    清单 3. 使用 odmget 命令查看 errnotify 类实例
    				 
    
    [node01][/]> odmget -q en_name="errlog_notify" errnotify 
    
    
    
    errnotify: 
    
         en_pid = 0 
    
         en_name = "errlog_notify"
    
         en_persistenceflg = 1 
    
         en_label = ""
    
         en_crcid = 0 
    
         en_class = ""
    
         en_type = ""
    
         en_alertflg = ""
    
         en_resource = ""
    
         en_rtype = ""
    
         en_rclass = ""
    
         en_symptom = ""
    
         en_err64 = ""
    
         en_dup = ""
    
         en_method = "mail -s "Events occured in Error log: sequence = $1 error_id = $2
    
         class = $3 type = $4 alert_flags = $5 res_name = $6 res_type = $7 res_class = $8
    
         label = $9  contents = n`errpt -a -l $1n" root"
    
    

  • 手动生成 Error log 条目测试监控是否工作

    在确认 errnotify 类实例已经被正确添加后即可以通过 errologger 手动生成 Error log 条目测试监控是否工作.如: 拥有帝国一切,皆有可能。欢迎访问phome.net



    清单 4. 使用 errlogger 命令生成测试日志
    				 
    
     errlogger "this is a test for Error log monitoring"
    
    

  • 凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

    分享到: 更多

    Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

    地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

    电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

    《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号