mongoDBをホストしている私のサーバーの1つは次のとおりです。時々そして「ランダムに」接続できません。
少し過ぎると何もなかったように戻ってきます。
この間、SSHトンネルを開くことができず(タイムアウト、パスワードを要求されません)、ホストされているMongoDBへのすべてのアプリケーションの接続が失われます。
サーバーがまだ稼働しているかどうかはわかりません。この問題は実際には1日2回または週に1回発生します。
残念ながら、恥ずかしいシャットダウン/再起動の兆候や、この時点で何が起こっているのかについての他の手がかりが見つかりません。
これまで私が行った調査:
foo@bar:/var/log$ who -b
system boot Jun 22 09:25
ここに疑わしいことはありません。サーバーは1ヶ月間起動しませんでした。
これはboot.logを介して確認できます。
foo@bar:/var/log# tail boot.log
2016/06/22 09:25:34 Processing completed for Microsoft.OSTCExtensions.LinuxDiagnostic-2.3.9001
2016/06/22 09:25:34 Finished processing ExtensionsConfig.xml
monit: /opt/foo/common/lib/libcrypto.so.1.0.0: no version information available (required by monit)
monit: /opt/foo/common/lib/libssl.so.1.0.0: no version information available (required by monit)
* Starting daemon monitor monit
...done.
* Stopping System V runlevel compatibility
最後にログインしたユーザーをもう一度確認しましたが、問題がないようです。
foo@bar:/var/log# last -x
localadm pts/0 16.618.3.75 Tue Jul 19 14:37 still logged in
localadm pts/0 16.618.3.75 Tue Jul 19 13:59 - 14:36 (00:37)
localadm pts/0 16.618.3.75 Tue Jul 19 13:18 - 13:53 (00:35)
localadm pts/0 16.618.3.75 Tue Jul 19 07:45 - 09:15 (01:29)
localadm pts/3 16.618.3.75 Mon Jul 18 15:14 - 15:51 (00:37)
localadm pts/0 16.618.3.75 Mon Jul 18 14:57 - 15:22 (00:24)
localadm pts/0 16.618.3.75 Mon Jul 4 10:01 - 10:06 (00:05)
localadm pts/0 16.618.3.75 Mon Jul 4 09:03 - 09:19 (00:16)
localadm pts/0 16.618.3.75 Mon Jul 4 08:16 - 08:19 (00:03)
localadm pts/0 16.618.3.75 Mon Jul 4 08:07 - 08:14 (00:06)
localadm pts/0 16.618.3.75 Mon Jul 4 08:00 - 08:04 (00:04)
また、クローンの作業も確認しましたが、そのどれもランレベルに影響を与えないようです。
foo@bar:/var/log$ cat syslog
Jul 20 07:02:01 bar CRON[28967]: (localadmin) CMD (cd /opt/foo/stats && ./agent.bin --run -D)
Jul 20 07:17:01 bar CRON[29489]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
Jul 20 08:02:01 bar CRON[30754]: (localadmin) CMD (cd /opt/foo/stats && ./agent.bin --run -D)
(また、グローバルレベルとユーザーレベルで各CRONテーブルを手動で確認しましたless /etc/crontab
.:)
サーバーは実際にAzure Cloudの一部です(これが質問に関連しているかどうかはわかりません)。
この問題を引き起こす別の原因が何であるかをご存知ですか?
どのように詳細を調べることができますか?
答え1
サーバーは実際に Azure Cloud の一部です。
このエラーは、SSHクライアント/Mongoクライアントとサーバー間のネットワークパスのどこでも発生する可能性があります。これは、あなたがアクセスできない多数のコンポーネントを表す可能性があります。
次の電話ポート(再起動するかどうかを確認した後)は、Microsoftサポートに連絡する必要があります(幸運です)。
同時に:
ネットワークデバイスに関するメッセージがあるかどうか、システムログを確認してください。
問題が表示されない場合は、リモート監視を設定して中断を追跡する必要があります。問題の調査に役立つ情報をサポートするだけでなく、契約を終了して他のプロバイダに切り替える方法も提供されます。
答え2
あなたの質問によると、パフォーマンスや可用性の問題ではないと推測されます。ネットワーク接続の問題のようです。クライアントまたはターゲットサーバーのファイアウォールに関連している可能性があります。
調査方法にはいくつかあります。
ping応答の確認
クライアントからサーバーへ、クライアントからサーバーへのtraceroute and tracepath
Traceroute コマンド
FQDNとIPアドレスを介して接続し、ネームサーバーエントリを確認して/etc/resolv.conf
ipv4アドレスであることを確認してください。
サーバーの sshd 構成を確認してください。
TCP接続タイムアウト設定の確認
ファイアウォールと se-linux をしばらく無効にして、該当する場合はもう一度お試しください。
/var/log/messages
など/var/log/secure
の手がかりを確認してください/var/log/auth
。/var/log/audit/audit.log
tcpdumpを使用してパケットを確認してください。これは tcp keepalive の問題が原因で発生する可能性があります。