আমি একটি সহজ সমাধান হিসাবে নাগিও ইভেন্ট হ্যান্ডলারটি ব্যবহার করেছি ।
এনআরপিই সার্ভারে:
command[check_crond]=/usr/lib64/nagios/plugins/check_procs -c 1: -C crond
command[autostart_crond]=sudo /etc/init.d/crond start
command[stop_crond]=sudo /etc/init.d/crond stop
nagios
ব্যবহারকারীদের sudoers গ্রুপে যুক্ত করতে ভুলবেন না :
nagios ALL=(ALL) NOPASSWD:/usr/lib64/nagios/plugins/, /etc/init.d/crond
এবং অক্ষম করুন requiretty
:
Defaults:nagios !requiretty
নাগিও সার্ভারে:
services.cfg
define service{
use generic-service
host_name cpc_3.145
service_description crond
check_command check_nrpe!check_crond
event_handler autostart_crond!cpc_2.93
process_perf_data 0
contact_groups admin,admin-sms
}
commands.cfg
define command{
command_name autostart_crond
command_line $USER1$/eventhandlers/autostart_crond.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $ARG1$
}
autostart_crond.sh
#!/bin/bash
case "$1" in
OK)
/usr/local/nagios/libexec/check_nrpe -H $4 -c stop_crond
;;
WARNING)
;;
UNKNOWN)
/usr/local/nagios/libexec/check_nrpe -H $4 -c autostart_crond
;;
CRITICAL)
/usr/local/nagios/libexec/check_nrpe -H $4 -c autostart_crond
;;
esac
exit 0
তবে আমি পেসমেকার এবং করোজিন ব্যবহার করতে শুরু করেছি যেহেতু এটি একবারে রিসোর্সটি কেবল একটি নোডে চালিত হয় তা সর্বাধিক সমাধান।
আমি যে পদক্ষেপগুলি করেছি তা এখানে:
Crond init স্ক্রিপ্টটি LSB এর সাথে সামঞ্জস্যপূর্ণ কিনা তা যাচাই করুন । আমার CentOS এ, প্রয়োজনীয়তার সাথে মিলে যাওয়ার জন্য আমাকে প্রস্থান স্থিতিটি 1 থেকে 0 থেকে পরিবর্তন করতে হবে (যদি কোনও রানিং শুরু হয় বা থামানো বন্ধ হয়):
start() {
echo -n $"Starting $prog: "
if [ -e /var/lock/subsys/crond ]; then
if [ -e /var/run/crond.pid ] && [ -e /proc/`cat /var/run/crond.pid` ]; then
echo -n $"cannot start crond: crond is already running.";
failure $"cannot start crond: crond already running.";
echo
#return 1
return 0
fi
fi
stop() {
echo -n $"Stopping $prog: "
if [ ! -e /var/lock/subsys/crond ]; then
echo -n $"cannot stop crond: crond is not running."
failure $"cannot stop crond: crond is not running."
echo
#return 1;
return 0;
fi
তারপরে এটি ব্যবহার করে পেসমেকারে যুক্ত করা যেতে পারে:
# crm configure primitive Crond lsb:crond \
op monitor interval="60s"
crm কনফিগার শো
node SVR022-293.localdomain
node SVR233NTC-3145.localdomain
primitive Crond lsb:crond \
op monitor interval="60s"
property $id="cib-bootstrap-options" \
dc-version="1.1.5-1.1.el5-01e86afaaa6d4a8c4836f68df80ababd6ca3902f" \
cluster-infrastructure="openais" \
expected-quorum-votes="2" \
stonith-enabled="false" \
no-quorum-policy="ignore"
rsc_defaults $id="rsc-options" \
resource-stickiness="100"
crm অবস্থা
============
Last updated: Fri Jun 7 13:44:03 2013
Stack: openais
Current DC: SVR233NTC-3145.localdomain - partition with quorum
Version: 1.1.5-1.1.el5-01e86afaaa6d4a8c4836f68df80ababd6ca3902f
2 Nodes configured, 2 expected votes
1 Resources configured.
============
Online: [ SVR022-293.localdomain SVR233NTC-3145.localdomain ]
Crond (lsb:crond): Started SVR233NTC-3145.localdomain
3.145-তে পেসমেকার এবং করোজিনেক বন্ধ করে পরীক্ষার ব্যর্থতা:
[root@3145 corosync]# service pacemaker stop
Signaling Pacemaker Cluster Manager to terminate: [ OK ]
Waiting for cluster services to unload:...... [ OK ]
[root@3145 corosync]# service corosync stop
Signaling Corosync Cluster Engine (corosync) to terminate: [ OK ]
Waiting for corosync services to unload:. [ OK ]
তারপরে ২.৯৩-এ ক্লাস্টারের স্থিতি পরীক্ষা করুন:
============
Last updated: Fri Jun 7 13:47:31 2013
Stack: openais
Current DC: SVR022-293.localdomain - partition WITHOUT quorum
Version: 1.1.5-1.1.el5-01e86afaaa6d4a8c4836f68df80ababd6ca3902f
2 Nodes configured, 2 expected votes
1 Resources configured.
============
Online: [ SVR022-293.localdomain ]
OFFLINE: [ SVR233NTC-3145.localdomain ]
Crond (lsb:crond): Started SVR022-293.localdomain