0

使用: Telegraf v1.0.1

Telegraf procstat プラグインのドキュメント: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/procstat

私のカスタム設定ファイル:
/etc/telegraf/telegraf.d/my_custom_process_service-telegraf.confには以下が含まれます:

[[inputs.procstat]]
  exe = "."
  prefix = "service_process"

[[inputs.procstat]]
  pid_file = "/var/run/jenkins/jenkins.pid"
  prefix = "service_process"

上記の構成は、構文ごとに正常に機能します。これにより、次のメトリック名で始まるメトリックが表示されます: procstat.service.process.xx.xx(文字で変換_しているかどうかによって異なります.) - または単にprocstat.service_process.x.xメトリック。

マシン上で実行されているプロセスをキャッチするにはexe = "."(操作を実行し、値pgrep "."を指定してマシン上で実行されているすべてのプロセスを検索します) 。-または、Java/その他のラッパーの背後で実行されるプロセスprocess_name=<processes>pid_file = /var/run/jenkins/jenkins.pid(注: サービスを実行しているユーザーの読み取り権限がある場合) を使用します。Jenkins がユーザーの下で実行されていてtelegraf、/ var/run/jenkinsフォルダーに pid ファイル自体に対する少なくとも " " アクセス + 読み取り " " アクセス権がない場合、"permission denied" に関するエラーがスローされます。 "。pid_file = /var/run/jenkins/jenkins.pidjenkinsr-xr

2017-01-10T18:13:30Z E! Error: procstat getting process, exe: [] pidfile: [/var/run/jenkins/jenkins.pid] pattern: [] user: [] Failed to read pidfile '/var/run/jenkins/jenkins.pid'. Error: 'open /var/run/jenkins/jenkins.pid: permission denied' 

質問:

モードで Telegraf を実行することは可能SUDOですか (可能であれば)? つまりr-x/r、プロセスの PID ファイルを読み取るアクセス権がなく、そのようなプロセスがたくさんあると仮定した場合 (Java/一部の Wrapper の背後で実行されているため、そのexe=xxxxような場合は機能しません)、pid_file = ...メソッドを使用する必要があります。asなどを取得するために、 Telegrafにこのpid_fileメソッドを使用させています。process_namejenkinsnexus

PS :chmod -R 775_or_755 /var/runすべてのホストで実行するのは現実的ではないかもしれません。

/var/ran/jenkins フォルダーに 755 のアクセス許可を与え、jenkins.pid ファイルに 644 のアクセス許可を与えると、アクセス許可エラーはなくなります。この後、私はメトリックを使用しようとしました:procstat.service.process.cpu.usageプロセスに対してjenkins(つまりprocess_name="jenkins")、それは値として見つかりませんjenkins。何か見逃しましたか?

4

1 に答える 1