scollector备忘

这篇文档记录配置scollector中遇到的一些注意事项。

hostname

我们很多机器都默认没有设置hostname,所以默认的hostname都是localhost,这样在监控时就不能区分了。因此要设置个定义的hostname,配置文件:

hostname = "server_A"  

默认的Tags

可以在配置文件里定义默认的tags,这样在输出每项指标值的时候都可以自动带上这些tags,不用自己再脚本里添加:

[Tags]
  tag1 = "tag1"
  tag2 = "tag2"

Processes

scollector提供了方便的监控进程的方式,可以在配置文件中定义,可监控的metric有:

linux.proc.char_io  
linux.proc.cpu  
linux.proc.io_bytes  
linux.proc.mem.fault  
linux.proc.mem.rss  
linux.proc.mem.virtual  
linux.proc.num_fds  
linux.proc.num_fds_hlim  
linux.proc.num_fds_slim  
linux.proc.start_time  
linux.proc.syscall  
linux.proc.uptime  

配置文件如下设置:

[[Process]]
  Command = "ruby"
  Name = "puppet-agent"
  Args = "puppet"

scollector读取/proc/$PID/cmdline的内容,以0x00为分隔符,将cmdline分割为列表,列表第一个item就是Command或者是它的一部分;
剩下的项并接起来,注意不是用空格分割的而是直接并接的,我们可以在Args里写该并接内容或其中一部分来精准定位这个进程;至于Name则是我们用来查询该进程时用的tag。具体见源码。举个实际的例子:

某个进程用ps查看出的进程名是这个样子的:

beam.smp -name NODE@127.0.0.1 -home /root  

我们在配置文件里对其定义如下即可:

[[Process]]
  Command = "beam.smp"
  Name = "node_name"
  Args = "nameNODE@127.0.0.1"