nagios监控sqlserver2005镜像
来源:互联网 发布:final 定义数组 编辑:程序博客网 时间:2024/05/16 05:40
more /opt/nagios/nagiosweb/libexec/check_mirror
#!/bin/bash
export LD_LIBRARY_PATH=/usr/local/lib
/opt/nagios/nagiosweb/libexec/check_dbmirroringbk -H $1 -o $2 -d $3 -u $4 -p $5
[root@localhost libexec]# more /opt/nagios/nagiosweb/libexec/check_dbmirroringbk
#!/usr/bin/perl -w
use strict;
use Getopt::Long;
use DBI;
# Nagios specific
use lib "/opt/nagios/nagiosweb/libexec/";-----结合nagios安装目录修改
#use lib "/usr/lib/nagios/plugins";
use utils qw(%ERRORS $TIMEOUT);
#my $TIMEOUT = 15;
#my %ERRORS=('OK'=>0,'WARNING'=>1,'CRITICAL'=>2,'UNKNOWN'=>3,'DEPENDENT'=>4);
my $o_host;
my $o_db;
my $o_port;
my $o_user="sa";
my $o_pw="";
my $name="";
my $state="";
my $role="";
sub print_usage {
print "\n";
print "Usage: check_dbmirroring.pl -H <host> -d <database> [-u <username>] [-p <password>] [-o <port>]\n";
print "\n";
print "\tDefault Username is 'sa' without a password\n\n";
print "\tScript should be run on the PRINCIPAL with a read-only user\n";
print "\tIf you want to run it on the MIRROR, the user MUST have SYSADMIN rights on the SQL-Server\n";
print "\totherwise you get NULL\n";
print "\n";
}
sub check_options {
Getopt::Long::Configure ("bundling");
GetOptions(
'H:s' => \$o_host,
'd:s' => \$o_db,
'u:s' => \$o_user,
'p:s' => \$o_pw,
'o:s' => \$o_port
);
if (!defined ($o_host) || !defined ($o_db)) { print_usage(); exit $ERRORS{"UNKNOWN"}};
}
########## MAIN #######
check_options();
my $exit_val;
# Connect to database
my $dbh =DBI->connect("dbi:Sybase:server=$o_host:$o_port","$o_user","$o_pw") or exit $ERRORS{"UNKNOWN"};
my $sth=$dbh->prepare("SELECT d.name, m.mirroring_role_desc, m.mirroring_state_desc
FROM sys.database_mirroring m
JOIN sys.databases d ON m.database_id = d.database_id
WHERE mirroring_state_desc IS NOT NULL AND name = '$o_db'");
$sth->execute;
while (my @row = $sth->fetchrow_array) {
$name=$row["0"];
$role=$row["1"];
$state=$row["2"];
}
$exit_val=$ERRORS{"CRITICAL"};
$exit_val=$ERRORS{"OK"} if ( $role eq "PRINCIPAL" ) && ( $state eq "SYNCHRONIZED" );
print "OK - $name - $role - $state\n" if ($exit_val eq $ERRORS{"OK"});
print "CRITICAL - Check your mirroring settings\n" if ($exit_val eq $ERRORS{"CRITICAL"});
exit $exit_val;
添加监控命令
define command{
command_name check_sqlserver_mirroring
command_line $USER1$/check_mirror $HOSTADDRESS$ $_HOSTPORT$ $_SERVICEDBNAME$ $_HOSTDBUSER$ $_HOSTDBPASSWORD$
}
-------------------------------------------------------------------------------------------
添加监控主机和监控服务
define host{
use windows-server ;
host_name sql186 ;
alias sql186 ;
address xxx..xx.xx186;
_port XXXX
_dbuser XXXXXXXXXXXX
_dbpassword XXXXXXXXXXXXXXX
}
define service{
use generic-service
host_name sql186 ; The name we're giving to this host
_dbname user
normal_check_interval 2
service_description sqlmirror_186_card
check_command check_sqlserver_mirroring
}
参考文献
http://labs.consol.de/nagios/check_mssql_health/
http://newyue.blog.51cto.com/174760/526009
- nagios监控sqlserver2005镜像
- nagios监控ipsec运行情况、防火墙、sqlserver镜像
- SQLserver2005 数据库镜像
- SqlServer2005数据库镜像实践
- SQLSERVER2005删除数据库镜像
- nagios监控
- Nagios 监控
- Nagios监控
- Nagios监控
- nagios监控
- sqlserver2005镜像数据库与数据库快照
- SQLServer2005数据库镜像搭建全过程
- 监控sqlserver2005 DDL操作
- 如何实现SQLSERVER2005数据库同步(数据库镜像)技术 SQLServer2005同步复制技术实现
- 非域环境下SqlServer2005镜像安装配置步骤
- nagios监控实例 -- PostgreSQL监控
- [nagios监控] 监控samba服务
- [nagios监控] 监控samba服务
- Ubuntu 9.10下安装Eclipse CDT 6.0
- RTMP,RTSP,HLS比较与分析
- boost.bind用法
- CWnd类与Windows窗口的关系-3、CWnd类如何封装Windows窗口
- 如何在iPhone上绘制出一个笑脸
- nagios监控sqlserver2005镜像
- C# 中的委托和事件
- 节后回来第一日被解雇
- PowerDesigner(PowerDesigner15.1.0.2850)下载、安装以及破解
- welcome-file-list元素
- 内存自管理的链表
- 大智慧快捷键
- 搬水果(九度oj)
- 特殊分类账+信息结构实现进销存