监控主机内存、磁盘使用率、进程、数据库

最近自己做了一个监控,对公司所有主机、数据库进行简单的监控,具体包括主机内存剩余量、磁盘使用率,进程监控等,

分享给大家,希望对大家有用,具体配置如下:

1、相应主机内存剩余多少进行监控,可以定制一个阀值,如果低于这个阀值就报警,如1G,下面红框内是要监控的值
普通 linux机器,是用free -m命令,显示如下:

IBM机器,使用vmstat命令,显示如下:

HP机器,使用top -w -d 1命令,显示如下:


2、磁盘分区使用率(BDFUsedPercentProperties),可以定制一个阀值,如果低于这个阀值就报警,如85%

普通 linux和IBM机器都是使用df命令,显示如下:

HP机器使用bdf命令,显示如下:

3、查看打开的文件句柄数,
如果操作系统最大打开数没有限制,当打开数大于3000报警
如果操作系统最大打开数有限制,当打开数大于最大限制数/5
普通linux机器使用/usr/sbin/lsof |wc -l;ulimit -n,前一个命令是当前打开数,后一个命令是最大打开数

IBM机器使用lsof |wc -l;ulimit -n命令,HP机器使用/usr/sbin/kcusage -t maxfiles_lim命令

4、监控进程是否启动,如果没有启动就报警,

oracle数据库是否启动:ps -ef|grep tnslsnr

tomcat进程是否启动:ps -ef|grep tomcat

5、监控表数据库分区、表空间等

监控是否预建表分区,sql语句如下:
监控主机内存、磁盘使用率、进程、数据库_第1张图片

只需监控extra_part是否小于预设的阀值

表空间剩余量,sql语句如下:

监控主机内存、磁盘使用率、进程、数据库_第2张图片

只需监控pct_free是否小于预设的阀值?

6、监控tomcat日志和oracle日志是否包含指定的字符,如“ERROR”、“ORA” ,如:

grep -i 'error' log.log |tail -1

7、监控数据库的连接数,sql语句如下:
select count(*) cou From v$session where username is not null

你可能感兴趣的:(数据库)