一、 添加 Oracle监控
Oracle监控也参考zabbix wiki上如下的方法(调用zabora工具):
http://www.zabbix.com/wiki/howto/monitor/db/orcale/oracle
1、 下载oracle监控程序zabora到oracle所在的主机上,修改所在host的agentd.conf,添加监控项,按如下格式:
UserParameter=oracle.name,DIR/zabora pattern sid
监控oracle数据库状态:
UserParameter=oracle.checkactive,/usr/local/zabora checkactive OracleSID
监控oralce数据库连接用户总数
UserParameter=oracle.usercount,/usr/local/zabora usercount OracleSID
更多zabora的监控项参考如下:
zabora version: 1.5
usage:
zabora checkactive [SID] -- Check Intance is active and open.
zabora usercount [SID] -- Count of users connected to Oracle.
zabora activeusercount [SID] -- Count of active users.
zabora dbsize [SID] -- Size of user data (without temp).
zabora dbfilesize [SID] -- Size of all datafiles.
zabora version [SID] -- Oracle version (Banner).
zabora dsksortratio [SID] -- Disk sorts ratio.
zabora rcachehit [SID] -- Read Cache hit ratio.
zabora uptime [SID] -- Instance Uptime (seconds).
zabora commits [SID] -- User Commits.
zabora rollbacks [SID] -- User Rollbacks.
zabora deadlocks [SID] -- Deadlocks.
zabora redowrites [SID] -- Redo Writes.
zabora tblscans [SID] -- Table scans (long tables).
zabora tblrowsscans [SID] -- Table scan rows gotten.
zabora indexffs [SID] -- Index fast full scans (full).
zabora hparsratio [SID] -- Hard parse ratio.
zabora netsent [SID] -- Bytes sent via SQL*Net to client.
zabora netresv [SID] -- Bytes received via SQL*Net from client.
zabora netroundtrips [SID] -- SQL*Net roundtrips to/from client.
zabora logonscurrent [SID] -- Logons current.
zabora lastarclog [SID] -- Last archived log sequence.
zabora lastapplarclog [SID] -- Last applied archive log (at standby).Next items requires [timed_statistics = true].
zabora freebufwaits [SID] -- free buffer waits.
zabora bufbusywaits [SID] -- buffer busy waits.
zabora logswcompletion [SID] -- log file switch completion.
zabora logfilesync [SID] -- log file sync.
zabora logprllwrite [SID] -- log file parallel write.
zabora enqueue [SID] -- enqueue waits.
zabora dbseqread [SID] -- db file sequential read waits.
zabora dbscattread [SID] -- db file scattered read.
zabora dbsnglwrite [SID] -- db file single write.
zabora dbprllwrite [SID] -- db file parallel write.
zabora directread [SID] -- direct path read.
zabora directwrite [SID] -- direct path write.
zabora latchfree [SID] -- latch free.
zabora zaboraver -- Version of this script.
保存配置,重启agentd
2、 在zabbix web页面上创建对应的items和triggers
创建监控oracle数据库状态的item,item key不要select,直接在key栏输入在agent上的UserParameter name
例如监控数据库状态的:oracle.checkactive
创建trigger,选择之前创建的item,最后一次采集值不为0,即为状态有问题。
(注:不确定每个zabora方法的返回值时,可直接在agent上运行获取结果)
二、 添加 SNMP监控
三、 添加通用协议监控
四、 添加自定义监控
对于zabbix功能上无法实现的监控,我们可以通过自己编写程序或脚本来辅助完成,并将脚本的结果通过agent递交给zabbix server统一管理,一样可以绘制graph 报表等。
具体的方法请参考上述oracle监控。
UserParameters的定义方法,请参考:
http://www.zabbix.com/documentation/1.8/manual/config/user_parameters
五、 添加 Templates
如果有大量的同一类设备,需要监控的信息也大致类似,一个个去修改相关参数比较麻烦,我们可以通过创建一个template来简化操作。
Configuration->Host Groups->Template->Create Template
创建template后,在configuration->host->template下找到刚创建的MyLinuxTemplate,修改相关的items、triggers、graphs等信息,使满足要求后link到相关的host即可。
六、 添加Log File
七、 定制报表
八、 添加Macros
Macros指宏变量,定义的宏变量可以在trigger、actions等多种场景中引用。
Macros分系统自带全局宏的及自定义的宏。
系统自带的全局macros列表及解释参考:
http://www.zabbix.com/documentation/1.8/manual/config/macros
引用macros的例子可参考上述action中添加{{Hostname}:{trigger.key}.last(0)}的例子。
Zabbix还支持自定义macros,在添加host或是template时,我们可以在macros项中定义好后续要用到的宏变量,格式为:
{macroname}=macrovalue
自定义的宏变量及系统自带的宏变量都可以在zabbix场景中引用,zabbix在遇到引用的宏变量时,会先查找当前场景中定义的宏,接着查找当前host的自定义宏,接着查找link的template的宏,最后查找zabbix系统自带的全局宏。所以在自定义宏时注意宏引用的顺序。
九、 添加自动发现设备
十、 添加Inventory
Inventory 用来管理设备存档信息的。
在添加host时,勾选右侧的Use profile,我们即可填入该台设备的型号、编码、MAC地址等详细信息,勾选Use extended profile则可以填入更详细的信息。
填写的inventory信息在inventory->hosts下能看到.
十一、 Export/Import XML
Zabbix提供将所有配置导出为标准XML格式的文件,同样,也支持导入标准格式的XML配置文件。
通过configuration->Export/Import->Export,勾选要导出的host,Preview可以展示要导出的host的详细配置,选择export即可导出xml文件到本地。
Import可导入本地的XML文件,注意格式一定要符合标准要求,如果server上有同名的配置,会被覆盖掉。
如果有大量的配置需要手动新增,譬如新增oralce监控,我们可以手动编写xml,一次导入所有的items和triggers,但要注意格式,可自己导出一个配置后参考。