ログ監視が停止してしまう現象について
ログ監視が出来なくなってしまう事象が発生したのですが、原因についてお分かりになれば教えていただけないでしょうか。
<今回発生した事象>
Zabbixにおいて監視対象サーバのログが検知できない事象が発生いたしました。
Zabbix管理画面において、対象監視サーバの監視ステータスは有効であり(監視不可や疎通不可等にはなっておらず)
Zabbix_server側からagent_pingを確認した際も正常との疎通が返って来ておりました。
<今回の対処>
監視対象サーバのzabbix_agentのプロセスを再起動させた所、
止まっていたログ監視が再検知し、正常に監視が出来るようになりました。
<質問内容>
監視サーバよりエージェントのステータスは正常であるにもかかわらず、
監視対象サーバ側で「active checks」が出なくなり、ログ監視が不可能となってしまう事象について、
どのような場合・条件において発生するか、教えていただけないでしょうか。
以上、ご教授のほどよろしくお願いします。
KAZ - 投稿数: 1085
kobayaさん
OSは何を使ってますか?
Zabbixのバージョンは何ですか?
アイテムの設定や、どのようなログを監視しているのか、監視対象のファイルの権限がどうなっているのか等、情報をできるだけ提示して頂きたいのですが…
kobaya - 投稿数: 5
お世話になっております。
OSはRed Hat Enterprise Linux Server release 5.3 (Tikanga)
zabbixのバージョン1.8.3を使用しておりました。
UNIX,Linuxでログ監視を20サーバほど行っていたのですが、
すべてのログ監視が不可(新たに検知しない状態)となりました。
※監視対象ファイルの権限は特に変更は行われておりません。
アイテムのキー設定はこのような形で設定しております。
log[/hyperion/Oracle/Middleware/user_projects/epmsystem2/diagnostics/logs/essbase/essbase_0/Essbase.log,,IBM-943,]
なお、同じzabbixの監視でWindowsのログ監視のみは通常通り検知できる状態でした。
以上、よろしくお願いします。
TNK - 投稿数: 4769
対象のログファイルは、どの程度の頻度でログが出力されますか?
ログの出力量が多い場合、ZabbixエージェントからZabbixサーバに
送る処理が間に合わなくなる場合が考えられます。
例えば、秒間何行くらい出力されるログファイルなのでしょうか?
20サーバほどと書かれていますが、すべてのサーバで同様のログが
出力されていますか?
処理しなければならない台数やログの行数が多い場合は、Zabbix
サーバ側のStartTrappersの数を増やすなどの対応が必要になるこ
とが予想されますが、デフォルトのzabbix_server.confから何の設
定を変更されましたか?
Zabbixエージェントも送らなければならないログの行数が多い場合
は、MaxLinesPerSecondの数を増やすなどの対応が必要になること
が予想されます。zabbix_agentd.confも何か設定をチューニングさ
れましたか?
Windowsのログ監視(イベントログ監視でしょうか?)は通常通り検
知できる状態であったとのことですので、エージェント側に何らか
の問題が発生しているのかもしれません。
1.8.5以降を利用されていれば、Zabbixサーバ側のどの処理で負荷
がかかっているかなどを調べられるようになっているのですが、
利用されているのは1.8.3とのことですので、Zabbixサーバ側に問
題があったとしても、問題を特定することが困難です。
今回は、ログ監視とのことですので、Zabbixエージェント側の不具
合である可能性も高そうです。
脆弱性対応や不具合修正は、バージョンアップしなければ対応でき
ませんので、1.8.3からですと比較的影響が少ない1.8.20など、1.8
系のより新しいバージョンにバージョンアップされることもご検討
ください。
KAZ - 投稿数: 1085
kobayaさん
確認ですが、監視対象の(zabbixエージェントが乗っている)OS上でiconvでUTF-8に変換可能ですか?
iconv -f IBM-943 -t UTF-8 /hyperion/Oracle/Middleware/user_projects/epmsystem2/diagnostics/logs/essbase/essbase_0/Essbase.log
上記の結果で文字化けとか起こりませんか?
kobaya - 投稿数: 5
ログ監視不可の事象について、再現できないか実験しており、
以下の仮説を元に再現実験を行いました。
----
zabbixが停止した原因について、サーバログに出力されていた
「Too many connections」により直接原因は、mysqlの接続上限数を超えたことによ
るものと仮定し、以下検証にて再現させました。
接続上限数を超え続けている状態で、mysqlに設定されている
「max_connect_errors」の回数を経過すると、mysqlが接続をブロックし、zabbixが
停止する動作のように見受けられますが、認識はあっていますでしょうか。
以下検証方法
-----------------
①
mysqlにログイン
# mysql -u root
②Threads_connectedの値を確認。
>show status;
17
③以下コマンドにて最大接続数の変更
>set global max_connections=17;
に変更後以下ログが出力された。
---------
31757:20140410:213432.830 Parameter [STLZBXT02:mysql.threads_connected] is not supported, old status [0]
31743:20140410:213438.766 [Z3001] Connection to database 'zabbix' failed:
[1040] Too many connections
31743:20140410:213438.766 Watchdog: Database is down
31757:20140410:213501.002 Item [W2K8_SV:perf_counter[\LogicalDisk(C:)\%
Free Space]] error: Get value from agent failed: *** Cannot connect to [192.
168.10.8]:10050 [No route to host]
31753:20140410:213506.007 Item [W2K_SV:service_state[Spooler]] error: Get value from agent failed: *** Cannot connect to [192.168.10.9]:10050 [No route to host]
31770:20140410:213508.822 [Z3005] Query failed: [2006] MySQL server has gone away [select hostid,status from hosts where host='RHEL5TEST' and status in (0,1) and proxy_hostid=0 and hostid between 000000000000000 and 099999999999999]
31770:20140410:213508.822 [Z3001] Connection to database 'zabbix' failed:
[1040] Too many connections
31743:20140410:213508.823 One child process died (PID:31770,exitcode/signal:255). Exiting ...
31743:20140410:213510.842 Syncing history data...
31743:20140410:213510.904 Syncing history data... done.
31743:20140410:213510.904 Syncing trends data...
31743:20140410:213510.912 Syncing trends data... done.
31743:20140410:213510.913 Zabbix Server stopped. Zabbix 1.8.3 (revision 13928).
----------
④「Database is down」と「Zabbix Server stopped.」のログを確認。
※当日の事象が再現した。
上記手順中、Zabbixエージェントにて監視を行っているログファイルに
複数回の書き込みを実施し、約10分間放置した。
⑤Zabbixサーバ再起動実施
⑥Zabbixエージェントから、アクティブチェックが発生したことを確認
※今回の事象では、エージェントを再起動しなければ、アクティブチェックは行われ
ないという事象が発生していたため、一部再現が出来なかった。
以前の回答では、bufferがfullになったことによって、アクティブチェックが停止
したとの回答をいただいていたかと思いますが、具体的にbufferがfullになる条件
をご教示願えますでしょうか。
※エージェント設定には、buffersend:5、buffersize:2と設定しています。
以上、よろしくお願いします。
TNK - 投稿数: 4769
Zabbixサーバが停止してしまっているのであれば、監視できませんので、
その問題を解決すべきです。
今回書かれた状況が原因であるならば、きちんとMySQLの設定を見直し、
Zabbixサーバが停止してしまわないように設定してください。
Zabbixエージェント側の設定以前の問題です。
Zabbixサーバ側で受け取ってもらえなければ、Zabbixサーバ側に送りたい
データが溜まり続けるので、すぐにバッファは一杯になってしまうと思い
ます。