This is an agent port of open-falcon, just like the origin agent module, but can running on both windows and linux.
- 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
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
Counters | Type | Tag | Notes |
---|---|---|---|
agent.alive | GAUGE | / | agent is alive |
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 |
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 |
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 |
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 |
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 |
Counters | Type | Tag | Notes |
---|---|---|---|
snmp.get | GAUGE | addr=address,oid=oid | get oid value from address |
- 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
:
{
"debug": true,
"hostname": "",
"ip": "",
"plugin": {
"enabled": false,
"dir": "./plugin",
"git": "https://github.com/open-falcon/plugin.git",
"logs": "./logs"
},
"heartbeat": {
"enabled": true,
"addr": "127.0.0.1:6030",
"interval": 60,
"timeout": 1000
},
"transfer": {
"enabled": true,
"addrs": [
"127.0.0.1:8433",
"127.0.0.1:8433"
],
"interval": 60,
"timeout": 1000
},
"http": {
"enabled": true,
"listen": ":1988",
"backdoor": false
},
"collector": {
"ifacePrefix": [], // deprecated
"mountPoint": [], // deprecated
},
"default_tags": {
},
"ignore": {
}
}
This software is licensed under the Apache License. See the LICENSE file in the top distribution directory for the full license text.