2023年7月5日水曜日

Python fluent-logger 超入門

Python fluent-logger 超入門

概要

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 件のコメント:

コメントを投稿