Oracle数据库的Splunk附加组件允许Splunk软件管理员从Oracle数据库服务器收集和提取数据。该插件可以通过在安装Oracle数据库服务器的操作系统上监视标准和细粒度的审计跟踪,跟踪文件,事件,警报,侦听器以及其他日志来直接导入数据。通过日志文件监视和字段提取,数据库管理员可以创建警报和仪表板,以实时跟踪数据库发生的错误,问题或事件。该插件利用Splunk DB Connect从Oracle数据库表收集基本性能和清单数据。使用跟踪日志以及清单和性能指标,数据库管理员可以关联事件。
该插件提供了输入和CIM兼容知识,可以将Oracle数据与其他Splunk应用程序一起使用,例如Splunk Enterprise Security,Splunk应用程序用于PCI合规性以及Splunk IT服务智能。
该插件的文档发布在Splunk Docs中。
版本:3.7.0
支持产品:Oracle Database Server 10g/11g/12c
在Splunk Web中可见:不可见
Oracle数据库的Splunk附加组件允许Splunk软件管理员从Oracle数据库服务器收集和提取数据。该插件可以通过在安装Oracle数据库服务器的操作系统上监视标准和细粒度的审计跟踪,跟踪文件,事件,警报,侦听器以及其他日志来直接导入数据。通过日志文件监视和字段提取,数据库管理员可以创建警报和仪表板,以实时跟踪数据库发生的错误,问题或事件。该插件利用Splunk DB Connect从Oracle数据库表收集基本性能和清单数据。使用跟踪日志以及清单和性能指标,数据库管理员可以关联事件。
该插件提供了输入和CIM兼容知识,可以将Oracle数据与其他Splunk应用程序一起使用,例如Splunk Enterprise Security,Splunk应用程序用于PCI合规性以及Splunk IT服务智能。
从 http://splunkbase.splunk.com/app/1910 下载来自Splunkbase的Oracle数据库Splunk加载项。
在 http://answers.splunk.com/answers/app/1910 上讨论有关Splunk Answers的Oracle数据库Splunk加载项。
Oracle数据库Splunk附加组件从Oracle数据库服务器中的不同来源收集不同的日志和事件。附件为每个不同的日志或事件源分配不同的源类型。
许多Oracle日志文件提供纯文本格式或XML格式的选项。您可以选择以这两种格式之一配置日志,因为此加载项支持两种格式的字段提取。通常,XML格式的日志具有更多详细信息,并且更易于解析,但可能会占用更多OS磁盘空间。
您可以自定义Oracle中大多数日志文件的位置和名称。下表提供了每个日志文件的默认位置以及在位置更改时可以运行的查询。
下表下方提供了有关此插件支持的不同日志和事件数据的更多信息。
https://docs.splunk.com/Documentation/AddOns/released/Oracle/Datatypes
Oracle审核是监视和记录选定的用户数据库操作。Oracle数据库有两种主要的审计类型:标准审计跟踪和细粒度审计跟踪。
标准审核跟踪审核包括:
细粒度的审计跟踪审计包括:
Oracle数据库管理员可以配置数据库以纯文本格式或XML格式编写审核跟踪。加载项可以解析文本格式或XML格式的标准审核跟踪,但是加载项只能解析XML格式的细粒度审核跟踪。
当审核跟踪采用XML格式时,audit或AUDITTYPE字段会告知审核记录是标准,SYS,细粒度还是强制性审核跟踪。您可以通过监视审核事件来创建Splunk警报和仪表板。例如,警报或仪表板可以显示何时以及哪个客户端以SYSDBA的形式连接到数据库,失败的操作,何时以及哪个客户端对目标表进行了拖放/更新/选择,发生了谁以及发生了多少登录失败。
由于该附件旨在监视审核跟踪文件,因此Oracle数据库管理员需要配置审核跟踪以写入操作系统文件系统。在Windows上,纯文本审核记录写入Windows Event Viewer服务,而不是保留在OS文件系统中。此版本的加载项不支持从Windows Event Viewer服务提取文件。
有关如何设置Oracle数据库操作系统审计的更多信息,请参考Oracle数据库安全指南10g / 11g / 12c: http://docs.oracle.com/cd/E11882_01/network.112/e36292/auditing.htm#DBSEG60061
审核日志源类型映射到以下CIM数据模型:
Source Type | CIM数据模型 |
---|---|
oracle:audit:text | Change Analysis数据模型对象:Account_Management Authentication数据模型对象:身份验证 |
oracle:audit:xml | 同上 |
oracle:accountManagement | Change Analysis数据模型对象:Account_Management |
在Oracle 12c中,引入了新的数据库审核基础。Oracle Unified Auditing更改了数据库的基本审核功能。在Oracle的早期版本中,每个单独的组件都有单独的审核记录。统一审核将所有审核整合到一个存储库和视图中。这提供了两方面的简化:现在可以在单个位置找到审核数据,并且所有审核数据都采用单一格式。Oracle 12c统一审核支持:
统一审核是Oracle Enterprise Edition的标准配置。无需其他许可证。默认情况下已安装,但默认情况下未完全启用。有两种操作模式允许从12c之前的审核过渡:
警报日志捕获消息和错误,包括:
设置附件以监视文本格式或XML格式的警报日志,具体取决于Oracle数据库管理员已配置的内容。如本页顶部的表格中所列,文本格式和XML格式警报日志共存于11g/12c中。您只需要使用插件监视其中之一即可。请注意,XML格式的警报日志比纯文本格式的警报日志包含更多信息。
此加载项为不同类别的错误创建事件类型。例如,eventtype = oracle:internalError通过跟踪日志和警报日志搜索所有ORA-00600错误。
警报日志源类型oracle:alert:text和oracle:alert:xml不会映射到公共信息模型。
侦听器日志对于网络服务故障排除和实时安全监视很有用。
侦听器日志包括:
侦听器日志源类型映射到以下CIM数据模型:
Source Type|CIM数据模型
oracle:listener:text|Authentication数据模型对象:身份验证
oracle:listener:xml|同上
跟踪日志用于事件,错误和事件报告。数据库中发生的大多数错误都记录在跟踪文件中。Oracle数据库管理员还可以打开特定会话的跟踪。跟踪文件的格式不正确,因此该加载项无法解析或提取跟踪文件的字段。相反,它创建事件类型以搜索错误(所有ORA-xxx错误)。
跟踪日志源类型oracle:trace不会映射到公共信息模型。
在11g中引入了事件日志。当发生严重错误(例如,系统崩溃)时,将生成事件并将此事件记录在警报和跟踪日志中。事件日志与跟踪日志的相似之处在于格式不正确。该附加组件创建事件类型oracle:incident来搜索现有事件。Splunk管理员可以创建保存的搜索来监视关键事件,发出警报并采取措施。
事件日志源类型oracle:incident不会映射到公共信息模型。
Oracle数据库的Splunk附加组件利用Splunk DB Connect查询库存事件。关键清单是Oracle实例,数据库,会话,SGA信息,表空间和表空间使用情况。Oracle数据库管理员可以在清单与其他跟踪/审计事件和性能指标之间进行事件关联,并在一个中央位置查看所有数据库实例及其指标。
下表列出了每种源类型映射到的CIM和ITSI数据模型。
Source Type | CIM数据模型 | ITSI数据模型 |
---|---|---|
oracle:instance | Databases数据模型对象: All_Databases | Databases数据模型对象: Inventory |
oracle:instanceReadWrite | Databases数据模型对象: All_Databases | none |
oracle:database | Databases数据模型对象: All_Databases | none |
oracle:session | Databases数据模型对象: All_Databases | Databases数据模型对象: Session |
oracle:sga | Databases数据模型对象: All_Databases | none |
oracle:table | Databases数据模型对象: All_Databases | Databases数据模型对象: Table |
oracle:tablespace | none | none |
oracle:tablespaceMetrics | Databases数据模型对象: Tablespace Databases数据模型对象: Storage |
Databases数据模型对象: Query |
Oracle数据库的Splunk插件利用Splunk DB Connect查询性能指标。基本性能指标是数据库文件I / O性能,Oracle系统性能,Oracle库高速缓存性能和主机OS性能。Oracle系统性能收集了许多性能指标,包括缓存命中率,数据库CPU性能,网络流量,SQL服务响应时间以及Oracle物理和逻辑I / O统计信息。Oracle数据库管理员或Splunk Enterprise管理员可以创建性能趋势显示板或警报。
下表列出了每种源类型映射到的CIM和ITSI数据模型。
Source Type | CIM数据模型 | ITSI数据模型 |
---|---|---|
oracle:dbFileIoPerf | none | none |
oracle:sysPerf | Databases data model object: All_Databases | Databases data model object: Performance |
oracle:osPerf | none | none |
oracle:libraryCachePer | none | none |
oracle:connections | Databases data model object: All_Databases | Databases data model object: Performance |
oracle:pool:connections | Databases data model object: All_Databases | Databases data model object: Performance |
oracle:database:size | Databases data model object: All_Databases | Databases data model object: Performance |
oracle:table | none | Databases data model object: Table |
oracle:user | Databases data model object: All_Databases | Databases data model object: User |
oracle:query | Databases data model object: Database_Query | Databases data model object: Query |
oracle:session | none | Databases data model object: Session |
oracle:cpuLoadPerf | Databases data model object: CPU | none |
oracle:dbIoPerf | Databases data model object: Storage | none |
oracle:memPerf | Databases data model object: Memory | none |
oracle:networkPerf | Databases data model object: Network | none |
oracle:readwrite | Databases data model object: All_Databases | Databases data model object: Performance |
oracle:avgExecutions | Databases data model object: All_Databases | none |
完成以下步骤来安装和配置此加载项。
如果您需要有关如何在特定部署环境中安装插件的逐步说明,请参阅此页面底部的安装演练部分,以获取特定于单实例部署,分布式部署,Splunk Cloud或Splunk Light。
使用下表确定在Splunk Enterprise的分布式部署中或在使用转发器来获取数据的任何部署中,在何处以及如何安装此加载项。具体取决于您的环境,首选项和要求。插件,您可能需要在多个位置安装插件。
除非另有说明,否则所有受支持的加载项都可以安全地安装到分布式Splunk平台部署的所有层中。有关更多信息,请参见Splunk附加组件中的何处安装Splunk附加组件。
下表为将特定附件安装到Splunk平台的分布式部署提供了参考。
Splunk平台实例类型 | 支持 | 需要 | 需要采取的行动/评论 |
---|---|---|---|
Search Heads | 支持 | 是 | 在需要Oracle知识管理的所有搜索头上安装此附加组件。 |
Indexers | 支持 | 可选 | 如果要通过通用转发器在Oracle服务器上本地监视文件,则为必需。 |
Heavy Forwarders | 支持 | 查看评论 | 为了收集清单和性能事件,必须在安装了Splunk DB Connect的情况下使用重型转发器。 对于监视器输入,可以使用直接安装在运行Oracle服务器的计算机上的通用转发器。 |
Universal Forwarders | 支持 | 查看评论 | 仅支持监视器输入。转发器需要直接安装在Oracle服务器上,以监视本地日志。 |
下表描述了此插件与Splunk分布式部署功能的兼容性。
Splunk平台实例类型 | 支持 | 需要采取的行动/评论 |
---|---|---|
Search Head Clusters | 支持 | 在将此附加组件安装到群集之前,请对附加软件包进行以下更改: 1. 删除eventgen.conf文件和samples文件夹中的所有文件。 2. 删除database.conf文件。 |
Indexer Clusters | 支持 | 在将此附加组件安装到群集之前,请对附加软件包进行以下更改: 1. 删除eventgen.conf文件和samples文件夹中的所有文件。 2. 删除database.conf文件。 |
Deployment Server | 可选 | 支持将配置的附件部署到多个转发器,以使用文件监视功能进行本地数据收集。DB Connect输入不支持。 |
Splunk加载项手册包括一个安装加载项指南,可帮助您将任何Splunk支持的加载项成功安装到Splunk平台。
有关安装过程的演练,请单击与您的部署方案匹配的链接:
适用于Oracle数据库的Splunk插件3.5.0版旨在与Splunk DB Connect v2一起使用。Splunk DB Connect v1继续受支持,但是建议升级到DB Connect v2。此版本中的新源类型只能使用DB Connect v2收集。
如果您是DB Connect v2用户,并且正在将Oracle Database Splunk附加组件从3.3.0版和更早版本升级到3.5.0,并且想要开始收集新的性能事件(用于Splunk IT Service Intelligence应用程序或否则),复制新源类型的输入节,即oracle:connections,oracle:pool:connections,oracle:database:size,oracle:table,oracle:user,oracle:query和为oracle:session更新的输入节,oracle:sysPerf和oracle:instance,从dbx2.inputs.conf.template到您的DB Connect v2 input.conf文件,并根据需要进行修改。
如果您是DB Connect v1用户,并且要将Oracle Database Splunk附加组件从3.3.0版和更早版本升级到3.5.0,以开始收集此版本中可用的新性能事件,或者将Oracle数据与 IT Service Intelligence应用程序,您必须首先升级到DB Connect v2。
如果您是DB Connect v1用户,并且要将Oracle Database Splunk附加组件从3.3.0版和更早版本升级到3.5.0,并且想要继续收集已经收集的源类型的事件,则需要 按照设置数据库连接部分中的说明编辑transforms.conf文件,以确保该文件包含正确的行以与DB Connect v1一起使用,因为在此发行版中默认情况下transforms.conf文件旨在与DB Connect v2一起使用 。
这些说明假定您的转发器(或单实例Splunk Enterprise)直接安装在Oracle数据库服务器上。
在本地inputs.conf文件中设置监视器节,以配置以下Oracle数据库服务器日志文件的输入:
请注意,这些说明不适用于清单或性能日志。有关配置清单和性能日志的输入的信息,请参阅配置Splunk DB Connect输入。
如果您不想收集清单和性能事件,请在local/inputs.conf中不要包含任何依赖于DB Connect的输入节,否则在启动时会看到错误。
[monitor:///u01/oracle/admin/*/adump/*.xml]
sourcetype = oracle:audit:xml
crcSalt =
[monitor:///u01/oracle/admin/*/adump/*.aud]
sourcetype = oracle:audit:text
crcSalt =
[monitor:///u01/oracle/admin/*/bdump/alert*.log*]
sourcetype = oracle:alert:text
crcSalt =
[monitor:///u01/oracle/product/db_1/network/log/listener.log*]
sourcetype = oracle:listener:text
crcSalt =
[monitor:///u01/oracle/admin/orcl/udump/*.trc]
sourcetype = oracle:trace
crcSalt =
[monitor:///u01/app/oracle/admin/*/adump/*.xml]
sourcetype = oracle:audit:xml
crcSalt =
[monitor:///u01/app/oracle/admin/*/adump/*.aud]
sourcetype = oracle:audit:text
crcSalt =
[monitor:///u01/app/oracle/diag/rdbms/*/*/alert/log*.xml]
sourcetype = oracle:alert:xml
crcSalt =
[monitor:///u01/app/oracle/diag/tnslsnr/*/listener/alert/log*.xml]
sourcetype = oracle:listener:xml
crcSalt =
[monitor:///u01/app/oracle/diag/rdbms/*/*/trace/*.trc]
sourcetype = oracle:trace
crcSalt =
[monitor:///u01/app/oracle/diag/rdbms/*/*/incident/incdir*/*.trc]
sourcetype = oracle:incident
crcSalt =
[monitor:///u01/app/oracle/admin/*/adump/*.xml]
sourcetype = oracle:audit:xml
crcSalt =
[monitor:///u01/app/oracle/admin/*/adump/*.aud]
sourcetype = oracle:audit:text
crcSalt =
[monitor:///u01/app/oracle/diag/rdbms/*/*/alert/log.xml*]
sourcetype = oracle:alert:xml
crcSalt =
[monitor:///u01/app/oracle/diag/tnslsnr/*/listener/alert/log.xml*]
sourcetype = oracle:listener:xml
crcSalt =
[monitor:///u01/app/oracle/diag/rdbms/*/*/trace/*.trc]
sourcetype = oracle:trace
crcSalt =
[monitor:///u01/app/oracle/diag/rdbms/*/*/incident/incdir*/*.trc]
sourcetype = oracle:incident
crcSalt =
[monitor://C:\app\Administrator\admin\*\adump\*.xml]
sourcetype = oracle:audit:xml
crcSalt =
[monitor://C:\app\Administrator\admin\*\adump\*.aud]
sourcetype = oracle:audit:text
crcSalt =
[monitor://C:\app\Administrator\diag\rdbms\*\*\alert\log.xml*]
sourcetype = oracle:alert:xml
crcSalt =
[monitor://C:\app\Administrator\diag\tnslsnr\*\listener\alert\log.xml*]
sourcetype = oracle:listener:xml
crcSalt =
[monitor://C:\app\Administrator\diag\rdbms\*\*\trace\*.trc]
sourcetype = oracle:trace
crcSalt =
[monitor://C:\app\Administrator\diag\rdbms\*\*\incident\incdir*\*.trc]
sourcetype = oracle:incident
crcSalt =
[monitor://C:\app\oracle\admin\*\adump\*.xml]
sourcetype = oracle:audit:xml
crcSalt =
[monitor://C:\app\oracle\admin\*\adump\*.aud]
sourcetype = oracle:audit:text
crcSalt =
[monitor://C:\app\oracle\diag\rdbms\*\*\alert\log.xml*]
sourcetype = oracle:alert:xml
crcSalt =
[monitor://C:\app\oracle\diag\tnslsnr\*\listener\alert\log.xml*]
sourcetype = oracle:listener:xml
crcSalt =
[monitor://C:\app\oracle\diag\rdbms\*\*\trace\*.trc]
sourcetype = oracle:trace
crcSalt =
[monitor://C:\app\oracle\diag\rdbms\*\*\incident\incdir*\*.trc]
sourcetype = oracle:incident
crcSalt =
为了从您的Oracle数据库服务器收集清单和性能数据,用于Oracle数据库的Splunk附加组件利用Splunk DB Connect。本主题介绍了DB Connect 3.1版的说明。
要使用Splunk DB Connect GUI创建与Oracle数据库服务器的数据库连接,请执行以下操作:
有关使用GUI设置新数据库连接的分步说明,请参阅Splunk DB Connect手册中的创建和管理数据库连接。
如果要创建Oracle数据库输入,请在DB Connect的模板字段下选择为Oracle数据库的Splunk附件创建的模板。请注意,如果创建oracle:audit:unified输入,则需要将时区字段设置为UTC。
有关可应用于所有加载项的疑难解答提示,请参阅对Splunk加载项中的加载项进行故障排除。有关其他资源,请参阅Splunk附件中的附件支持和资源链接。
该加载项没有视图,因此不能在Splunk Web中看到。如果您尝试启动或加载该加载项的视图,并且遇到意外的结果,请关闭加载项的可见性。
有关附加组件可见性的更多详细信息以及关闭可见性的说明,请参阅“Splunk附加组件疑难解答”主题中的检查该附加组件是否是可见的。
输入节oracle:sysPerf在尾模式下使用END_TIME作为上升列,在$SPLUNK_HOME/var/log/splunk/dbx2.log中产生错误日志。例如:
04/07/2015 15:12:17 [ERROR] [ws.py] [DBInput Service] ERROR: ORA-01861: literal does not match format string .
04/07/2015 15:12:17 [ERROR] [websocket.py] ERROR: ORA-01861: literal does not match format string
这是将END_TIME转换并比较为上升列而不会影响功能的良性副作用。
有关更多信息,请参见 http://stackoverflow.com/questions/22542882/sql-error-ora-01861-literal-does-not-match-format-string-01861 。
适用于Oracle数据库的Splunk附加组件依赖于重型转发器上的标准监视器输入和DB Connect托管输入。有关故障排除的建议,请参考以下资源:
对Splunk DB Connect进行故障排除:Splunk DB Connect手册中的故障排除。
对监视器输入进行故障排除:http://wiki.splunk.com/Community:Troubleshooting_Monitor_Inputs
对转发器设置进行故障排除:Splunk Enterprise文档的一部分《转发数据》手册中的对转发器/接收器连接进行故障排除。
用于Oracle数据库的Splunk附加组件具有以下查找,这些查找将Oracle数据库系统中的字段映射到Splunk平台中符合CIM的值。查找文件位于$SPLUNK_HOME/etc/apps/Splunk_TA_oracle/lookups中。
文件名 | 描述 |
---|---|
oracle_audit_action.csv | 映射ACTION到NAME |
oracle_audit_type.csv | 映射AUDITTYPE到audit |
oracle_fga_statement_type.csv | 映射SYMTTYPE到statementtype |
oracle_ora_codes.csv | 映射ORACODE到DESCRIPTION, CAUSE, ACTION |
oracle_returncode.csv | 映射RETURNCODE到result |
oracle_system_privilege_map.csv | 映射PRIVILEGE到PRIVUSED, PRIVGRANTED, privilege |