just install check_drbd (http://www.monitoringexchange.org/p_w_upload/download/Check-Plugins/Operating-Systems/Linux/check_drbd/check_drbd) somewhere in the path.
創(chuàng)新互聯(lián)建站專注于喀左企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開(kāi)發(fā)。喀左網(wǎng)站建設(shè)公司,為喀左等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)
By default, this script will return CRITICAL if a device is unconfigured, and UNKNOWN if a device does not exists. These situations can happen with ganeti when :
- a vm is down
- a vm is down and a node has been rebooted (then the drbd device disappears).
You may want to patch check_drbd like this to avoid "false" alerts :
--- check_drbd 2010-01-2609:10:16.000000000+0100
+++/usr/local/bin/check_drbd 2010-01-2609:06:23.000000000+0100
@@-38,7+38,7@@
'WFConnection'=>{'value'=>'CRITICAL','type'=>'cs'},
'WFReportParams'=>{'value'=>'CRITICAL','type'=>'cs'},
'Connected'=>{'value'=>'OK','type'=>'cs'},
-'Unconfigured'=>{'value'=>'CRITICAL','type'=>'cs'},
+'Unconfigured'=>{'value'=>'OK','type'=>'cs'},
# DRBD 0.6
'SyncingAll'=>{'value'=>'WARNING','type'=>'cs'},
'SyncingQuick'=>{'value'=>'WARNING','type'=>'cs'},
@@-261,7+261,7@@
}
foreachmy $device(@devices){
if(!(defined($cs{$device}))){
-&myexit('UNKNOWN',"Could not find device $device");
+&myexit('OK',"Could not find device $device");
}
$check{$device}=1;
}
put this script somewhere in the path (/usr/local/bin/drbd_gen_nagios.sh for ex):
#!/bin/bash
#
# Copyright (C) 2009 Maxence Dunnewind <maxence@dunnewind.net>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
gnt-instance list --no-header--separator=:-o name|while read vm;do
TMP_FILE=$(mktemp)
gnt-instance info-s $vm> $TMP_FILE
NODE_A=$(grep"nodeA" $TMP_FILE|grep-o"[^ ]\+,"|head-1|sed
's/,//')
NODE_B=$(grep"nodeB" $TMP_FILE|grep-o"[^ ]\+,"|head-1|sed
's/,//')
DEV_A=$(grep"nodeA" $TMP_FILE|cut-d"="-f2)
DEV_B=$(grep"nodeB" $TMP_FILE|cut-d"="-f2)
rm-rf $TMP_FILE
for diskin $DEV_A;do
echo"define service {"
echo" host_name $NODE_A"
echo" service_description DRBD instance $vm /
device n° $disk"
echo" check_command check_drbd!$disk"
echo" use generic-service"
echo"}"
echo""
done
for diskin $DEV_B;do
echo"define service {"
echo" host_name $NODE_B"
echo" service_description DRBD instance $vm /
device n° $disk"
echo" check_command check_drbd!$disk"
echo" use generic-service"
echo"}"
echo""
done
done
Important: This script only define drbd checks, so you already need to have the hosts configured in your nagios.
Define check_drbd, which will use check_by_ssh to call check_drbd script on the nodes.
define command{
command_name check_drbd
command_line /usr/lib/nagios/plugins/check_by_ssh-H $HOSTADDRESS$-l root-C"/usr/local/bin/check_drbd -d $ARG1$"
}
for example in /etc/nagiosX/conf.d/command.cfg .
Also, be sure nagios user can connect using ssh without password. If you don't have defined that, you need to :
# su - nagios
# ssh-keygen
Generatingpublic/private rsa key pair.
Enter filein which to save the key(/var/run/nagios3/.ssh/id_rsa):/etc/nagios3/id_rsa
Enter passphrase(emptyforno passphrase):
Enter same passphrase again:
Don't forget to replace the file. If you keep /var/run, your key will be deleted after next reboot :) Also, keep the passphrase empty. Then, copy the id_rsa.pub under /root/.ssh/authorized_keys on all your hosts. You can also add a "from" field and a "command" one to limit access :
from="1.1.1.1",command="/usr/local/bin/check_drbd" ssh-rsa AAAAB3NzaC1yc2EAAAABIwA...
To generate the config, after a new instance has been added / removed, or after a replace-disks, run :
drbd_gen_nagios.sh> drbd.cfg
on ganeti master, then just copy the generated file into your nagios conf.d directory, and check the config / restart your nagios.
網(wǎng)站欄目:MonitorDRBDdeviceswithnagios
本文網(wǎng)址:http://www.rwnh.cn/article28/ihjjcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、用戶體驗(yàn)、電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)、面包屑導(dǎo)航、虛擬主機(jī)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)