質問: 個人でデータ収集などで利用しているので別途DBサーバを立てておらず一つのサーバ内で動かしてます。 awsを利用 amazon.linux ruby on rails mongodb nginx puma で動かしています。
回答: 素直に考えて良いのではないでしょうか。 エラーメッセージでNoServerAvailableと言ってるのだから、その時はmongodbが停止していたか、正常に動いていない(プロセスは生きていても正常ではない)という状態で、railsから接続できなかったのではないですか? > > 上記状態になるとmongodbを再起動させないと解決出来ませんでした。 > > 正確には1-2時間程ほったらかしてみたり、サーバ上から直接アクセスしましたがtime outになり接続出来ませんでした。 > > > 既に調査は済んでおり、原因は不明でも現象として「一定時間が経過するとmongodbが接続できなくなる」事は分かっていますよね? 原因の究明は後でやるとして、まずやるべき事はmongodbを監視して正常でない場合は自動で再起動するという仕組みを入れる事ではないでしょうか? 死活監視ツールはmonitなどが代表的ですが、他にも探せば出てきますので使いやすいものを検討してみてください。