通过Zabbix监控数据库

一、网络策略配置
Zabbix Server——>Zabbix Agent  端口:10050
Zabbix Agent——> Zabbix Server 端口:10051
Zabbix Server——>Zabbix Agent  端口:3306、27017、27019
10050(目标端口用于被动模式)Zabbix Agent默认监听此端口,Zabbix Server主动连接以请求监控数据。
10051(源端口用于主动模式)Zabbix Server默认监听此端口,接收Zabbix Agent主动上报的监控数据。

二、创建连接数据库时使用的数据库用户名
-- Mysql --
create user monitor@'%'identified by ' monitor';
grant select, process, replication client on *.* to 'monitor'@'%'; #授权读取、查看所有用户进程以及主从复制状态。
-- ORACLE --
#创建用户MONITOR,指定表空间和临时表空间
CREATE USER MONITOR IDENTIFIED BY "MONITOR"
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON USERS;
#用户拥有的角色
GRANT CONNECT TO MONITOR; 
#用户的系统权限
GRANT SELECT ANY DICTIONARY TO MONITOR; 
#动态性能视图授权
GRANT SELECT ON SYS.V_$LOG TO MONITOR;
GRANT SELECT ON SYS.V_$OSSTAT TO MONITOR;
GRANT SELECT ON SYS.V_$PGASTAT TO MONITOR;
GRANT SELECT ON SYS.V_$PROCESS TO MONITOR;
GRANT SELECT ON SYS.V_$RECOVERY_FILE_DEST TO MONITOR;
GRANT SELECT ON SYS.V_$RESTORE_POINT TO MONITOR;
GRANT SELECT ON SYS.V_$SGASTAT TO MONITOR;
GRANT SELECT ON SYS.V_$SYSMETRIC TO MONITOR;
GRANT SELECT ON SYS.V_$ARCHIVE_DEST TO MONITOR;
GRANT SELECT ON SYS.V_$ASM_DISKGROUP TO MONITOR;
GRANT SELECT ON SYS.V_$DATABASE TO MONITOR;
GRANT SELECT ON SYS.V_$DATAFILE TO MONITOR;
GRANT SELECT ON SYS.V_$INSTANCE TO MONITOR;
GRANT SELECT ON SYS.V_$ACTIVE_SESSION_HISTORY TO MONITOR;
#数据字典视图授权
GRANT SELECT ON SYS.DBA_TABLESPACES TO MONITOR;
GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS TO MONITOR;
GRANT SELECT ON SYS.DBA_FREE_SPACE TO MONITOR;
GRANT SELECT ON SYS.DBA_USERS TO MONITOR;
GRANT SELECT ON SYS.DBA_DATA_FILES TO MONITOR;

三、定义模板宏监控参数

-- Template MySQL --
宏:{$MYSQL.ABORTED_CONN.MAX.WARN} 值:5 
描述:由于各种原因被异常终止的连接数,终止的数量达到5时,系统会发出警告。           
宏:{$MYSQL.BUFF_DIRTY_PAGES_UTIL.MAX.WARN}  值:65           
描述:当脏页dirty pages占缓冲池Buffer Pool总页数的比例达到或超过65%时
宏:{$MYSQL.BUFF_FREE_PAGES.MIN.WARN}   值:500          
描述:InnoDB缓冲池中空闲页数量的最小警告阈值当空闲页数量低于500页时,系统会触发警告。
宏:{$MYSQL.BUFF_UTIL.MIN.WARN} 值:30           
描述:InnoDB缓冲池利用率低于30%时,系统会触发警告,说明分配给缓冲池的内存可能未被充分利用,存在资源浪费。
宏:{$MYSQL.CREATED_TMP_DISK_TABLES.MAX.WARN} 值:10           
描述:当系统在执行查询时,因内存不足或临时表过大而需要在磁盘上创建临时表的次数达到或超过10次时,系统会触发警告。
宏:{$MYSQL.CREATED_TMP_FILES.MAX.WARN}  值:10           
描述:数据库在执行过程中创建的临时文件数量的最大警告阈值。当临时文件数量达到或超过10个时,系统会触发警告
宏:{$MYSQL.CREATED_TMP_TABLES.MAX.WARN}  值:30           
描述:5分钟内创建的临时表平均每分钟超过30个
宏:{$MYSQL.USER} 值:monitor      
描述:指定连接Oracle数据库时使用的数据库用户名
宏:{$MYSQL.PASSWORD} 值:monitor 
描述:指定连接Oracle数据库时使用的数据库用户密码
宏:{$MYSQL.REPL_LAG.MAX.WARN} 值:30m          
描述:表示在过去的5分钟内从库落后主库的复制延迟超过了30分钟
宏:{$MYSQL.SESSION.LONG.QUERY.MAX.WARN}  值:1            
描述:单个会话中执行的长查询数量达到或超过1个,系统会触发警告。
宏:{$MYSQL.SESSION.QUERY.MAX.TIME} 值:180          
描述:单个查询SQL语句的持续执行时间达到或超过180秒(即3分钟)时,系统会触发警告。
宏:{$MYSQL.SLOW_QUERIES.MAX.WARN}  值:15           
描述:5分钟内慢查询的数量超过了15条告警

-- Template Oracle --
宏:{$ORACLE.ASM.USED.PCT.MAX.HIGH}  值:95           
描述:Oracle自动存储管理(ASM)磁盘组使用率的最高阈值,当达到95%时系统会触发高使用率警告
宏:{$ORACLE.ASM.USED.PCT.MAX.WARN}  值:90           
描述:名为 ORCL 的 ASM 磁盘组的使用率达到90%时,系统会触发一个警告
宏:{$ORACLE.CONCURRENCY.MAX.WARN}   值:80           
描述:当并发活动数达到系统最大并发限制的80%时,系统会发出警告
宏:{$ORACLE.DB.FILE.MAX.WARN}     值:90           
描述:当数据库文件(如数据文件、控制文件、日志文件等)的使用空间达到其最大允许容量的90%时,系统会触发警告
宏:{$ORACLE.DBNAME.MATCHES}      值:.*           
描述:用于验证数据库名称是否符合特定的正则表达式模式,其值设置为 .* 表示允许匹配任意字符串的数据库名称
宏:{$ORACLE.DBNAME.NOT_MATCHES}     值:PDB\$SEED    
描述:用于指定一个数据库名称的排除规则,即任何名称等于 PDB$SEED 的数据库都将被排除在匹配范围之外
宏:{$ORACLE.DG.APPLY_LAG.MAX.HIGH}  值:30m          
描述:用于监控Oracle DataGuard环境中数据应用的延迟情况当备库上的日志应用延迟时间达到或超过30分钟系统会触发高严重性警报
宏:{$ORACLE.USER}                 值:MONITOR     
描述:指定连接Oracle数据库时使用的数据库用户名  
宏:{$ORACLE.PASSWORD}               值:MONITOR
描述:指定连接Oracle数据库时使用的数据库用户密码
宏:{$ORACLE.DG.TRANSPORT_LAG.MAX.HIGH} 值:30m          
描述:用于监控Oracle DataGuard环境中用于监控数据传输延迟,当主库产生的重做日志传输到备库的时间延迟达到或超过30分钟时系统会触发高严重性警报
宏:{$ORACLE.DSN}                     值:<Put your DSN here> 
描述:定义连接Oracle数据库时使用的数据源名称(Data Source Name)
宏:{$ORACLE.EXPIRE.PASSWORD.MIN.WARN}  值:7            
描述:当用户密码距离过期还有7天时,系统会触发警告提示
宏:{$ORACLE.PGA.USE.MAX.WARN}         值:90           
描述:当PGA内存使用率超过90%时,系统会触发警告机制
宏:{$ORACLE.PORT}                     值:1521         
描述:Oracle数据库的默认监听端口号
宏:{$ORACLE.PROCESSES.MAX.WARN}       值:80           
描述:当前活动的进程数达到PROCESSES参数最大值的80%时,系统会触发警告
宏:{$ORACLE.REDO.MIN.WARN}            值:1            
描述:用于设置Oracle数据库重做日志(Redo Log)使用率为1%的最小警告阈值,在重做日志空间即将耗尽之前就收到通知
宏:{$ORACLE.SESSION.LOCK.MAX.TIME}    值:120          
描述:会话被锁定的最大持续时间,超过120分钟系统会触发警告和终止
宏:{$ORACLE.SESSION.LONG.LOCK.MAX.WARN} 值:3            
描述:针对单个会话的锁持有时间进行监控,达到设定值(如3分钟)时触发警告
宏:{$ORACLE.SESSIONS.LOCK.MAX.WARN}    值:20           
描述:针对全局会话总数的锁情况进行监控。当系统中所有会话持有的锁总数达到设定值(如20个)时,触发警告
宏:{$ORACLE.SESSION.LONG.WAIT.MAX.WARN} 值:3            
描述:当会话中长等待事件的最大警告阈值,等待事件持续时间达到或超过3分钟时,系统会触发警告
宏:{$ORACLE.SESSION.WAIT.MAX.TIME}      值:300          
描述:当会话等待事件的最大持续时间达到或超过300秒(即5分钟)时,系统会触发警告或自动终止该会话
宏:{$ORACLE.SESSIONS.MAX.WARN}          值:80           
描述:当系统中活动会话的数量达到数据库允许的最大会话数(SESSIONS_MAX)的80%时,系统会触发警告
宏:{$ORACLE.SHARED.FREE.MIN.WARN}       值:5            
描述:数据库共享池Shared Pool中空闲内存最小警告阈值,其值5表示当共享池的空闲内存低于总容量的5%时,系统会触发警告
宏:{$ORACLE.TABLESPACE.NAME.MATCHES}    值:.*           
描述:是一个用于匹配表空间名称的正则表达式参数,其值.*表示匹配任意字符串
宏:{$ORACLE.TABLESPACE.NAME.NOT_MATCHES} 值:TEMP         
描述:指定一个表空间名称的排除规则,系统会排除所有名称为TEMP的表空间
宏:{$ORACLE.TBS.FREE.MIN.HIGH}        值:32212254720  
描述:用于设置Oracle表空间中空闲空间的最小高水位线警告阈值为30GB
宏:{$ORACLE.TBS.USED.PCT.MAX.WARN}    值:90           
描述:当表空间的使用率达到90%时,系统会触发警告
宏:{$ORACLE.TBS.USED.PCT.MAX.HIGH}    值:93           
描述:表空间使用率的最高严重级别告警阈值,当表空间的使用率达到或超过93%时统会生成一个严重告警
宏:{$ORACLE_ALERT_LOG}                值:             
描述:用于定义数据库告警日志文件(Alert Log)的存储路径和名称

四、被监控主机安装zabbix-agent

五、Zabbix控制台—配置—主机—添加主机

链接的模板

六、Zabbix控制台—配置—动作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值