watchdogについて

監視サーバにzabbixをインストールしていて、停止、起動のタイミングでwatchdogが出るようです。
今までこのサーバを上げ下げして出現したのは2回くらいですが
2月に入って立て続けに出ています。
watchdogが出ると「Zabbix database is down.」というメッセージのメールが発信されますが
停止起動の作業中は発信してほしくないのですが抑止ができません。

そこでご教示いただきたいのは:
①watchdogのプロセスが出現するタイミング:ルール
②メールを抑止する方法
となります。

よろしくお願いいたします。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー KAZ の写真

dba43986さん

分かる範囲を書きます。
お役にたてば良いのですが…
2.0系と2.2系のソースを読みました。


監視サーバにzabbixをインストールしていて、停止、起動のタイミングでwatchdogが出るようです。

何サーバの停止でしょうか?
DBでしょうか?A(^^;


①watchdogのプロセスが出現するタイミング:ルール

watchdogのプロセス?ですが…

Zabbixサーバが起動後、main_watchdog_loop関数がループして動いています。
main_watchdog_loop関数が「Zabbix database is down.」を送信している関数の大元です。
なので、これが動いているプロセスがwatchdogしているプロセスとなりますでしょうか…

main_watchdog_loop関数は途中でsleep(休止)しながらずーっと動きます。
で、その中で…
①定期的にDBへ接続をし、失敗するとsend_alerts関数を呼び、ログに「watchdog: database is down」と出力します。
②DBへ接続が正常な場合、sync_config関数を呼びます。
③sync_config関数でメール送信先等のmedia情報を取得して失敗するとsend_alerts関数を呼び、ログに「watchdog: database is down」と出力します。
④メール送信先等のmedia情報を取得が正常な場合、送信先情報を設定します。

send_alerts関数で「Zabbix database is down.」が送信されます。
※:メディアタイプによります。

動作的には…
正常ルートで②④と進んで、送信先情報を取得した後に…
①DBに接続できなくなったり、③media情報を取得できなかったりすると「Zabbix database is down.」が送信される仕組みです。
media情報がない時にエラーになるとログに「watchdog: database is down」とだけでます。

DBに接続できなくなったり、media情報を取得できなかったりする要因としては…
①接続数の限界
②接続タイムアウト(パフォーマンス低下してサーバのレスポンスが遅いとか…)
ではないかと…


②メールを抑止する方法

Zabbixサーバの停止とかではだめでしょうか?A(^^;

ユーザー dba43986 の写真

ご回答ありがとうございます。

お問合せについて回答させていただきます。

>何サーバの停止でしょうか?
 ⇒zabbixがあるのはLinuxです。
  CentOS release 6.2 (Final)

> DBでしょうか?A(^^;
 ⇒DBは何かということでしょうか?mySQLです。

> Zabbixサーバの停止とかではだめでしょうか?A(^^;
 ⇒①サーバをリブート後
  ②zabbixが自動起動していて
  ③その過程でdbに接続できなくて
  ④watchdogが出ているので
  ⑤zabbixを停止しても
  ⑥起動するタイミングで出る
 のではと思うのですが。

1点、ログを見ながら不思議に思ったのですが
dbへの接続を10回リトライしても出なかったり
リトライは2回なのに出たり
このあたりのルールがわかりません。

今の環境は開発中の次期本番環境で
今までも頻繁に上げ下げはやっていたのですが
ほとんどメールは飛びませんでしたが
夜間のジョブ実行時のリブート処理で頻繁に発生しています。

2回のリトライで出現したログ:
------------------------------------------------------------
①2375:20140206:020305.818 Database is down. Reconnecting in 10 seconds.

③2357:20140206:020308.007 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
④2357:20140206:020308.007 watchdog: database is down

10回のリトライでも出現しないログ:
------------------------------------------------------------
①2407:20140205:093950.383 Database is down. Reconnecting in 10 seconds.
②★2416:20140205:093951.336 [Z3005] query failed: [2006] MySQL server has gone away [begin;]
③2416:20140205:093951.336 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
① 2416:20140205:093951.336 Database is down. Reconnecting in 10 seconds.

②さえ出ていれば10回リトライしても出現せず
②がでなければ2回でも出る、ような気がします。

ご回答の中で「※:メディアタイプによります。」とありますが
これはどういうことでしょうか?

以上
よろしくお願いいたします。

ユーザー KAZ の写真

dba43986さん


②さえ出ていれば10回リトライしても出現せず

この量のログではなんとも判断できないですが、
↓多分このルートに入ってます。
「media情報がない時にエラーになるとログに「watchdog: database is down」とだけでます。」

つまり、メール飛ばしたいけどDBに接続して送信先情報取れなかったからメール飛ばせない状況になってます。


ご回答の中で「※:メディアタイプによります。」とありますが

メディアタイプとはメールやJabber、スクリプト、SMSです。
ユーザの設定項目に「メディア」というものがあり、上記のどれかを選んでいるはずです。
メールが飛ぶならメールやスクリプトでsendmessage.shが指定してあるのではないかと…

MySQLとZabbixの自動起動の順番は確認してみてください。
次の順ならメールが飛ばないとはずです。(私の立てている環境と一緒です。)

①Zabbixサーバの停止 … 停止順 15
②MySQLの停止 … 停止順 36
③MySQLの起動 … 起動順 64
④Zabbixサーバの起動 … 85

↓確認はこれを参考にどうぞ
http://www.itmedia.co.jp/help/tips/linux/l0608.html

ユーザー dba43986 の写真

ありがとうございます。

確認しました。残念ながら同じようです。。。
-----------------------
[root@XXXXX ~]# runlevel
N 5
[root@XXXXX ~]# cd /etc/rc.d/rc5.d
[root@XXXXX rc5.d]# ls |grep zabbix
S85zabbix-agent
S85zabbix-server
[root@XXXXX rc5.d]# ls |grep mysql
S64mysqld
[root@XXXXX rc5.d]# cat S85zabbix-server |grep chkconfig:
# chkconfig: - 85 15
[root@XXXXX rc5.d]# cat S64mysqld |grep chkconfig:
# chkconfig: - 64 36
-----------------------

よろしくお願いいたします。

ユーザー KAZ の写真
dba43986さん

その起動停止順だと、普通はZabbixが先に落ちてMySQLが落ち、MySQLが上がってZabbixが上がります。
例えばrebootコマンドとかですが…

「watchdog: database is down」ですが、Zabbixが停止するときに出ますか?
それとも再起動するときに出ますか?

Zabbixが停止する前に出ているなら、サービス自動停止前に何らかの処理がMySQLを止めている可能性があります。
リブート後にZabbixが起動したときにでているなら、MySQLが重くて起動に時間がかかり過ぎている可能性があります。

Zabbixサーバのログを見ればわかると思います。

下記は私の建てた環境でZabbixサーバをrestartしたときのログです。
Zabbix Server stoppedより上なら停止前に出てます。
Starting Zabbix Serverなら起動後に出てます。
  4797:20140207:142632.044 syncing history data...
  4797:20140207:142632.052 syncing history data done
  4797:20140207:142632.052 syncing trends data...
  4797:20140207:142632.057 syncing trends data done
  4797:20140207:142632.067 Zabbix Server stopped. Zabbix 2.0.6 (revision 35158).  <--ここで停止
  1155:20140207:142634.276 Starting Zabbix Server. Zabbix 2.0.6 (revision 35158).  <--ここで起動
  1155:20140207:142634.276 ****** Enabled features ******
  1155:20140207:142634.276 SNMP monitoring:           YES
  1155:20140207:142634.276 IPMI monitoring:           YES
  1155:20140207:142634.276 WEB monitoring:            YES
  1155:20140207:142634.276 Jabber notifications:      YES
  1155:20140207:142634.276 Ez Texting notifications:  YES
  1155:20140207:142634.276 ODBC:                      YES
  1155:20140207:142634.276 SSH2 support:              YES
  1155:20140207:142634.276 IPv6 support:              YES
  1155:20140207:142634.276 ******************************
ユーザー dba43986 の写真

ありがとうございます。

一つ認識違いがありました。
このwatchdogはzabbixのある監視サーバが「落ちているときに」
出現しているようです。停止、起動コマンドを実行しているマシンのログをみてわかりました。

申し訳ありません。

停止順に落ちないので(?)明示的にzabbixを落としてしまえば大丈夫でしょうか?

----------------------------
▼停止中
2385:20140207:020303.997 Zabbix agent item [system.cpu.util[,user,avg1]] on host [XXXXX] failed: another network error, wait for 15 seconds
2382:20140207:020303.998 Zabbix agent item [system.users.num] on host [XXXXX] failed: first network error, wait for 15 seconds
2388:20140207:020308.368 [Z3005] query failed: [2006] MySQL server has gone away [select hostid,status from hosts where host='FDPJOB01' and status in (0,1) and proxy_hostid=0 and hostid between 000000000000000 and 099999999999999]
2388:20140207:020308.368 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
2388:20140207:020308.369 Database is down. Reconnecting in 10 seconds.
2419:20140207:020308.405 [Z3005] query failed: [2006] MySQL server has gone away [select escalationid,actionid,triggerid,eventid,r_eventid,esc_step,status from escalations where status in (0,4,5,1) and nextcheck<=1391706188 and escalationid between 000000000000000 and 099999999999999]
2419:20140207:020308.405 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
2419:20140207:020308.405 Database is down. Reconnecting in 10 seconds.
2381:20140207:020308.873 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
★2381:20140207:020308.873 watchdog: database is down
2394:20140207:020308.985 [Z3005] query failed: [2006] MySQL server has gone away [select a.alertid,a.mediatypeid,a.sendto,a.subject,a.message,a.status,mt.mediatypeid,mt.type,mt.description,mt.smtp_server,mt.smtp_helo,mt.smtp_email,mt.exec_path,mt.gsm_modem,mt.username,mt.passwd,a.retries from alerts a,media_type mt where a.status=0 and a.mediatypeid=mt.mediatypeid and a.alerttype=0 and mt.mediatypeid between 000000000000000 and 099999999999999 order by a.clock]
2394:20140207:020308.985 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
・・・・・(省略)・・・・・
2389:20140207:020313.718 Database is down. Reconnecting in 10 seconds.
2316:20140207:020316.074 One child process died (PID:2380,exitcode/signal:19). Exiting ...
2380:20140207:020316.074 Got signal [signal:15(SIGTERM),sender_pid:7218,sender_uid:0,reason:0]. Exiting ...
2381:20140207:020316.075 Got signal [signal:15(SIGTERM),sender_pid:7218,sender_uid:0,reason:0]. Exiting ...
・・・・・(省略)・・・・・
2420:20140207:020316.093 Got signal [signal:15(SIGTERM),sender_pid:7218,sender_uid:0,reason:0]. Exiting ...
2421:20140207:020316.093 Got signal [signal:15(SIGTERM),sender_pid:7218,sender_uid:0,reason:0]. Exiting ...
2316:20140207:020318.074 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
2316:20140207:020318.074 Cannot connect to the database. Exiting...

▼起動中
2356:20140207:020728.515 Starting Zabbix Server. Zabbix 1.8.16 (revision 32809).
2356:20140207:020728.543 ****** Enabled features ******
2356:20140207:020728.543 SNMP monitoring: YES
--------------------

ユーザー KAZ の写真

dba43986さん

★のついているプロセスID:2381がwatch dogのプロセスですね。
うーん、やっぱりZabbixより先にZabbixの使っているDBが落ちているようですね。

リブートの処理をどうやっているのか分からないので良い対処法は提示できませんが、アラート止めるだけで良いならZabbixサーバ自体をその前に止めればOKだと思いますよ。A(^^;

ユーザー TNK の写真

可能性としてですが、MySQLの起動に時間がかかっているのかもしれ
ません。

そうであるならば、CentOS 6.2だとKAZさんからもありましたが、
起動する順序的に問題がなくても、MySQLのサーバプロセス(mysqld)
が先に起動開始されたとしても、ちゃんとSQLのクエリを受け付け
られる状態になるまでに時間がかかる場合があります。

そうすると、そのmysqldの初期化処理終了前にzabbix_serverから
mysqldにアクセスしようとした場合、エラーとなるでしょう。

暫定対応としては、zabbix_serverを起動するinitスクリプト内で
MySQLが起動して正常に要求を受け付けられるだけの時間sleepさせ
るなどしてzabbix_serverプロセスの起動のタイミングを遅らせて
みてはいかがでしょうか。

データベースが止まってしまっても、まったく通知しなくて良いの
であれば、「管理」->「一般設定」内の「その他のパラメータ」で
データベース停止メッセージの送信先グループをなしに設定という
案も一応あります。

そもそも、OSごと再起動しなければならない状況は、Windowsでは
ないので、毎日とか必要ないと思うのですが、そんなにシステムが
不安定なのでしょうか?

ユーザー dba43986 の写真

ありがとうございます。

そもそも、OSごと再起動しなければならない状況は、Windowsでは
ないので、毎日とか必要ないと思うのですが、そんなにシステムが
不安定なのでしょうか?

そうなんです。業務系、管理系を問わずすべて日々バックアップをとるポリシーになっています。

ただこのプロジェクトで採用しているバックアップコピーが「瞬時」に終わるので
こういう方式になっているようです。

.

ユーザー KAZ の写真

dba43986さん

運用的にありませすね。A(^^;
夜間の自動停止・バックアップ・再起動、私もやったことあります。
夜間バックアップでアラート上がり出すと睡眠が…A(^^;

Zabbixが使っているMySQLがどこに立っているのか分からないので確かではないですが…
①Zabbixサーバ停止
②リブート処理?

上の順なら大丈夫だと思います。

推測ですがZabbixサーバの使用しているMySQLはシステム上で他でも使ってませんか?
で、自動停止じゃなくて、システム的にMySQL止めてませんか?A(^^;

ユーザー dba43986 の写真

ありがとうございます。

MySQLはzabbixと同じサーバ上にあります。
おそらくzabbix以外は使っていないと思います。

zabbixの止め方ですが:
①cronは使えません
②JP1のエージェントが存在しないのでshellキックもできません

以上が「前提」ですが、何かいい方法がございますか?

ちなみにシステムはvmwareで構成されていて
起動停止コマンドはpowershellで実行されています。
#コマンド実行するサーバがwindows

よろしくお願いいたします。

ユーザー KAZ の写真

dba43986さん

もし、宜しければどの様な環境でどの様な再起動をしているのかお教え管いませんか?
色々わかると色々言えると思うのです。

良い回答をするためにも詳細をお教え願いませんか?

ユーザー zinten の写真

dba43986さん

はじめまして

もしかしたらですが、本件、下記に当てはまらないでしょうか。

パッケージについてくる起動シェルには1点バグ?があります。
起動スクリプト内でロックファイルを作成しているのですが
このファイル名とサービス名が一致していません。
shutdown処理時はこのロックファイルの名前を見ているようで
この名前が違うとshutdown中に停止処理が動作しないとか書いてありました。

・/etc/init.d/zabix-serverを開いて下記を修正

prog=${exec##*/}
conf=/etc/zabbix/zabbix_server.conf
#lockfile=/var/lock/subsys/zabbix ←このファイル名が間違い(29行目くらい)
lockfile=/var/lock/subsys/zabbix-server ←このように修正

ちなみに同様の問題がjava-gatewayにも存在します。

ユーザー TNK の写真

lockfile名に関しては、サービス名と一致していないだけで、起動停止に
問題があるような不具合ではありません。

今回の質問者の問題は、MySQLとZabbixの起動・停止のタイミングの問題
でしょう。
個別に各サービスの起動停止を外部から制御できないのであれば、上にも
書かせて頂いた通り、sleepなどを利用してタイミングを調整するのが
暫定対処策となるでしょう。

----- 追記 -----
lockfile名は変更した方が行儀よくシャットダウン時の処理を行ってそう
でした。
もう何回か動作確認してから、より良い改善であると思われたら、改善
要望をZabbix SIAの方に出そうと思います。

----- 再追記 -----
dba43986さんへ
zintenさんが書かれている通り、/etc/init.d/zabix-server内のlockfileの
値を
lockfile=/var/lock/subsys/zabbix-server
に変更することで状況は改善するかもしれません。

zabbix-java-gatewayの方は、lockfileの設定を行っていないので、
大幅に書き換えた方が良さそうですね。
ベースは、私が作成したものなので、ちょっと作り直してみます。

ユーザー dba43986 の写真

ありがとうございます。

調べましたが、その箇所がないようです。

lockfileを作って、削除してというロジックはあるようなので
その部分も貼り付けました。

このファイルについてはプロジェクト情報を持っていないので
添付可能ですが、添付したほうがよろしいですか?
---------------------------------
30 CONF=/etc/zabbix/zabbix_server.conf
31 PIDFILE=/var/run/zabbix/zabbix_server.pid
32
33 # Source function library.
34 . /etc/rc.d/init.d/functions
35
36 # Source networking configuration.
37 . /etc/sysconfig/network
38
39 # Check that networking is up.
40 [ ${NETWORKING} = "no" ] && exit 0
41
42 [ -e $CONF ] || exit 6
43
44 RETVAL=0
45
46 case "$1" in
47 start)
48 echo -n "Starting zabbix server: "
49 daemon $ZABBIX -c $CONF
50 RETVAL=$?
51 echo
52 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix
53 ;;
54 stop)
55 echo -n "Shutting down zabbix server: "
56 killproc $ZABBIX
57 RETVAL=$?
58 echo
59 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zabbix
60 ;;
61 restart)
62 $0 stop
63 $0 start
64 RETVAL=$?
65 ;;
66 condrestart)
67 if [ -f /var/lock/subsys/zabbix ]; then
68 $0 stop
69 $0 start
70 fi
71 RETVAL=$?
72 ;;
73 reload)
74 $ZABBIX -c $CONF -R config_cache_reload
75 RETVAL=$?
76 ;;
77 status)
78 status $ZABBIX
79 RETVAL=$?
80 ;;
-----------------------------------------------

以上
よろしくお願いいたします。

ユーザー KAZ の写真

dba43986さん

起動シェルよみました。

lockfile=/var/lock/subsys/zabbix

少なくともCentOSで使うrpmインストール版の起動シェルは上記で問題ないと思います。

52行目は「[ $RETVAL -eq 0 ] && touch $lockfile」、
59行目は「 [ $RETVAL -eq 0 ] && rm -f $lockfile」と書くべきだとは思いますが…

■起動時
47 start)
48 echo -n "Starting zabbix server: "
49 daemon $ZABBIX -c $CONF <- 設定ファイルを読んでZabbixをデーモン起動
50 RETVAL=$? <- デーモン起動した結果を変数RETVALに格納
51 echo
52 [ $RETVAL -eq 0 ] && touch /var/lock/subsys/zabbix <- デーモン起動成功なら空の「/var/lock/subsys/zabbix」を作成
53 ;;

■停止時
54 stop)
55 echo -n "Shutting down zabbix server: "
56 killproc $ZABBIX <- Zabbixプロセスをkill
57 RETVAL=$? <- Killした結果を変数RETVALに格納
58 echo
59 [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/zabbix <- kill成功なら「/var/lock/subsys/zabbix」を削除
60 ;;

ユーザー KAZ の写真

dba43986さん

起動シェルですが、私の環境も同じ状態(ロックファイル名が違う)ですが、アラートメール出ません。
但し、VMware上では動いていません。(Xen上で動いています。)

因みに下記のコマンドでzabbix停止しますか?
service zabbix-server stop

ユーザー dba43986 の写真

ありがとうございます。

問題なく止まるようです。
---------------------------------------------
①コマンド実行結果:
[root@XXXXX sbin]# service zabbix-server stop
Shutting down zabbix server: [ OK ]

②ログ:
2312:20140212:111614.337 Zabbix Server stopped. Zabbix 1.8.16 (revision 32809).

③プロセス:
[root@XXXXX zabbix]# ps -ef |grep zabbix_server
root 29826 28737 0 11:20 pts/0 00:00:00 grep zabbix_server
------------------------------------------------

以上
よろしくお願いいたします。

ユーザー KAZ の写真

dba43986さん

入れ違いになりましたが、現在のままでも起動シェル問題ないように見えます。

状況を整理したいと思います。

■前提
・ZabbixはVMware上のゲストOSにいる。
・MySQLも同じゲストOSにいる。
・MySQLはZabbix以外は使っていない。
・ZabbixとMySQLのサービス起動・停止順は正しい

★問題
・Zabbix停止時にMySQLに接続できなくなる。

▼現在確認していない事
・ゲストOSの再起動はどの様に行っているのか?
・network等の通信系サービスの起動・停止順
・起動停止シェルにログ出力を入れて、Zabbix・MySQLのサービス起動順がま漏れれているか確認
※:dateコマンド使ってstart、stop実行時にログを出力してみればわかるかと…

ユーザー dba43986 の写真

zinten様

情報ありがとうございます。

問題解決になりそうです。

ありがとうございました。

以上
よろしくお願いいたします。

ユーザー TNK の写真

利用されているZabbixのバージョンはログから推測するに1.8.16の
ようですが、それでよろしいですか?

記載頂いたスクリプトの内容を拝見する限り、2.0系以前の古いバ
ージョンで利用していたinitスクリプトのようです。

今更ですが、1.8系のinitスクリプトも修正が必要そうです。
initスクリプトzabbix-server内の、

 /var/lock/subsys/zabbix

を指定しているすべての箇所(上記の52,59,67行目)を、

 /var/lock/subsys/zabbix-server

に直してみてください。

直さないと、serviceコマンドでの停止は正常に行えますが、シャ
ットダウン時に

 /etc/rc*.d/K*zabbix-server

スクリプトが呼び出されないため、zabbix_serverプロセスが強制
終了され、キャッシュのsyncが行われず、MySQLへの接続も強制切
断となります。

以下、ログの出力例です。

デフォルト設定のシャットダウン時
-----
2706:20140212:112948.746 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
2706:20140212:112948.746 Cannot connect to the database. Exiting...
2407:20140212:113111.336 Starting Zabbix Server. Zabbix 1.8.16 (revision 32809).
-----

手動でのサービス停止時
-----
2407:20140212:113202.336 syncing history data...
2407:20140212:113202.337 syncing history data done
2407:20140212:113202.337 syncing trends data...
2407:20140212:113202.358 syncing trends data done
2407:20140212:113202.359 Zabbix Server stopped. Zabbix 1.8.16 (revision 32809).
2661:20140212:113311.348 Starting Zabbix Server. Zabbix 1.8.16 (revision 32809).
-----

修正後のシャットダウン時
-----
2661:20140212:113626.646 syncing history data...
2661:20140212:113626.656 syncing history data done
2661:20140212:113626.656 syncing trends data...
2661:20140212:113626.665 syncing trends data done
2661:20140212:113626.666 Zabbix Server stopped. Zabbix 1.8.16 (revision 32809).
2399:20140212:113815.633 Starting Zabbix Server. Zabbix 1.8.16 (revision 32809).
-----

ユーザー dba43986 の写真

ありがとうございます。

念のためですが
----------------------------------------------------
「zabbix_server」:間にアンスコ(アンダーバー)
ではなく
「zabbix-server」:間にハイフン
----------------------------------------------------
ですね?

今夜バックアップジョブが動きますので
明日2/13に結果を報告できると思います。

必ずしも発生しないかもしれませんが
出力ログが「修正後のシャットダウン時」と同じであれば
問題解消と判断したいです。

以上
よろしくお願いいたします。

ユーザー TNK の写真

実際に実行されるプログラムが「zabbix_server」(アンダーバー)で、
serviceコマンドなどで利用するinitスクリプトが「zabbix-server」(ハイフン)です。

それぞれ、

 /usr/sbin/zabbix_server
 /etc/init.d/zabbix-server

にあって、zabbix-serverというシェルスクリプトからzabbix_serverを
起動するようになっています。

注意点として、

 1.一時的にzabbix_serverを停止
    # service zabbix-server stop

 2.zabbix-serverスクリプトを修正
    # vi /etc/init.d/zabbxi-server

 3.zabbix-serverスクリプトを利用してzabbix_serverを起動
    # service zabbix-server start

としないと、/var/lock/subsys/zabbix-serverが作られません。

ユーザー dba43986 の写真

ありがとうございます。

【速報】うまくいったようです!

停止中のログで
2316:20140207:020318.074 Cannot connect to the database. Exiting...
で終わっていたのが
31532:20140212:130452.890 Zabbix Server stopped. Zabbix 1.8.16 (revision 32809).
となりました。

★正常に止まったようです!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

JP1が実際実行するコマンドで実行しました。
----------------------------
▼停止中:
31536:20140212:130448.678 Zabbix agent item [net.if.in[lo,bytes]] on host [XXXXX] failed: another network error, wait for 15 seconds
31537:20140212:130448.694 Zabbix agent item [vfs.fs.inode[/opt,pfree]] on host [XXXXX] failed: first network error, wait for 15 seconds
31578:20140212:130450.792 Got signal [signal:15(SIGTERM),sender_pid:31951,sender_uid:0,reason:0]. Exiting ...
・・・・(省略:繰り返しなので)・・・・
31534:20140212:130450.813 Got signal [signal:15(SIGTERM),sender_pid:31951,sender_uid:0,reason:0]. Exiting ...
31532:20140212:130450.814 One child process died (PID:31578,exitcode/signal:255). Exiting ...
31532:20140212:130452.815 syncing history data...
31532:20140212:130452.827 syncing history data done
31532:20140212:130452.827 syncing trends data...
31532:20140212:130452.890 syncing trends data done
★31532:20140212:130452.890 Zabbix Server stopped. Zabbix 1.8.16 (revision 32809).

▼起動中:
2318:20140212:130923.880 Starting Zabbix Server. Zabbix 1.8.16 (revision 32809).
----------------------------------------

夜間のジョブ実行で発生するかどうかの確認はします。
一連の動きの中で問題なければOKとしたいです。
#これは監視サーバに閉じているので間にJP1がからんでも
#問題ないと思っています

以上
よろしくお願いいたします。

ユーザー KAZ の写真

TNKさん

52、69行目だけじゃなく67行目も$lockfileにすべきですね。


直さないと、serviceコマンドでの停止は正常に行えますが、シャ
ットダウン時に

 /etc/rc*.d/K*zabbix-server

知りませんでした。

↓これですね。
http://linux.oboe-gaki.com/archives/000384.html

ユーザー TNK の写真

52、69行目だけじゃなく67行目も$lockfileにすべきですね。

そのとおりです。
ですから、

initスクリプトzabbix-server内の、

 /var/lock/subsys/zabbix

を指定しているすべての箇所(上記の52,59,67行目)を、

 /var/lock/subsys/zabbix-server

に直してみてください。

と3箇所修正が必要と書かせていただいています。

シャットダウン時に正しくstopが呼び出されていない問題は、私も
今回改めて複数回シャットダウンして試して気付きました。

Zabbix SIAが公開している2.0、2.2のRPMに関しても同様の改善が
必要そうなので、別途連絡しておこうと思います。

ユーザー TNK の写真

Zabbix SIAが昨日公開したRHEL 5/6用パッケージの最新版、

 1.8.20
 2.0.11
 2.2.2

全てのバージョンのzabbix-serverスクリプトに反映して頂けたよ
うです。

ユーザー dba43986 の写真

KAZ様
TNK様
zinten様

夜間のジョブも問題なかったようです。

正常に停止しているのが確認できました。
watchdogの出現予兆のようなログもありません。

ご対応いただきありがとうございました。
#このスレの問合せは完了でございます

またお願いします。
#「消込」について問合せ予定です

以下、実際のログを省略なしで
----------------------------------------------------------------
▼監視サーバ停止中:

2386:20140213:020438.569 Zabbix agent item [vfs.fs.size[/tmp,free]] on host [XXXXX] failed: another network error, wait for 15 seconds
2385:20140213:020438.570 Zabbix agent item [vfs.fs.size[/opt,used]] on host [XXXXX] failed: first network error, wait for 15 seconds
2408:20140213:020440.685 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2407:20140213:020440.686 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2406:20140213:020440.686 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2405:20140213:020440.687 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2404:20140213:020440.687 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2403:20140213:020440.688 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2402:20140213:020440.689 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2401:20140213:020440.689 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2400:20140213:020440.690 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2399:20140213:020440.690 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2398:20140213:020440.691 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2397:20140213:020440.691 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2396:20140213:020440.692 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2395:20140213:020440.693 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2394:20140213:020440.693 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2393:20140213:020440.694 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2392:20140213:020440.694 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2391:20140213:020440.695 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2390:20140213:020440.695 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2389:20140213:020440.696 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2388:20140213:020440.697 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2387:20140213:020440.697 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2386:20140213:020440.698 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2385:20140213:020440.699 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2384:20140213:020440.699 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2383:20140213:020440.700 Got signal [signal:15(SIGTERM),sender_pid:3782,sender_uid:0,reason:0]. Exiting ...
2318:20140213:020440.700 One child process died (PID:2408,exitcode/signal:255). Exiting ...
2318:20140213:020442.701 syncing history data...
2318:20140213:020442.715 syncing history data done
2318:20140213:020442.715 syncing trends data...
2318:20140213:020442.721 syncing trends data done
2318:20140213:020442.721 Zabbix Server stopped. Zabbix 1.8.16 (revision 32809).
▼バックアップ取得中
  (ログなし)
  
▼監視サーバ起動中

2328:20140213:020905.240 Starting Zabbix Server. Zabbix 1.8.16 (revision 32809).
2328:20140213:020905.241 ****** Enabled features ******
2328:20140213:020905.241 SNMP monitoring: YES
2328:20140213:020905.241 IPMI monitoring: YES
・・・・・・・