Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

概要

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

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

感謝

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away