Grafana 电讯及;InfluxDB:如何转换PROCSTAT';从字段到标签的pid是多少?

Grafana 电讯及;InfluxDB:如何转换PROCSTAT';从字段到标签的pid是多少?,grafana,influxdb,pid,telegraf,procstat,Grafana,Influxdb,Pid,Telegraf,Procstat,总结:我正在使用telegraf将procstat导入XDB我想将pid从一个整数字段转换为一个标记,这样我就可以在inflow中对其进行分组。 详情: 经过大量搜索,我在某个网站上发现了以下内容,但似乎正好相反(将标记转换为字段)。我不知道如何从中推断出相反的转换语法: [processors] [[processors.converter]] namepass = [ "procstat",] [processors.converter.tags] string = [

总结:我正在使用telegraf将procstat导入XDB我想将pid从一个整数字段转换为一个标记,这样我就可以在inflow中对其进行分组。

详情: 经过大量搜索,我在某个网站上发现了以下内容,但似乎正好相反(将标记转换为字段)。我不知道如何从中推断出相反的转换语法:

[processors]
[[processors.converter]]
namepass = [ "procstat",]

[processors.converter.tags]
string = [ "cmdline",]

我正在使用influx1.7.9

将pid转换为标签的正确处理器配置如下所示

[processors]
  [[processors.converter]]
     namepass = [ "procstat"]

  [processors.converter.fields]
     tag = [ "pid"]
请参阅转换器处理器插件的文档

在最新版本的telegraf中,通过在输入插件配置中指定pid,pid可以存储为标签。这里不需要转换器处理器

在配置中提及
pid\u tag=true
。但是,当进程的寿命很短时,请注意将pid作为标记对性能的影响

附言:你应该试着把你的telegraf版本升级到1.14.5。在这个版本中,procstat插件有一个性能改进补丁

插件配置参考

示例配置

# Monitor process cpu and memory usage
[[inputs.procstat]]
  ## PID file to monitor process
  pid_file = "/var/run/nginx.pid"
  ## executable name (ie, pgrep <exe>)
  # exe = "nginx"
  ## pattern as argument for pgrep (ie, pgrep -f <pattern>)
  # pattern = "nginx"
  ## user as argument for pgrep (ie, pgrep -u <user>)
  # user = "nginx"
  ## Systemd unit name
  # systemd_unit = "nginx.service"
  ## CGroup name or path
  # cgroup = "systemd/system.slice/nginx.service"

  ## Windows service name
  # win_service = ""

  ## override for process_name
  ## This is optional; default is sourced from /proc/<pid>/status
  # process_name = "bar"

  ## Field name prefix
  # prefix = ""

  ## When true add the full cmdline as a tag.
  # cmdline_tag = false

  ## Add the PID as a tag instead of as a field.  When collecting multiple
  ## processes with otherwise matching tags this setting should be enabled to
  ## ensure each process has a unique identity.
  ##
  ## Enabling this option may result in a large number of series, especially
  ## when processes have a short lifetime.
  # pid_tag = false
#监视进程cpu和内存使用情况
[[inputs.procstat]]
##用于监视进程的PID文件
pid_file=“/var/run/nginx.pid”
##可执行文件名(即pgrep)
#exe=“nginx”
##模式作为pgrep的参数(即pgrep-f)
#pattern=“nginx”
##用户作为pgrep的参数(即pgrep-u)
#user=“nginx”
##系统单位名称
#systemd_unit=“nginx.service”
##CGroup名称或路径
#cgroup=“systemd/system.slice/nginx.service”
##Windows服务名称
#win_service=“”
##进程名称的覆盖
##这是可选的;默认值来源于/proc//status
#进程\u name=“bar”
##字段名前缀
#prefix=“”
##如果为true,则将完整的cmdline添加为标记。
#cmdline_标记=false
##将PID添加为标记而不是字段。收集多个
##应启用此设置以启用具有其他匹配标记的进程
##确保每个流程具有唯一的标识。
##
##启用此选项可能会导致大量系列,尤其是
##当进程的生命周期较短时。
#pid_标记=false

非常感谢您提供的信息性回复和多个修复选项。