使用: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/procstatTelegraf - README.mdドキュメント - - procstatプラグインinputs.procstat exeファイル、pid_file、コマンド・ライン・パターンのユーザー名
私のカスタム設定:Telegraf v1.0.1デベロッパー
Telegrafは、プラグインのマニュアルを参照して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 "."
操作を実行します)を使用してマシン上で実行中のプロセスをキャッチすると、マシン上で実行されているすべてのプロセスがprocess_name=<processes>
の値になります。 -OR、pid_file = /var/run/jenkins/jenkins.pid
(注意:Java /その他のラッパーの背後で実行されるプロセスに対して、telegraf
サービスを実行しているユーザーに対してREAD権限を持っている場合) pid_file = /var/run/jenkins/jenkins.pid
を指定し、Jenkinsがユーザjenkins
と/var/run/jenkinsフォルダに少なくとも "r-x
"のアクセス権がなく、pidファイル自体に "r
"アクセス権がない場合、Jenkinsがスローします「許可が拒否されました」というエラーが表示されます。
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
モード(可能であれば)で実行することは可能ですか?プロセスのPIDファイルを読み込んで、そのようなプロセスがたくさんあると仮定すると、r-x/r
のアクセス権がなくても(Java /いくつかのWrapperの背後で実行されているので、exe=xxxx
はこのような場合には機能しません)、次に、pid_file = ...
メソッド、その後、どのように私はTelegrafがprocess_name
jenkins
として、あるいはその他nexus
PSを取得するため、このpid_file
方法で作業することができます:すべてのホスト上でchmod -R 775_or_755 /var/run
をやって実現可能ではないかもしれません。
私は/ var/ran/jenkinsフォルダで755許可を与え、jenkins.pidファイルで644を許可すれば、許可エラーは消えてしまいます。この後、メトリック:procstat.service.process.cpu.usage
をプロセスjenkins
(つまりprocess_name="jenkins"
)に対して使用しようとしましたが、値としてjenkins
が見つかりませんでした。私は何かが欠けていたか?
は少し私のポストを短縮し、私の他の質問のために別のポストを開けました。これは正当な質問ですか、それともまだ広すぎますか? –