Oracle数据库监控添加
一、采集方式:JDBC
二、监控用户权限要求
1、创建会话权限
2、查询数据字典权限
三、网络通信要求
通信端口:默认是1521(TCP),可通过lsnrctl status命令查看
通信要求:监控设备到被监控设备的通信端口(默认是1521)通讯可访问
四、监控用户创建
对于Oracle 12c及以上版本:
- 【方法一:】在CDB中创建一个全局用户用于监控CDB或PDB(这样如果需要监控多个PDB则不需要再为每个PDB创建不同的监控用户)
- 1、确认已连接到CDB
- ALTER SESSION SET CONTAINER = CDB$ROOT;
- 2、在CDB中创建一个全局用户,其凭证可以用于连接到CDB或者PDB
- CREATE USER C##MONITOR IDENTIFIED BY MONITOR;
- 3、 授权全局监控用户最基本的权限用于监控CDB
- GRANT CREATE SESSION, SELECT_CATALOG_ROLE TO C##MONITOR;
- 4、查询所有PDB名称,状态(该命令等效于show pdbs命令)
- SELECT CON_ID, NAME, OPEN_MODE, RESTRICTED FROM V$PDBS;
- 5、如果PDB未启动,请启动PDB(请替换ORCLPDB1为您的PDB名称;PDB未启动时虽然可以切换连接到此PDB,但无法执行授权语句)
- ALTER PLUGGABLE DATABASE ORCLPDB1 OPEN;
- 6、切换连接到某个PDB(请替换ORCLPDB1为您的PDB名称)
- ALTER SESSION SET CONTAINER = ORCLPDB1;
- 7、授权全局监控用户最基本的权限用于监控某个PDB
- GRANT CREATE SESSION, SELECT_CATALOG_ROLE TO C##MONITOR;
- 8、如果需要监控多个PDB,需要重复执行以下命令进行授权操作
- ALTER SESSION SET CONTAINER = PDB数据库名称;
- GRANT CREATE SESSION, SELECT_CATALOG_ROLE TO C##MONITOR;
- 【方法二:】不使用全局用户监控PDB(这将需要为每个需要监控的PDB创建监控用户;多个PDB中的用户名可以相同,因为每个PDB中的用户相互隔离)
- 1、确认已连接到PDB(请替换ORCLPDB1为要监控的PDB名称)
- ALTER SESSION SET CONTAINER = ORCLPDB1;
- 2、在PDB中创建一个用户,其凭证只能在当前PDB中使用
- CREATE USER MONITOR IDENTIFIED BY MONITOR;
- 3、授权全局监控用户最基本的权限用于监控当前PDB
- GRANT CREATE SESSION, SELECT_CATALOG_ROLE TO MONITOR;
复制代码
对于Oracle 12c之前版本:
- 1、创建一个监控用户
- CREATE USER MONITOR IDENTIFIED BY MONITOR;
- 2、授权监控用户最基本的权限用于监控
- GRANT CREATE SESSION, SELECT_CATALOG_ROLE TO MONITOR;
复制代码
五、自动发现方式添加监控
添加前需要准备以下信息:
- SID(实例名)或SERVICENAME ##可通过lsnrctl status命令查看
- 监控用户名密码信息(MONITOR/MONITOR)
监控添加步骤:
- 点击状态监控à添加资源à自动发现,进入自动发现页面,如图:
- 点击自动发现数据库,填写数据库信息,填写完毕后,点击“开始”自动扫描设备,如图:
注:用户名密码使用大写
- 勾选已发现的资源,点击添加à直接添加à阈值模板(可以选择系统默认阈值模板,也可以选择自定义阈值模板),点击确定,则被选中的资源成功纳入到监控系统中,如图:
- 已添加的资源,在状态监控à所有资源à资源列表中,点击资源名称,进入该资源详细指标列表界面,可以查看已监控的指标采集信息、历史图、修改阈值条件等,如图:
- 也可以点击资源视图,通过图表信息快速查看设备监控详情,如图:
- 在指标列表界面,点击指标后的历史图按钮,可以查看相应指标的趋势图;
- 在指标列表界面,点击指标后的修改按钮,可以修改相应指标的阈值条件、告警级别、采集间隔等信息;
六、常见问题处理
1、自动发现数据库失败时,可在页面上查看报错输出,根据输出排查问题。
- 如下图所示,可能是由于用户名密码错误或者用户角色选择错误导致的。
- 如下图所示,可能是由于网络不通或者JDBC端口不通导致的。
- 如下图所示,可能是由于监听服务未启动或者实例名错误导致的,可通过命令lsnrctl status查看实例名或监听状态。
2、对于已加入监控的资源,采集突然出现“无法连接数据库”报错,点击配置,可在资源监测页面,测试JDBC连接是否正常
如果连接异常,系统会给出错误信息提示,可根据提示排查问题。
|