This is an agent port of open-falcon, just like the origin agent module, but can running on both windows and linux.
Features
besic data collection(cpu, mem, disk and etc.)
process cpu, mem, nums collection
snmp device custom collection
http api to push
single execute file, can working with windows service or linux systemd
plugin execute support, but not support git or http sync
Installation
it is a golang classic project
# set GOPATH and GOROOT
go get github.com/geekerlw/falcon-agent
cd$GOPATH/src/github.com/geekerlw/falcon-agent
go build -o falcon-agent.exe # for windows
go build -o falcon-agent # for linux
Support metrics
common
Counters
Type
Tag
Notes
agent.alive
GAUGE
/
agent is alive
cpu
Counters
Type
Tag
Notes
cpu.user
GAUGE
/
cpu user time
cpu.system
GAUGE
/
cpu system time
cpu.idle
GAUGE
/
cpu idle time
cpu.nice
GAUGE
/
cpu nice time
cpu.iowait
GAUGE
/
cpu iowait time
cpu.irq
GAUGE
/
cpu irq time
cpu.softirq
GAUGE
/
cpu softirq time
cpu.steal
GAUGE
/
cpu steal time
cpu.guestnice
GAUGE
/
cpu gusesnice time
cpu.stolen
GAUGE
/
cpu stolen time
cpu.used.percent
GAUGE
/
cpu used percent
memory
Counters
Type
Tag
Notes
mem.swap.total
GAUGE
/
total swap memory
mem.swap.used
GAUGE
/
used swap memory
mem.swap.free
GAUGE
/
free swap memory
mem.swap.used.percent
GAUGE
/
swap memory used percent
mem.total
GAUGE
/
total virtual memory
mem.available
GAUGE
/
total available virtual memory
mem.used
GAUGE
/
used memory
mem.free
GAUGE
/
free memory
mem.used.percent
GAUGE
/
memory used percent
Disk
Counters
Type
Tag
Notes
disk.total
GAUGE
diskpath=%s
total
disk.free
GAUGE
diskpath=%s
free
disk.used
GAUGE
diskpath=%s
used
disk.used.percent
GAUGE
diskpath=%s
used percent
Network
Counters
Type
Tag
Notes
net.if.bytes.send
COUNTER
/
sum of all information
net.if.bytes.recv
COUNTER
/
sum of all information
net.if.packets.send
COUNTER
/
sum of all information
net.if.packets.recv
COUNTER
/
sum of all information
net.if.err.in
COUNTER
/
sum of all information
net.if.err.out
COUNTER
/
sum of all information
net.if.drop.in
COUNTER
/
sum of all information
net.if.drop.out
COUNTER
/
sum of all information
net.if.fifo.in
COUNTER
/
sum of all information
net.if.fifo.out
COUNTER
/
sum of all information
Process
Counters
Type
Tag
Notes
proc.num
GAUGE
name=name,cmdline=cmdline
process number
proc.cpu.percent
GAUGE
name=name,cmdline=cmdline
process cpu use
proc.mem.percent
GAUGE
name=name,cmdline=cmdline
process memory use
Snmp
Counters
Type
Tag
Notes
snmp.get
GAUGE
addr=address,oid=oid
get oid value from address
Configuration
heartbeat: heartbeat server rpc address
transfer: transfer rpc address
collector: metric configs
ignore: the metrics should be ignored
Refer to cfg.example.json, modify the file name to cfg.json :