1

안녕하세요, 저는 Telegraf 및 Influxdb를 처음 사용합니다. 필자는 Telegraf를 사용하여 로컬 파일 (Telegraf가 설치된 동일한 컴퓨터)을 꼬리 (모니터)하고 Telegraf의 [[inputs.tail]] 및 [outputs.influxdb] 플러그인을 사용하여 Influxdb로 출력을 보낼 수 있음을 알고 있습니다.테일 방법 원격 로그 파일 사용 Telegraf

그러나 Telegraf가 설치된 곳 이외의 다른 서버에있는 로그 파일을 꼬리로 지정하고 싶습니다.

로그 파일이있는 서버에서 Telegraf를 사용할 수 있습니다. 그러나 Influxdb에 데이터를 보낼 수 없기 때문에 설치할 수 없습니다. Influxdb가있는 서버에 액세스 할 수 없습니다.

그래서 InfluxDb에 데이터를 보내려면 중간 서버를 사용해야합니다.

그래서 원격 파일이나 다른 방법으로 꼬리를 짓는 방법이 있습니다. 모든 유형의 제안을 환영합니다.

답변

3

나는 주위를 둘러 보았다 그리고 우리가 그것을 할 수있는 방법을 해결책을 발견 :

Telegraf의 inputs.tail 플러그인이 꼬리에 옵션이 우리가 원격 파일을 모니터링하는 데 사용할 수있는 파이프를 가지고 있습니다. serverA에 로그 파일이 있고 serverB에 Telegraf가 실행되고 있다고 가정 해 봅시다.

그래서 Telegraf를 통해 원격 파일을 모니터링하는 단계를 기록 할 것입니다.

1. 먼저 serverB에 파이프를 만듭니다.

command for creating pipe : mkfifo pipeName 

2.Now 꼬리를 모니터링하고 서버 B에 파이프로 출력을 보낼 ServerA가 로그 파일을 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