这种方法不仅可以用在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<sysdate>\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P<hostname>\S+)\s+\S+\s+\d+\s+(?P<ora_date>\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<program>\S+)?\)\(HOST=(?P<client>[^\)]+)\)\(USER=(?P<user>[^\)]+)?\){2,3}(\(SERVICE_NAME=[^\)]+\){1,2})?\s\*\s\(ADDRESS=(\(PROTOCOL=(?P<proto>[^\)]+)\))?\(HOST=(?P<host1>[^\)]+)\)\(
PORT=(?P<sport>\d{1,5})\){2,3}\s\*\s(?P<stat>\S+)\s\*\s(?P<ora_sid>\S+)\s\*\s(?P<re_code>\d+)

第二个

(?P<sysdate>\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P<hostname>\S+)\s+\S+\s+\d+\s+(?P<ora_date>\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s\(CONNECT_DATA=\(CID=\(PROGRAM=(?P<program>[^\)]+)?\)\(HOST
=([^\)]+)?\)\(USER=(?P<user>[^\)]+)\)\)\(COMMAND=(?P<stat>[^\)]+)\)\(ARGUMENTS=(\d+)\)\(SERVICE=(\(DESCRIPTION=)?\(ADDRESS=\(PROTOCOL=(?P<proto>[^\)]+)\)\(HOST=([^\)]+)\)\(PORT=(?P<dport>\d{1,5})\)
{3,4}\(VERSION=\d+\)\){1,2}\s\*\s(\S+)\s\*\s(\d+)

第三个

(?P<sysdate>\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P<hostname>\S+)\s+\S+\s+\d+\s+(?P<ora_date>\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s(?P<event>service_\w+)\s\*\s(?P<ins_name>\S+)\s\*\s(?P<ret_
code>\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<sysdate>\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P<hostname>\S+)\s+\S+\s+\d+\s+(?P<ora_date>\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<program>\S+)?\)\(HOST=(?P<client>[^\)]+)\)\(USER=(?P<user>[^\)]+)?\){2,3}(\(SERVICE_NAME=[^\)]+\){1,2})?\s\*\s\(ADDRESS=(\(PROTOCOL=(?P<proto>[^\)]+)\))?\(HOST=(?P<host1>[^\)]+)\)\(
PORT=(?P<sport>\d{1,5})\){2,3}\s\*\s(?P<stat>\S+)\s\*\s(?P<ora_sid>\S+)\s\*\s(?P<re_code>\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<sysdate>\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P<hostname>\S+)\s+\S+\s+\d+\s+(?P<ora_date>\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s\(CONNECT_DATA=\(CID=\(PROGRAM=(?P<program>[^\)]+)?\)\(HOST
=([^\)]+)?\)\(USER=(?P<user>[^\)]+)\)\)\(COMMAND=(?P<stat>[^\)]+)\)\(ARGUMENTS=(\d+)\)\(SERVICE=(\(DESCRIPTION=)?\(ADDRESS=\(PROTOCOL=(?P<proto>[^\)]+)\)\(HOST=([^\)]+)\)\(PORT=(?P<dport>\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<sysdate>\w+\s\d{1,2}\s\d\d:\d\d:\d\d)\s+(?P<hostname>\S+)\s+\S+\s+\d+\s+(?P<ora_date>\d{1,2}-\S+\s-\d{4}\s\d\d:\d\d:\d\d)\s\*\s(?P<event>service_\w+)\s\*\s(?P<ins_name>\S+)\s\*\s(?P<ret_
code>\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 id = "9004";
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, class_id, name, priority, reliability) VALUES (9004, 1, NULL, NULL, 'Listener Log Audit Trail Information' , 1, 1);

INSERT INTO plugin_sid (plugin_id, sid, category_id, class_id, name, priority, reliability) VALUES (9004, 2, NULL, NULL, 'Listener Log Audit Trail Information' , 1, 1);

INSERT INTO plugin_sid (plugin_id, sid, category_id, class_id, name, priority, reliability) VALUES (9004, 3, NULL, NULL, 'Oracle Service Registration Event Information' , 1, 1);

保存退出;

5,在/usr/share/doc/ossim-mysql/contrib/plugins/ 目录下

执行 ossim-db<oracle.sql

6,重启服务  /etc/init.d/ossim-agent restart

/etc/init.d/ossim-server restart

7,查看agent日志 tail -f /var/log/ossim/agent.log

看是否有oracle的信息

如果没有 可以用 tail -f /var/log/ossim/server.log查看哪里有问题,再做相应的修改

8,最后可以在 web页面上可以看到信息

转载于:https://blog.51cto.com/richie/385206

OSSIM下添加oracle listener.log相关推荐

  1. oracle listener.log 路径,Oracle listener.log 清理

    listener.log 确定日志文件的大小 unixdev$[/grid/app/diag/tnslsnr/unixdev/listener/trace]du -ks listener.log722 ...

  2. linux mysql设置开机启动脚本_linux下添加oracle自启动脚本

    1.修改/etc/oratab文件,后面的dbstart和dbshut依据这个文件启动数据库 soadb:/u01/oracle/product/11.2.0/dbhome_1:Y 2.创建数据库初始 ...

  3. CentOS6.3 下启动Oracle service和listener

    一.启动Oracle数据库和监听器 首先切换到Oracle专有用户: [root@NJZYY06 ~]# su - oracle [oracle@NJZYY06 ~]$ 1.启动数据库: [oracl ...

  4. oracle10 监听日志,windows 清空oracle的监听日志listener.log

    最近接手一个windows 下的oracle ,发现监听日志已经到了1.5G. 以前都是在aix,linux上干活 ,突然倒了windows反而不太习惯. 下面记录一下清理过程: D:\oracle\ ...

  5. WIN10下安装Oracle提示无法添加用户XXXX到XXXX组中办法

    WIN10下安装Oracle提示"无法添加用户XXXX到XXXX组中"办法 一般安装过程中不会提示这样的错误.不幸的是我遇到了,然后记录分享一下解决方法: 1.找到安装日志文件 ( ...

  6. 查看oracle监听服务器,处理Oracle 监听文件listener.log问题

    如果连接时候变得较慢 查看Oracle日志记录,可能是因为此文件太大,超过2G, 需要定期清理,(如果多用户,记得用root,可能没权限) 查看listener.log? find / -name l ...

  7. centos oracle 服务自动启动,CentOS下配置Oracle 11gR2为系统服务自动启动

    CentOS下配置Oracle 11gR2为系统服务自动启动 CentOS下配置Oracle 11gR2为系统服务自动启动 为什么80%的码农都做不了架构师?>>> PS:在Wind ...

  8. windows下如何访问linux下的oracle数据库

    我们从上面可以看出: 需要 1.oracle client客户端(这儿使用,oracle instance client ,简单) 2.odbc驱动   oracle instance client默 ...

  9. linux下安装oracle 11g R2

    Linux环境配置 [c-sharp] view plaincopy OS:Fedora 15 DB:Oracle 11gR2 将Oracle安装到home/oracle_11目录 配置过程:本文来自 ...

最新文章

  1. 【数据挖掘笔记四】数据仓库和联机分析处理
  2. 【时光之穿越一千年】python全文字频解析【jieba】【matplotlib构图】案例
  3. 人工智能与图像传感器
  4. java9 堆外内存_java堆外内存泄漏排查
  5. 技术实践丨体验量子神经网络在自然语言处理中的应用
  6. 查看在Ubuntu上打印的大型JSON文件
  7. Go语言Web框架gwk介绍 (四)
  8. resultMap和resultType的整体的区别和联系
  9. html显示ftp资料,获取FTP信息及使用方法
  10. RS编码-Python工具包使用
  11. shiro安全框架 面试题
  12. iTextSharp 添加表格
  13. java使用poi导出excel 包括多个工作簿
  14. 哈利波特魔法觉醒火盾护身卡组推荐 火盾护身如何搭配
  15. 运筹说 第29期 | 对偶理论与灵敏度分析—影子价格
  16. 功夫熊猫中英文字幕版好句子_了解熊猫中的带有复制警告的设置
  17. 读书笔记——《重构》
  18. MySQL占用内存资源过多的解决方法
  19. angular.js-服务-http-路由(5)
  20. EditPlus设置Java代码格式化

热门文章

  1. 2021全球数字经济白皮书 附下载
  2. Oracle11.2.4.0下载地址
  3. java 释放静态变量_java静态变量
  4. Oracle培训之旅-深圳大亚湾
  5. java ntohs_一个ntohs函数的实现 | 学步园
  6. CSDN兴趣标签功能测试验证:感兴趣标签新增、不感兴趣标签新增、兴趣标签还原
  7. Vant 步进器 van-stepper 阻止事件冒泡
  8. 【JS案例】:实现盒子拖拽功能
  9. Vue进阶(贰佰):前端UI框架介绍
  10. quotedStr() 应用--DELPHI