OMNIbus概念
Omnibus数据库
ObjectServer,数据库服务器
-
ObjectServer是Tivoli Netcool/OMNIbus核心的数据库服务器。
-
事件信息从外部程序(例如,探测器和网关)转发至ObjectServer。ObjectServer将此信息存储在数据库表中并进行管理,并在事件列表中显示该信息。
-
在标准配置中,事件将直接转发至ObjectServer。可以使用代理服务器来减少探测器与ObjectServer的连接数。
-
可以通过安全方式运行ObjectServer和代理服务器。在此方式中,ObjectServer和代理服务器通过要求提供用户名和密码来认证来自探测器、网管和代理服务器的连接请求。
-
ObjectServer通过使用基于磁盘的检查点和日志来支持数据的持久性。如果服务器异常停止,检查点以系统定义的时间间隔将所有数据写入磁盘以启用数据恢复。在各个检查点之间,对数据库的其他修改将计入磁盘。
Probes,被动接收信息
-
Probe负责处理由监控对象产生并主动发送至监控子系统的信息,将这些信息经过过滤、压缩、内容丰富等处理之后以事件形式发送给ObjServer。
-
Probe是一个几百k的小程序
-
有超过300种Probe可供选用
-
针对不同的监控对象的probe可以使ObjectServer从多种数据源来得到信息,例如LogFiles、APIs、Socket等。
-
-
每一个Probe都是由二进制程序、rules文件、props文件构成,可以对采集到的信息进行丰富处理,且可以进行分布式部署,即与Object不安装在同一台机器上。
-
属性文件props,定义Probe如何工作
-
定义信息的目的ObjectServer
-
运行过程中Debug信息的输出方式
-
与目的ObjectServer的连接方式、用户/口令...
-
-
规则文件rules,定义Probe如何处理收集到的原始信息
-
处理规则的定义文件
-
处理语法类似C
-
支持IF-Then,Switch-Case结构
-
提供一些简单的函数,可以做变量定义
-
-
-
Syslog probe工作机制
-
监控对象发送的log被系统syslogd进程接收,以文本形式存储在/var/log/ncolog文件中
-
syslog probe从ncolog文件中读取log信息
-
syslog probe根据规则文件中定义的处理规则对Log信息进行处理,生成事件
-
规则文件调用外表,来完成事件丰富和级别定义
-
syslog probe将所生成的事件发送给objserver
-
Omnibus压缩概念
-
探针在rules file中定义事件的唯一标志@Identifier
-
Object Server在收到事件时,如果alerts.status已经存在该@Identifier,则更新事件的最后时间和次数
ObjectServer自动化处理 - 故障告警与恢复信息关联
-
事件的Type字段标志事件是故障还是恢复(1为故障,2为恢复)
-
探针在rules file中定义每个事件的Type值
-
恢复关联的Automation定期查看Object Server中是否存在恢复事件
-
如果存在,Node、关键字AlertKey找到与恢复事件的节点、事件组AlertGroup、管理源Manager等字段相同,而且发生时间遭遇恢复事件的故障事件
-
将故障事件的级别降为恢复状态(0)
自动处理 - triggers
-
当事件满足预定义的条件时,启动自动化处理动作
-
用户使用的主要是周期性的自动化,即每n秒、分钟或者小时周期性执行的自动化
-
通过自动化处理可以
-
对事件本身的属性修改,如修改事件的级别
-
执行预定义的外部程序,如登陆指定设备,获取指定信息
-
Gateway
-
Gateway用于从一个Object Server向其他数据源发生数据
-
Gateway的类型由目标数据源的类型决定
-
数据库Gateway
-
单向和双向Object Server Gateway
-
Socket Gateway
-
-
Gateway主要包含
-
Reader:读取数据的源Object Server和过滤条件
-
Writer:写入的目标数据源
-
Map:源和目标的字段对应关系
-
*.map文件定义两数据库中字段和对应关系
*.conf文件定义两个数据库的读写器
Gateway程序调用以上两个文件完成数据库间的数据传输