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 [email protected] -home /root
我们在配置文件里对其定义如下即可:
[[Process]]
Command = "beam.smp"
Name = "node_name"
Args = "[email protected]"