doc
configure
#Hostname "localhost"
#FQDNLookup true
#BaseDir "/usr/var/lib/collectd"
#PIDFile "/usr/var/run/collectd.pid"
#PluginDir "/usr/lib/collectd"
#TypesDB "/usr/share/collectd/types.db"
Interval 60
Timeout 2
ReadThreads 10
WriteThreads 10
Include "/etc/collectd.d"
LoadPlugin logfile
LoadPlugin cpu
LoadPlugin df
LoadPlugin disk
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin network
LoadPlugin Processes
LoadPlugin tcpconns
<Plugin logfile>
LogLevel info
File "/var/log/collectd.log"
Timestamp true
PrintSeverity false
</Plugin>
<Plugin df>
FSType "ext3"
FSType "ext4"
FSType "xfs"
IgnoreSelected false
ReportReserved true
ReportInodes true
</Plugin>
<Plugin disk>
Disk "/^[hsv]d[a-f][0-9]?$/"
IgnoreSelected false
</Plugin>
<Plugin interface>
Interface "lo"
IgnoreSelected true
</Plugin>
<Plugin network>
Listen "0.0.0.0" "25826" # server
Server "127.0.0.1" "8089" # client
Forward true # proxy
ReportStats true
CacheFlush 1800
</Plugin>
<Plugin tcpconns>
ListeningPorts true
# LocalPort "25"
# RemotePort "25"
</Plugin>
https://github.com/collectd/collectd/issues/610
/usr/share/collectd/types.db
if_stats ifHCInOctets:COUNTER:0:U, ifHCOutOctets:COUNTER:0:U, ifHCInUcastPkts:COUNTER:0:U, ifHCInMulticastPkts:COUNTER:0:U, ifHCInBroadcastPkts:COUNTER:0:U, ifHCOutUcastPkts:COUNTER:0:U, ifHCOutMulticastPkts:COUNTER:0:U, ifHCOutBroadcastPkts:COUNTER:0:U, ifInDiscards:COUNTER:0:U, ifInErrors:COUNTER:0:U, ifOutDiscards:COUNTER:0:U, ifOutErrors:COUNTER:0:U
if_octets_hc ifHCInOctets:COUNTER:0:U, ifHCOutOctets:COUNTER:0:U
if_packets_hc ifHCInUcastPkts:COUNTER:0:U, ifHCInMcastPkts:COUNTER:0:U, ifHCInBcastPkts:COUNTER:0:U, ifHCOutUcastPkts:COUNTER:0:U, ifHCOutMcastPkts:COUNTER:0:U, ifHCOutBcastPkts:COUNTER:0:U
1个端口
<Plugin snmp>
<Data "traffic_Port-channel 1">
Type "if_octets_hc"
Table false
Instance "Port-channel 1"
Values "IF-MIB::ifHCInOctets.1107755009" "IF-MIB::ifHCOutOctets.1107755009"
</Data>
<Data "traffic_Port-channel 4">
Type "if_octets_hc"
Table false
Instance "Port-channel 4"
Values "IF-MIB::ifHCInOctets.1107755012" "IF-MIB::ifHCOutOctets.1107755012"
</Data>
<Host "us-34-30">
Address "11.16.34.30"
Version 2
Community "suntv"
Collect "traffic_Port-channel 1"
Interval 60
</Host>
<Host "la-34-30">
Address "11.45.34.30"
Version 2
Community "suntv"
Collect "traffic_Port-channel 4"
Interval 60
</Host>
</Plugin>
所有端口
<Plugin snmp>
<Data "traffic_Port-channel 1">
Type "if_octets_hc"
Table true
Instance "IF-MIB::ifDescr"
Values "IF-MIB::ifHCInOctets" "IF-MIB::ifHCOutOctets"
</Data>
<Data "traffic_Port-channel 4">
Type "if_octets_hc"
Table true
Instance "IF-MIB::ifDescr"
Values "IF-MIB::ifHCInOctets" "IF-MIB::ifHCOutOctets"
</Data>
<Host "us-34-30">
Address "11.16.34.30"
Version 2
Community "suntv"
Collect "traffic_Port-channel 1"
Interval 60
</Host>
<Host "la-34-30">
Address "11.45.34.30"
Version 2
Community "suntv"
Collect "traffic_Port-channel 4"
Interval 60
</Host>
</Plugin>
push data to influxdb
https://github.com/collectd/collectd/issues/696
[collectd]
enabled = true
bind-address = ":8089"
database = "collectd"
typesdb = "/etc/opt/influxdb/types.db"
api
# create db
curl -G http://192.168.48.83:8086/query --data-urlencode "q=CREATE DATABASE collectd"
# show series
curl -G http://192.168.48.83:8086/query?pretty=true --data-urlencode "db=collectd" --data-urlencode "q=show series"