1

こんにちは、私はTelegrafとInfluxdbを初めて使用しています。 Telegrafを使用してローカルファイル(Telegrafがインストールされているのと同じマシン)をテール(監視)し、Telegrafの[[inputs.tail]]プラグインと[outputs.influxdb]プラグインを使用してInfluxdbに出力を送信できることを知っています。テールの方法リモートログファイルのテレグラフの使用

しかし、Telegrafがインストールされている場所以外の別のサーバーにあるログファイルをテールします。

ログファイルがあるサーバーでTelegrafを使用することもできますが、そのサーバーはInfluxdbにデータを送信できないため、そのサーバーを使用できません。 Influxdbが存在するサーバーにはアクセスできません。

InfluxDbにデータを送信するには、中間サーバーを使用する必要があります。

リモートファイルをテールする方法があります。 どんなタイプの提案も大歓迎です。

答えて

3

私は周りを見回したと我々はそれを行うことができますどのように解決策を見つけた:

Telegrafのinputs.tailプラグインは、尾のオプションに、我々は、リモートのファイルを監視するために使用することができますパイプを持っています。 serverAにログファイルがあり、serverBにTelegrafが実行されているとします。

私はTelegraf経由でリモートファイルを監視する手順を書き留めます。

1.最初にserverBにパイプを作成します。

command for creating pipe : mkfifo pipeName 

2.Nowは、末尾にあなたが監視し、サーバB上のパイプに出力を送信するサーバA上のログファイルを、SSHを行いますサーバB上でコマンドを実行します。

command is : ssh -q [email protected] tail -f "pathToFile"/out.log > pipeName 

3.ここでinputs.tailプラグインをtelegraf設定ファイルに追加します。

[[inputs.tail]] 
files = ["pipeName"] 
from_beginning = false 
pipe = true 
data_format = "json" 
name_suffix = "_myMetrics" 

これは、要件に応じて変更できる設定です。

4.テレグラフを実行すると、構成ファイルで指定した出力プラグインにデータの書き込みが開始されます。

command to run Telegraf : ./usr/bin/telegraf -config demoTelegraf.conf 
関連する問題