概要
python から fluentd にメッセージを送信してみました
簡単なサンプルコードを紹介します
環境
- macOS 13.4.1
- Python 3.11.3
- fluentd 1.16.1
準備
- pipenv install fluent-logger
fluentd 起動
とりあえずメッセージを受け取り標準出力に表示するだけの fluentd を起動します
- vim fluent.conf
<source>
type forward
port 24224
</source>
<match app.**>
type stdout
</match>
-
docker run -it --rm -v $(pwd):/fluentd/etc -p 24224:24224 -p 24224:24224/udp fluent/fluentd:edge-debian-arm64 -c /fluentd/etc/fluent.conf
AppleSillicon なので arm64 版のイメージを起動しています
サンプルコード
起動した fluentd にメッセージを送信するサンプルコードです
タグは app.* で指定します
- vim ./app.py
from fluent import sender
logger = sender.FluentSender('app', host='localhost', port=24224)
logger.emit('follow', {'from': 'userA', 'to': 'userB'})
動作確認
-
pipenv run python app.py
で fluentd 側のログに以下のようなログが表示されることを確認します
2023-06-30 05:55:55.000000000 +0000 app.follow: {"from":"userA","to":"userB"}
最後に
Python から fluentd に直接メッセージを送信してみました
ちょっとユースケースが思い浮かばないのですがログ以外でメッセージブローカとして fluentd を使うケースなどには使えそうです
0 件のコメント:
コメントを投稿