“アタリ” は諸刃の剣|SSH越しのコマンド実行でハマった

“アタリ” は諸刃の剣|SSH越しのコマンド実行でハマった

インフラ部門ではなくとも、開発メインのエンジニアにも必要不可欠になってきたSSHの基礎知識。当然ながら、私も最低限の知識は押さえて日々の業務にあたっています。

そんな中、SSHコマンドによる思わぬ落とし穴で30分ほどハマってしまいました。
具体的に言えば、プロセスが残るようなコマンドを実行させたことで、ディスク使用率が上がってしまったという問題です。

今回はその顛末をご報告しようと思います。

実行したコマンドとは

私が実行したのは「tail -f」のコマンドです。
「tail -f」はログファイルなどの追記出力をリアルタイムで監視することができる、私の業務には欠くことのできないコマンドになります。

このコマンドを実行することでファイル追記分を監視し続け、終了するにも「Ctrl+C」を押すなどするしかありません。
この「監視し続ける」行為こそがプロセス保持あってのアクションになります。

「tail -f」同様にプロセスを残してしまうコマンドとして一般的なのは「ssh-agent (※)」とかでしょうか。
(※パスフレーズの入力の手間を省く便利なコマンドですが、パスフレーズをキャッシュとして保存することになるため、ログアウト後もメモリリソースを使ってしまうもの)

とにもかくにも、今回は「ssh ~ tail -f /var/log/nginx/access.log」というコマンドを実行したことで、ログイン側にプロセスが残ってしまい、結果的にディスク使用率が上がってしまいました。

事象発覚の経緯と調査の動機

ショーケース・ティービーでは「fluentd」を使ってログ収集している箇所があります。
この「fluentd」はTreasure Data社が開発するログ収集管理ツールであり、オープンソースで公開されていることからプラグイン自体も豊富に用意されています。

弊社ではこれまでも専用のプラグインを書いて運用していましたが、今回はこのプラグインに軽微な改修を入れたこともあり、確認用として問題のコマンド「ssh ~ tail -f /var/log/nginx/access.log」を実行することにしました。

時系列にすれば、以下のような感じです。

  1. 「fluentd」のプラグインを改修
  2. プラグインの確認用にフロントサーバ1のログをSSH越しに「tail -f」コマンド実行
  3. プラグインのテストをしばらく実施
  4. フロントサーバ1のディスク使用率が他に比べて大きいことに気付く(!)

【週刊bitWave】(メルマガ)始めました!

登録はこちらからメールアドレスを入力してお申込みください。

ご登録いただいたメールアドレスは 【週刊bitWave】の更新情報の配信にのみ使用します。

個人情報の取扱いに関しては、「プライバシーポリシー」をご確認ください。解除はいつでこちらから行うことが可能です。

あなたにおすすめ

仮想環境で『Ansible』を使ってサーバ構築... 最近、サーバ構築を実施する必要がありました。 まずは仮想環境を作り、サーバ構築を……と思ったのですが、私はインフラ周りの経験が浅く、色々困ったことが頻出してしまいました。 今回の記事では、私と同じような “サーバ構築ビギナー” ...
内線電話用の番号検索|Slack APPで作ってみた... ショーケース・ティービーではメール誤送信防止という観点から、社内連絡ではチャットツールを使用しています。 現在使用しているツールは「HipChat」。 <bitWave関連記事『情報漏えいしないための決定打!”Hip Chat”』>...
Amazon EC2|Red Hat Linux 7.3で“Muninインストール“や“パッケージ導... ナマステ~! 私はナラヤンです! 今回が初投稿になるのですが、実はこれまで何度か本bitWave上でも登場していました。 <bitWave関連記事『おもてなしの企業の社員が、ネパール人をおもてなししてみた!』> <bitWave関...
継続的インテグレーションツール『Jenkins』を触ってみた... こんにちは。M.Sです。 現在、『Jenkins』からSeleniumを実行するお題に取り組んでいます。 『Jenkins』ってなに? 身近な継続的インテグレーションとは 『Jenkins』はjavaで実装されたオープンソー...