nagios监控postgresql

1.在被监控端安装nagios的nrpe插件

2.在被监控端安装check_postgres

http://bucardo.org/downloads/check_postgres-2.22.0.tar.gz

3.在被监控端配置nrpe.cfg,并起动nrpe服务

vim /etc/nagios/nrpe.cfg


log_facility=daemon
pid_file=/var/run/nrpe/nrpe.pid
server_port=5666
nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=127.0.0.1,***.***.***.***.***#(必须添加监控端ip)
dont_blame_nrpe=0
allow_bash_command_substitution=0
debug=0
command_timeout=60
connection_timeout=300

command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_mnt]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/xvdb1
command[check_mnt1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/xvdc1
command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200
command[check_db_disk]=/usr/lib/nagios/plugins/contrib/check_diskio -d /dev/xvdc1 -w 30 -c 70 --uom=byte --factor=M -t 30
command[check_xlog_disk]=/usr/lib/nagios/plugins/contrib/check_diskio -d /dev/xvdb1 -w 30 -c 70 --uom=byte --factor=M -t 30

command[check_arch]=/usr/bin/check_postgres_archive_ready --output=nagios -db postgres -u postgres -w 10 -c 20
command[check_freeze]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db postgres -u postgres --action=autovac_freeze -w 90% -c 95% --exclude=template1,template0
command[check_conns]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db postgres -u postgres --action=backends -w=800 -c=1500
command[check_bloat]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db cd02,cd03_wk -u postgres --action=bloat -w="200M" -c="500M" --perflimit=10
command[check_checkpoint]=/usr/bin/check_postgres_checkpoint --output=nagios --datadir=$PGHOME  -w 300 -c 600
command[check_commitratio]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db postgres -u postgres --action=commitratio -w 90% -c 80%
command[check_dbsize]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db cd02,cd03_wk -u postgres --action=database_size -w 1T -c 2T --exclude=template1,template0,postgres,pgbench
command[check_hitratio]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db postgres,cd02,cd03_wk -u postgres --action=hitratio -w 90% -c 80% --exclude=template1,template0,pgbench
command[check_relsize]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -db postgres,cd02,cd03_wk -u postgres --action=relation_size -w 10G -c 20G --perflimit=5  --exclude=template1,template0,pgbench
command[check_autovacuum]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db postgres,cd02,cd03_wk --action=last_autovacuum --perflimit=3 -w '3d' -c '7d'  --exclude=template1,template0,pgbench
command[check_autoanalyze]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db postgres,cd02,cd03_wk --action=last_autoanalyze --perflimit=3 -w '3d' -c '7d'  --exclude=template1,template0,pgbench
command[check_locks]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db postgres,cd02,cd03_wk --action=locks -w 100 -c total=250:waiting=5:exclusive=20  --exclude=template1,template0,pgbench
command[check_query_time]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db cd02,cd03_wk --action=query_time -w '10s'
command[check_seq1]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db cd02 --action=sequence -w 90%
command[check_txnidle]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db cd02,cd03_wk --action=txn_idle -w "1 for 100s" -c "3 for 100s"
command[check_xlogs]=/usr/bin/check_postgres.pl --output=nagios -H 127.0.0.1 -p 5432 -u postgres --db postgres --action=wal_files -w 180 -c 200

include_dir=/etc/nrpe.d/

4.在监控端安装nagios监控端也要安装nrpe插件,但是不用起动nrpe)

5.在监控端添加监控命令

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 60
        }

6.在监控端添加监控项配置

vim /etc/nagios/server/db1.cfg

define service{

        use                             generic-service         ; Name of service template to use
        host_name                       db1
    service_description             SSH
    check_command            check_ssh
        }



define service{
        use                             generic-service         ; Name of service template to use
        host_name                       db1
        service_description             Root Partition
        check_command                   check_nrpe!check_root
        }

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       db1
        service_description             Current Load
        check_command                   check_nrpe!check_load
        }

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       db1
        service_description             mnt hd01
        check_command                   check_nrpe!check_mnt
        }

define service{
        use                             generic-service         ; Name of service template to use
        host_name                       db1
        service_description             mnt hd02
        check_command                   check_nrpe!check_mnt1
        }
;check_db1 stauts
define service{
        use                             generic-service         ; Name of service template to use
        host_name                       db1
        service_description             check_arch
        check_command                   check_nrpe!check_arch
        }
define service{
  use generic-service
  host_name db1
  service_description check_freeze
  check_command check_nrpe!check_freeze
}
define service{
  use generic-service
  host_name db1
  service_description check_conns
  check_command check_nrpe!check_conns
}
define service{
  use generic-service
  host_name db1
  service_description check_bloat
  check_command check_nrpe!check_bloat
}
define service{
  use generic-service
  host_name db1
  service_description check_commitratio
  check_command check_nrpe!check_commitratio
}
define service{
  use generic-service
  host_name db1
  service_description check_dbsize
  check_command check_nrpe!check_dbsize
}
define service{
  use generic-service
  host_name db1
  service_description check_hitratio
  check_command check_nrpe!check_hitratio
}
define service{
  use generic-service
  host_name db1
  service_description check_relsize
  check_command check_nrpe!check_relsize
}
define service{
  use generic-service
  host_name db1
  service_description check_locks
  check_command check_nrpe!check_locks
}
define service{
  use generic-service
  host_name db1
  service_description check_query_time
  check_command check_nrpe!check_query_time
}
define service{
  use generic-service
  host_name db1
  service_description check_seq1
  check_command check_nrpe!check_seq1
}
define service{
  use generic-service
  host_name db1
  service_description check_txnidle
  check_command check_nrpe!check_txnidle
}
define service{
  use generic-service
  host_name db1
  service_description check_xlogs
  check_command check_nrpe!check_xlogs
}

define service{
  use generic-service,srv-pnp
  host_name db1
  service_description check_disk_db
  check_command check_nrpe!check_db_disk
}

define service{
  use generic-service,srv-pnp
  host_name db1
  service_description check_disk_xlog
  check_command check_nrpe!check_xlog_disk

}

7.配置nagios.cfg文件,主要是加载/etc/nagios/server/db1.cfg文件

cfg_file=/etc/nagios/objects/commands.cfg
cfg_file=/etc/nagios/objects/contacts.cfg
cfg_file=/etc/nagios/objects/timeperiods.cfg
cfg_file=/etc/nagios/objects/templates.cfg
# Definitions for monitoring the local (Linux) host
cfg_file=/etc/nagios/server/db1.cfg

8.启动nagios

service nagios start

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值