Zabbix监控Oracle数据库运维操作笔记

smartmarmot里面的插件可以监控所有常见数据库,但2016年之前很久没有更新,2016年底升级到2.2版本,整合了之前零散的数据库监控插件,但我并没有监控成功,留待以后再试吧。

插件官方:http://www.smartmarmot.com/product/orabbix/

Zabbix监控Apache

1、上传插件到/opt目录下

2、复制/opt/dbforbix/conf/config.properties.sample到config.properties,并编辑。样例如下:

  1. #comma separed list of Zabbix servers
  2. ZabbixServerList=ZabbixServer1
  3. ZabbixServer1.Address=192.168.0.220
  4. ZabbixServer1.Port=10051
  5. #pidFile
  6. OrabbixDaemon.PidFile=./logs/orabbix.pid
  7. #frequency of item's refresh
  8. OrabbixDaemon.Sleep=300
  9. #MaxThreadNumber should be >= than the number of your databases
  10. OrabbixDaemon.MaxThreadNumber=100
  11. #put here your databases in a comma separated list
  12. DatabaseList=Monitor-Client6,Monitor-Client5
  13. #Configuration of Connection pool
  14. #if not specified Orabbis is going to use default values (hardcoded)
  15. #Maximum number of active connection inside pool
  16. DatabaseList.MaxActive=10
  17. #The maximum number of milliseconds that the pool will wait
  18. #(when there are no available connections) for a connection to be returned
  19. #before throwing an exception, or <= 0 to wait indefinitely.
  20. DatabaseList.MaxWait=100
  21. DatabaseList.MaxIdle=1
  22. #define here your connection string for each database
  23. Monitor-Client6.Url=jdbc:oracle:thin:@192.168.0.237:1521:orcl
  24. Monitor-Client6.User=zabbix
  25. Monitor-Client6.Password=zabbix
  26. Monitor-Client6.MaxActive=10
  27. Monitor-Client6.MaxWait=100
  28. Monitor-Client6.MaxIdle=1
  29. Monitor-Client6.QueryListFile=./conf/query.props
  30. Monitor-Client5.Url=jdbc:oracle:thin:@192.168.0.236:1521:orcl
  31. Monitor-Client5.User=zabbix
  32. Monitor-Client5.Password=vT77$mEdY
  33. Monitor-Client5.MaxActive=10
  34. Monitor-Client5.MaxWait=100
  35. Monitor-Client5.MaxIdle=1
  36. Monitor-Client5.QueryListFile=./conf/query.props

 

备注1:Monitor-Client5要和zabbix中的主机名一致

备注2:

  1. Oracle     =     jdbc:oracle:thin:@<host>:<LISTENER_PORT>:<instance>
  2. PostgreSQL     =     jdbc:postgresql://<host>:<port>/<database>
  3. MS Sql Server  =     jdbc:jtds:sqlserver://<host>:<port>/<instancename>
  4. MySQL Server  =     jdbc:mysql://[host:port],[host:port].../[database]
  5. DB2        =     jdbc:db2://<servername>:<port>/<installation>

 

3、根据需求修改/conf/query.props

可以根据自己的需求,在里面增加key和对应语句,然后在模板中增加Item。

 

4、数据库添加权限

①标准授权:

  1. CREATE USER ZABBIX
  2.  IDENTIFIED BY vT77$mEdY
  3.  DEFAULT TABLESPACE SYSTEM
  4.  TEMPORARY TABLESPACE TEMP
  5.  PROFILE DEFAULT
  6.  ACCOUNT UNLOCK;
  7. --Roles for ZABBIX
  8.  GRANT CONNECT TO ZABBIX;
  9.  GRANT RESOURCE TO ZABBIX;
  10.  ALTER USER ZABBIX DEFAULT ROLE ALL;
  11. --System Privileges for ZABBIX
  12.  GRANT SELECT ANY TABLE TO ZABBIX;
  13.  GRANT CREATE SESSION TO ZABBIX;
  14.  GRANT SELECT ANY DICTIONARY TO ZABBIX;
  15.  GRANT UNLIMITED TABLESPACE TO ZABBIX;
  16.  GRANT SELECT ANY DICTIONARY TO ZABBIX;

②最小授权:

  1. CREATE USER ZABBIX
  2. IDENTIFIED BY vT77$mEdY
  3. DEFAULT TABLESPACE USERS
  4. TEMPORARY TABLESPACE TEMP
  5. PROFILE DEFAULT
  6. ACCOUNT UNLOCK;
  7. GRANT ALTER SESSION TO ZABBIX;
  8. GRANT CREATE SESSION TO ZABBIX;
  9. GRANT CONNECT TO ZABBIX;
  10. ALTER USER ZABBIX DEFAULT ROLE ALL;
  11. GRANT SELECT ON V_$INSTANCE TO ZABBIX;
  12. GRANT SELECT ON DBA_USERS TO ZABBIX;
  13. GRANT SELECT ON V_$LOG_HISTORY TO ZABBIX;
  14. GRANT SELECT ON V_$PARAMETER TO ZABBIX;
  15. GRANT SELECT ON SYS.DBA_AUDIT_SESSION TO ZABBIX;
  16. GRANT SELECT ON V_$LOCK TO ZABBIX;
  17. GRANT SELECT ON DBA_REGISTRY TO ZABBIX;
  18. GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX;
  19. GRANT SELECT ON V_$SYSSTAT TO ZABBIX;
  20. GRANT SELECT ON V_$PARAMETER TO ZABBIX;
  21. GRANT SELECT ON V_$LATCH TO ZABBIX;
  22. GRANT SELECT ON V_$PGASTAT TO ZABBIX;
  23. GRANT SELECT ON V_$SGASTAT TO ZABBIX;
  24. GRANT SELECT ON V_$LIBRARYCACHE TO ZABBIX;
  25. GRANT SELECT ON V_$PROCESS TO ZABBIX;
  26. GRANT SELECT ON DBA_DATA_FILES TO ZABBIX;
  27. GRANT SELECT ON DBA_TEMP_FILES TO ZABBIX;
  28. GRANT SELECT ON DBA_FREE_SPACE TO ZABBIX;
  29. GRANT SELECT ON V_$SYSTEM_EVENT TO ZABBIX;

 

其他项:

1、监控Oracle11需要在comment中执行

  1. exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');
  2.  exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');
  3.  commit;

2、配置启动脚本

  1. /opt/orabbix/init.d/orabbix to /etc/init.d/orabbix

3、增加服务自启动

  1. chkconfig -add orabbix

4、增加主机和模板

 

波波
你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!