使用: 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.pid
jenkins
r-x
r
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_name
jenkins
nexus
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
。何か見逃しましたか?