はじめに
DifyはオープンソースのAIアプリ開発プラットフォームとして人気があります。
Difyは、クラウドサービスとして利用することもできますが、Dokcerを使ってローカル環境で簡単に使うこともできます。ローカル環境で稼働するDifyをTWSNMPのOpenTelemetryコレクターでモニタすることができたのでその方法を紹介します。
Dify側の設定
Difyをローカル環境で起動
公式のページに方法が詳しく書いてあります。
この説明の中に
.env.example ファイルが更新された場合は、必ずローカルの .env ファイルをそれに応じて修正してください。
.env ファイル内のすべての設定項目を確認し、実際の運用環境に合わせて修正してください。.env.example から .env ファイルに新しい変数を追加したり、変更された値を更新する必要があるかもしれません。
という記述があります。OpenTelemetryでモニターするためには、このファイルを変更します。
.envファイルのOpenTelemetryの設定を変更
.env.exampleからコピーした.envに、OpenTelemetryに関する設定がります。
この項目を書き換えます。
# ------------------------------
# OTLP Collector Configuration
# ------------------------------
- ENABLE_OTEL=false
+ ENABLE_OTEL=true
- OTLP_BASE_ENDPOINT=
+ OTLP_BASE_ENDPOINT=http://192.168.1.250:4318
OTLP_API_KEY=
- OTEL_EXPORTER_OTLP_PROTOCOL=
+ OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_TYPE=otlp
OTEL_SAMPLING_RATE=0.1
OTEL_BATCH_EXPORT_SCHEDULE_DELAY=5000
OTEL_MAX_QUEUE_SIZE=2048
OTEL_MAX_EXPORT_BATCH_SIZE=512
OTEL_METRIC_EXPORT_INTERVAL=60000
OTEL_BATCH_EXPORT_TIMEOUT=10000
OTEL_METRIC_EXPORT_TIMEOUT=30000
http://192.168.1.250:4318
がTWSNMPで動作するOpenTelemetryコレクターのURLです。IPアドレスとポート番号をあわせてください。
設定を変更してから
$docker-compose up -d
で起動します。
TWSNMP側の設定
TWSNMP FKの場合
マップの設定
のOpenTelemetryのチェックをONにしてください。受信できるようになります。
送信元をIPアドレスで制限することもできます。
保存時間は、メトリックやトレースを保存する時間です。
## TWSNMP FCの場合
こちらもマップ設定に同じ項目があります。
ポート番号の変更や暗号通信対応
ポート番号の変更たTLSでの通信に変えたい場合は、TWSNMP FK/FCともに起動パラメータで変更します。
-otelCA string
OpenTelementry CA cert path
-otelCert string
OpenTelemetry server cert path
-otelGRPCPort int
OpenTelemetry server gRPC port (default 4317)
-otelHTTPPort int
OpenTelemetry server HTTP port (default 4318)
-otelKey string
OpenTelemetry server key path
モニター結果
両方の設定を行った後、Difyのアプリを操作すれば、
OpenTelemetryで情報がTWSNMPに送信されます。
メトリック
TWSNMP FKの場合は、上部のOTelのメニューをクリックすれば、
メトリックの画面が表示されます。
選択して、<レポート>をボタンをクリックすれば、
のようにグラフ表示できます。
トレース
トレースタブをクリックすれば、
のようにトレースのリストとグラフが表示されます。
選択して<レポート>ボタンを押せば
のようにトレースのグラフを表示します。
ログ
DifyからOpenTelemetryでログが送信されていないようです。エラーが発生した時にログが送信されるかもしれません。
補足
TWSNMP FKについて詳しく知りたい方は、
TWSNMP FCについては
をみてください。