LoginSignup
5
4

More than 5 years have passed since last update.

Dockerコンテナの標準エラー出力に任意のメッセージを送信

Last updated at Posted at 2018-03-26

概要

Dockerのlogging driver経由で出力されるログを監視している場合、監視設定を確認するために任意のメッセージを送りたいことがあります。
簡単にテストを実施するためにアプリケーション・ミドルウェアのコンテナに変わって任意のメッセージを送信する方法を紹介します。

Dockerのコンテナに限らず、Linuxのプロセスに関するTIPSです。

ユースケース

  • GGP: GKEからStackdriver Loggingへ送信されるログをフィルターテストしたい
  • AWS: AWSからCloudWatch Logsへ送信されるログをフィルターテストしたい

環境

  • OS: Alpine v3.7
  • Docker: v17

方法

# containerへログインする

# 対象のPIDを検索
container$ pid=$(pgrep -o xxx)

# 任意のメッセージをstderrに出力
# OSにより適宜fdへのパスは`/dev`などに読み変えてください
container$ echo '[error] テストだよ' >> /proc/${pid}/fd/2

# 任意のメッセージをstdoutに出力
# fdの番号を変えれば対応する出力先を選択できます
container$ echo '[info] テストだよ' >> /proc/${pid}/fd/1

あとはフィルター内容があっているか確認!!

感謝

深尾さん教えてくれてありがとう!

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4