新入社員のHDRです。
新人研修の一環でナレッジステアを作成することになりました。
今回の技術研修では、LogStareCollector(以下LSC)をLinuxサーバにインストールし、
FortiGateのSyslogを集めるという内容でした。
その際、私が直面した問題についてまとめました。
目次
ストップコマンドをかけても停止しない
LSCをインストールした後、stop_kallista.shコマンドを実行しても、
正常に停止しないという問題が発生しました。
# ./stop_kallista.sh
その後、psコマンドでプロセスを確認すると、
Javaのプロセスが残っていることがわかりました。
# ps -ef | grep -v "grep" | grep "java"
この時点でLSCが正しく停止していないことが明らかになりました。
試したことその1(Killコマンド)
この問題を調査する中で、stop_kallista.shにて停止処理が終了する前にstart_kallista.shを実行すると、
エラーログが出力されて、その後stop_kallista.shを受け付けなくなることがあることがわかりました。
(参照:ナレッジステア記事-LSC初期設定チュートリアル-初めてLSCを触る方へ-)
そこで、Javaプロセスを手動で強制終了する方法を以下の手順で実行しました:
1.管理者権限でJavaプロセスを確認
# ps -ef | grep -i "java"
2.プロセスIDを確認し、kill -9で強制終了
# kill -9 [プロセスID]
この操作を行った結果、LSCは無事に停止しました。
しかし、再度LSCを起動してから停止を試みたところ、同じ問題が発生し、
stop_kallista.shでは停止出来ない状態に戻ってしまいました。
試したことその2(Firewalld)
次に、Firewalld(Linuxのファイアウォールサービス)が原因である可能性を考え、
Firewalldの設定を確認しました。
以下の手順でFirewalldの状態を確認しました:
1.Firewalldの状態を確認
# systemctl status firewalld
Firewalldが起動していることがわかりましたので、次に自動起動を無効化しました。
2.Firewalldの自動起動を無効化
# systemctl disable firewalld
その後、サーバを再起動し、LSCを起動しました。
そして、再度stop_kallista.shを実行したところ、無事に停止することができました。
# ps -ef | grep -v "grep" | grep "java"
psコマンドでプロセスを確認したところ、LSCが正常に停止していることが確認できました。
・・・
原因&解決
今回の根本的な原因は、LSCのインストール時に発生したJDKのインストール問題を解決しようとした際にインターネット上の情報を参考に Firewalld に新たなルールを追加したことです。このルールの追加が原因でstop_kallista.sh による停止処理が正しく動作しなくなってしまいました。
追加したルールを削除するために、以下のコマンドを実行しました:
1. Firewalldルールの確認
#firewall-cmd --direct --get-all-rules
2. Firewalldルールの削除
# firewall-cmd --direct --remove-rule ipv4 filter OUTPUT 65000 -p tcp -j REJECT
その後、サーバを再起動し、LSCを起動しました。再度stop_kallista.shを実行したところ、Firewalld を有効にした状態でも正常に停止することができました。
# ps -ef | grep -v "grep" | grep "java"
psコマンドでプロセスを確認し、LSCが正常に停止していることが確認できました。
教訓
ネット上の解決策に安易に飛びつかない
JDKのインストール時、インターネットで見つけた解決策をそのまま実行して、Firewalldにルールを追加しました。しかし、結果として問題は解決せず、別の不具合を引き起こす原因となりました。ネット上の情報は、自分の環境に必ずしも適しているとは限りません。特に、システムに関わる設定を変更する際には、自分の環境を十分に理解し、他の選択肢や原因を慎重に検討することが重要だと痛感しました。
今後は、見つけた解決策にすぐ飛びつくのではなく、実行前にその影響範囲を確認し、自分のシステムに最適な方法かを判断する姿勢を持つことを心がけていきます。また、参考にしたコマンドを実行して効果がなかった場合には、速やかに元の状態へ戻すことも徹底したいと考えています。
記載されている会社名、システム名、製品名は一般に各社の登録商標または商標です。
当社製品以外のサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。