Built-in Metrics

Agento itself
agento.GatherDuration Time used to gather metrics for Agento (ms)
CPU speed
Tag: core The cpu core
cpu.Frequency The current CPU frequency (kHz)
CPU statistics
Tag: core The cpu core
cpu.Guest Time spend on running guests (ticks/s)
cpu.GuestNice Time spend on running nice guests (ticks/s)
cpu.Idle Time spend idle (ticks/s)
cpu.IoWait Time spend waiting for IO (ticks/s)
cpu.Irq Time spend processing interrupts (ticks/s)
cpu.Nice Time spend in user mode with low priority (ticks/s)
cpu.SoftIrq Time spend processing soft interrupts (ticks/s)
cpu.Steal Time spend waiting for the physical CPU on a guest (ticks/s)
cpu.System Time spend in kernel mode (ticks/s)
cpu.User Time spend in user mode (ticks/s)
Disk Usage
Tag: mountpoint The mount point of the volume
du.Free Free space (b)
du.Reserved Space reserved for uid 0 (b)
du.Used Used space (b)
du.FreeNodes Free inodes (n)
du.UsedNodes Used inodes (n)
Entropy
misc.AvailableEntropy Available entropy in the kernel pool (b)
File handle usage
misc.OpenFilesFree The number of free file handles (n)
misc.OpenFilesUsed The number of allocated file handles (n)
IO
Tag: device The block device
io.IoInProgress The current queue size of IO operation ((n)
io.IoTime Time spend on IO (ms/s)
io.IoWeightedTime Time spend on IO times the IO queue. Please see https://www.kernel.org/doc/Documentation/iostats.txt (ms/s)
io.ReadsCompleted Reads from device (reads/s)
io.ReadSectors Sectors read (sectors/s)
io.ReadsMerged Reads merged (merges/s)
io.ReadTime Milliseconds spend reading (ms/s)
io.WritesCompleted Writes to device (writes/s)
io.WriteSectors Sectors written (sectors/)
io.WritesMerged Writes merged (merges/s)
io.WriteTime Time spend writing (ms/s)
Miscellaneous
misc.ActiveTasks Tasks running (n)
misc.BlockedProcesses Number of processes currently blocke ((n)
misc.ContextSwitches Number of context switches per second (/s)
misc.Forks Number of forks per second (/s)
misc.Interrupts Number of interrupts per second (/s)
misc.Load1 System load in the last minute ()
misc.Load5 System load in the last 5 minutes ()
misc.Load15 System load in the last 15 minutes ()
misc.RunningProcesses Currently running processe ((n)
misc.Tasks Number of tasks (n)
Memory & Swap
mem.Buffers Memory used for buffers (b)
mem.Cached Memory used for cache (b)
mem.Free Free memory (b)
mem.Shared Memory shared among multiple processes (b)
mem.Used Memory used (b)
swap.Free Free swap (b)
swap.Used Used swap (b)
Network
Tag: interface The network interface
net.RxBytes Bytes received (b/s)
net.RxCompressed Compressed frames received (frames/s)
net.RxDropped Dropped packets (packets/s)
net.RxErrors Receiver errors detected (errors/s)
net.RxFifo FIFO buffer overruns (overruns/s)
net.RxFrame Framing errors (errors/s)
net.RxMulticast Multicast frames received (frames/s)
net.RxPackets Packets received (packets/s)
net.TxBytes Bytes transmitted (b/s)
net.TxCarrier Carrier losses (losses/s)
net.TxCollisions Network collisions detected (collisions/s)
net.TxCompressed Compressed frames transmitted (frames/s)
net.TxDropped Packets dropped (packets/s)
net.TxErrors Transmission errors (errors/s)
net.TxFifo FIFO buffer overruns (overruns/s)
net.TxPackets Packets transmitted (packets/s)
Socket usage
sockets.Close Number of sockets in state CLOSE (n)
sockets.CloseWait Number of sockets in state CLOSE_WAIT (n)
sockets.Closing Number of sockets in state CLOSING (n)
sockets.Established Number of sockets in state ESTABLISHED (n)
sockets.FinWait1 Number of sockets in state FIN_WAIT1 (n)
sockets.FinWait2 Number of sockets in state FIN_WAIT2 (n)
sockets.LastAck Number of sockets in state LAST_ACK (n)
sockets.Listen Number of sockets in state LISTEN (n)
sockets.RootUser Number of sockets owned by root (n)
sockets.SynReceived Number of sockets in state SYN_SENT2 (n)
sockets.SynSent Number of sockets in state SYN_SENT1 (n)
sockets.TimeWait Number of sockets in state TIME_WAIT (n)

Configuration

Agento can is configured by a single configuration file: /etc/agento.conf.

Default configuration:

[client]
interval = 1
server = agento.{domain}

[server]
bind = "0.0.0.0"
port = 12345

[server.influxdb]
url = "http://localhost:8086/"
username = "root"
password = "root"
database = "agento"
retentionPolicy = "default"

InfluxDB

Agento requires InfluxDB 0.9rc31 or later. It can be installed on a Debian/Ubuntu system fairly easy.

root@influx01:~# wget http://get.influxdb.org/influxdb_0.9.0-rc31_amd64.deb
--2015-06-03 16:04:13--  http://get.influxdb.org/influxdb_0.9.0-rc31_amd64.deb
Resolving get.influxdb.org (get.influxdb.org)... 54.231.8.228
Connecting to get.influxdb.org (get.influxdb.org)|54.231.8.228|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 6582776 (6.3M) [application/x-debian-package]
Saving to: ‘influxdb_0.9.0-rc31_amd64.deb’

100%[==============================================================>] 6,582,776   2.91MB/s   in 2.2s

2015-06-03 16:04:16 (2.91 MB/s) - ‘influxdb_0.9.0-rc31_amd64.deb’ saved [6582776/6582776]

root@influx01:~# dpkg -i influxdb_0.9.0-rc31_amd64.deb
Selecting previously unselected package influxdb.
(Reading database ... 119950 files and directories currently installed.)
Preparing to unpack influxdb_0.9.0-rc31_amd64.deb ...
Unpacking influxdb (0.9.0-rc31) ...
Setting up influxdb (0.9.0-rc31) ...
 Removing any system startup links for /etc/init.d/influxdb ...
 Adding system startup for /etc/init.d/influxdb ...
   /etc/rc0.d/K20influxdb -> ../init.d/influxdb
   /etc/rc1.d/K20influxdb -> ../init.d/influxdb
   /etc/rc6.d/K20influxdb -> ../init.d/influxdb
   /etc/rc2.d/S20influxdb -> ../init.d/influxdb
   /etc/rc3.d/S20influxdb -> ../init.d/influxdb
   /etc/rc4.d/S20influxdb -> ../init.d/influxdb
   /etc/rc5.d/S20influxdb -> ../init.d/influxdb
root@influx01:~#

InfluxDB doesn’t start by itself when just installed, you need to manually start it.

root@influx01:~# /etc/init.d/influxdb start
Starting the process influxd [ OK ]
influxd process was started [ OK ]
root@influx01:~#

As per default authentication is disabled, so you don’t have to add a user. But you do need to create the needed database.

root@influx01:~# /opt/influxdb/influx -execute "CREATE DATABASE agento"