设为首页 收藏本站
查看: 3684|回复: 0

[经验分享] OSSIM下添加oracle listener.log

[复制链接]

尚未签到

发表于 2018-9-22 10:11:24 | 显示全部楼层 |阅读模式
  这种方法不仅可以用在oracle日志的收集上,对于其他软件的时间日志,访问日志,都可以收集,关键是要将日志都分好类,用正则表达式都能匹配到,这样数据才是完整的
  oracle的listener.log的官方文档 http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/troublestng.htm#i423432 在这里可以查看,可以看到一般分为三类,所以我们正则表达式也用3个写;
  1,首先收集oracle listener.log ,在ossim服务器上 tail -f   /var/log/oracle.log,查看日志,看到日志已经过来;
  日志怎么发到agent,用epilog的这些工具的方法这里就不再赘述,可以看我老大的空间http://hi.baidu.com/jiekech00
  跟着他的空间走,你可以很好的学习ossim系统
  2,取日志开始写正则表达式
  Aug 30 11:41:59 TOP-SERV-oracle GenericLog    0    30-8月 -2010 11:41:58 * 12502
  Aug 30 11:41:59 TOP-SERV-oracle GenericLog    0    TNS-12502: TNS: 监听程序没有从客户机收到 CONNECT_DATA
  Aug 30 11:42:02 TOP-SERV-oracle GenericLog    0    30-8月 -2010 11:42:01 * (CONNECT_DATA=(SID=zgdx)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.81)(PORT=3273)) * establish * zgdx * 0
  Aug 30 11:42:03 TOP-SERV-oracle GenericLog    0    30-8月 -2010 11:42:03 * service_update * zgdx * 0
  Aug 30 11:43:37 TOP-SERV-oracle GenericLog    0    30-8月 -2010 11:43:37 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=SYSTEM))(COMMAND=status)(ARGUMENTS=64)(SERVICE=(ADDRESS=(PROTOCOL=TCP)(HOST=TOP-SERV-oracle)(PORT=1521)))(VERSION=169870336)) * status * 0
  Aug 30 12:30:10 TOP-SERV-oracle GenericLog    0    30-8月 -2010 12:30:10 * (CONNECT_DATA=(SERVICE_NAME=zgd)(CID=(PROGRAM=D:\downloads\instantclient\sqlplus.exe)(HOST=PPL)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.10.230)(PORT=14367)) * establish * zgd * 12514
  分析日志 发现需要用3个正则表达式才能全部匹配,写出正则表达式如下:
  第一个
  (?P\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P\S+)\s+\S+\s+\d+\s+(?P\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s\(CONNECT_DATA=(\(SID=\w+\))?(\(SERVICE_NAME=[^\)]+\))?\(CI
  D=\(PROGRAM=(?P\S+)?\)\(HOST=(?P[^\)]+)\)\(USER=(?P[^\)]+)?\){2,3}(\(SERVICE_NAME=[^\)]+\){1,2})?\s\*\s\(ADDRESS=(\(PROTOCOL=(?P[^\)]+)\))?\(HOST=(?P[^\)]+)\)\(
  PORT=(?P\d{1,5})\){2,3}\s\*\s(?P\S+)\s\*\s(?P\S+)\s\*\s(?P\d+)
  第二个
  (?P\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P\S+)\s+\S+\s+\d+\s+(?P\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s\(CONNECT_DATA=\(CID=\(PROGRAM=(?P[^\)]+)?\)\(HOST
  =([^\)]+)?\)\(USER=(?P[^\)]+)\)\)\(COMMAND=(?P[^\)]+)\)\(ARGUMENTS=(\d+)\)\(SERVICE=(\(DESCRIPTION=)?\(ADDRESS=\(PROTOCOL=(?P[^\)]+)\)\(HOST=([^\)]+)\)\(PORT=(?P\d{1,5})\)
  {3,4}\(VERSION=\d+\)\){1,2}\s\*\s(\S+)\s\*\s(\d+)
  第三个
  (?P\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P\S+)\s+\S+\s+\d+\s+(?P\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s(?Pservice_\w+)\s\*\s(?P\S+)\s\*\s(?P\d+)
  3,在ossim服务器上 /etc/ossim/agent/plugins/ 下 新建一个文件oracle.cfg
  添加内容如下:
  ;; oracle listener.log
  ;; plugin_id: 9004
  ;;
  ;; MODIFICATION BY: Jiekechoo 2010/08/30
  ;;
  ;; $Id: oracle.cfg,v 1.7 2010/08/30 Exp $
  ;;
  [DEFAULT]
  plugin_id=9004
  [config]
  type=detector
  enable=yes
  source=log
  location=/var/log/oracle.log
  create_file=true
  process=
  start=no
  stop=no
  startup=
  shutdown=
  [translation]
  [oracle-audit-trail-1]
  event_type=event
  regexp=(?P\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P\S+)\s+\S+\s+\d+\s+(?P\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s\(CONNECT_DATA=(\(SID=\w+\))?(\(SERVICE_NAME=[^\)]+\))?\(CI
  D=\(PROGRAM=(?P\S+)?\)\(HOST=(?P[^\)]+)\)\(USER=(?P[^\)]+)?\){2,3}(\(SERVICE_NAME=[^\)]+\){1,2})?\s\*\s\(ADDRESS=(\(PROTOCOL=(?P[^\)]+)\))?\(HOST=(?P[^\)]+)\)\(
  PORT=(?P\d{1,5})\){2,3}\s\*\s(?P\S+)\s\*\s(?P\S+)\s\*\s(?P\d+)
  date={normalize_date($sysdate)}
  plugin_sid=1
  protocol={$proto}
  src_ip={$host1}
  src_port={$sport}
  dst_ip={resolv($hostname)}
  dst_port=1521
  username={$user}
  userdata1={$ora_date}
  userdata2={$client}
  userdata3={$ora_sid}
  userdata4={$re_code}
  userdata5={$stat}
  userdata6={$program}
  [oracle-audit-trail-2]
  event_type=event
  regexp=(?P\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P\S+)\s+\S+\s+\d+\s+(?P\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s\(CONNECT_DATA=\(CID=\(PROGRAM=(?P[^\)]+)?\)\(HOST
  =([^\)]+)?\)\(USER=(?P[^\)]+)\)\)\(COMMAND=(?P[^\)]+)\)\(ARGUMENTS=(\d+)\)\(SERVICE=(\(DESCRIPTION=)?\(ADDRESS=\(PROTOCOL=(?P[^\)]+)\)\(HOST=([^\)]+)\)\(PORT=(?P\d{1,5})\)
  {3,4}\(VERSION=\d+\)\){1,2}\s\*\s(\S+)\s\*\s(\d+)
  date={normalize_date($sysdate)}
  plugin_sid=2
  protocol={$proto}
  src_ip={resolv($host1)}
  dst_ip={resolv($hostname)}
  dst_port={$dport}
  username={$user}
  userdata1={$ora_date}
  userdata4={$14}
  userdata5={$stat}
  userdata6={$program}
  [oracle-registration-event]
  event_type=event
  regexp=(?P\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P\S+)\s+\S+\s+\d+\s+(?P\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s(?Pservice_\w+)\s\*\s(?P\S+)\s\*\s(?P\d+)
  date={normalize_date($sysdate)}
  plugin_sid=3
  dst_ip={resolv($hostname)}
  src_ip={resolv($hostname)}
  userdata1={$ora_date}
  userdata2={$event}
  userdata3={$ins_name}
  userdata4={$ret_code}
  4,添加引用oracle.cfg文件    在/etc/ossim/agent/下 打开 config.cfg
  [plugins]
  oracle=/etc/ossim/agent/plugins/oracle.cfg
  5,创建文件  在/usr/share/doc/ossim-mysql/contrib/plugins/ 下  创建oracle.sql  内容如下:
  --oracle
  -- plugin_id: 9004

  DELETE FROM plugin WHERE>  DELETE FROM plugin_sid where plugin_id = "9004";
  INSERT INTO plugin (id, type, name, description) VALUES (9004, 1, 'oracle', 'Oracle listener.log');

  INSERT INTO plugin_sid (plugin_id, sid, category_id,>
  INSERT INTO plugin_sid (plugin_id, sid, category_id,>
  INSERT INTO plugin_sid (plugin_id, sid, category_id,>  保存退出;
  5,在/usr/share/doc/ossim-mysql/contrib/plugins/ 目录下
  执行 ossim-db

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599807-1-1.html 上篇帖子: Oracle 10g配置RMAN RECOVERY CATALOG-ylw6006 下篇帖子: 使用TSM for Database备份Oracle数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表