Last active
August 29, 2015 14:04
-
-
Save jaytaylor/caa2e14c62369957b647 to your computer and use it in GitHub Desktop.
DataLoop ubuntu post-install cleanup script.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e -x | |
# Shutdown the dataloop agent. | |
sudo service dataloop-agent stop || true | |
# Kill stragglers in the even that the service control didn't work right. | |
agentPids=$(ps -ef | grep 'dataloop-lin-agent' | grep -v 'grep' | sed 's/ \+/ /g' | cut -d' ' -f2) | |
test -n "${agentPids}" && sudo kill -9 ${agentPids} | |
# Remove the lockfile (otherwise the agent won't be able to start from the unprivileged account). | |
sudo rm -f /tmp/-usr-local-bin-dataloop-lin-agent-.lock | |
# Kill off dataloop's collectd instance, if found. | |
collectdPid=$(ps -ef | grep 'collectd' | grep -v 'grep' | sed 's/ \+/ /g' | cut -d' ' -f2) | |
test -n "${collectdPid}" && sudo kill -9 ${collectdPid} | |
# Add dataloop user. | |
sudo useradd --user-group dataloop || true | |
sudo sed -i 's/RUNAS=root/RUNAS=dataloop/g' /etc/init.d/dataloop-agent | |
sudo sed -i 's/RUNAS=root/RUNAS=dataloop/g' /etc/init/dataloop-agent.conf | |
sudo chown -R dataloop:dataloop /opt/dataloop /var/log/dataloop | |
sudo apt-get update | |
sudo apt-get install --yes collectd | |
test ! -e /etc/collectd/collectd.conf.bak && sudo mv /etc/collectd/collectd.conf{,.bak} | |
fingerprint="$(cat /etc/dataloop/agent.finger | grep '^\s*fingerprint' | sed 's/.*\s*=\s*//')" | |
apikey="$(cat /etc/init/dataloop-agent.conf | grep 'API_KEY=' | sed 's/^.*=//')" | |
test -f /etc/collectd/collectd.conf && sudo mv /etc/collectd/collectd.conf{,.bak.$(date +%Y%m%d_%H%M%S)} || true | |
echo '# Config file for collectd(1). | |
# | |
# Some plugins need additional configuration and are disabled by default. | |
# Please read collectd.conf(5) for details. | |
# | |
# You should also read /usr/share/doc/collectd-core/README.Debian.plugins | |
# before enabling any more plugins. | |
############################################################################## | |
# Global # | |
#----------------------------------------------------------------------------# | |
# Global settings for the daemon. # | |
############################################################################## | |
Hostname "'${fingerprint}'" | |
#FQDNLookup true | |
#BaseDir "/var/lib/collectd" | |
#PluginDir "/usr/lib/collectd" | |
PIDFile "/var/run/collectd.pid" | |
#TypesDB "/usr/share/collectd/types.db" | |
#TypesDB "/opt/dataloop/collectors/collectd/share/collectd/types.db" | |
#----------------------------------------------------------------------------# | |
# When enabled, plugins are loaded automatically with the default options # | |
# when an appropriate <Plugin ...> block is encountered. # | |
# Disabled by default. # | |
#----------------------------------------------------------------------------# | |
#AutoLoadPlugin false | |
#----------------------------------------------------------------------------# | |
# Interval at which to query values. This may be overwritten on a per-plugin # | |
# base by using the '"'"'Interval'"'"' option of the LoadPlugin block: # | |
# <LoadPlugin foo> # | |
# Interval 60 # | |
# </LoadPlugin> # | |
#----------------------------------------------------------------------------# | |
#Interval 10 | |
#Timeout 2 | |
#ReadThreads 5 | |
#WriteThreads 5 | |
# Limit the size of the write queue. Default is no limit. Setting up a limit | |
# is recommended for servers handling a high volume of traffic. | |
#WriteQueueLimitHigh 1000000 | |
#WriteQueueLimitLow 800000 | |
############################################################################## | |
# Logging # | |
#----------------------------------------------------------------------------# | |
# Plugins which provide logging functions should be loaded first, so log # | |
# messages generated when loading or configuring other plugins can be # | |
# accessed. # | |
############################################################################## | |
#LoadPlugin logfile | |
#<Plugin logfile> | |
# LogLevel "info" | |
# File STDOUT | |
# Timestamp true | |
# PrintSeverity false | |
#</Plugin> | |
LoadPlugin syslog | |
<Plugin syslog> | |
LogLevel info | |
</Plugin> | |
############################################################################## | |
# LoadPlugin section # | |
#----------------------------------------------------------------------------# | |
# Specify what features to activate. # | |
############################################################################## | |
#LoadPlugin aggregation | |
LoadPlugin amqp | |
#LoadPlugin apache | |
#LoadPlugin apcups | |
#LoadPlugin ascent | |
#LoadPlugin battery | |
#LoadPlugin bind | |
#LoadPlugin cgroups | |
LoadPlugin conntrack | |
LoadPlugin contextswitch | |
LoadPlugin cpu | |
#LoadPlugin cpufreq | |
#LoadPlugin csv | |
#LoadPlugin curl | |
LoadPlugin curl_json | |
#LoadPlugin curl_xml | |
#LoadPlugin dbi | |
LoadPlugin df | |
LoadPlugin disk | |
#LoadPlugin dns | |
#LoadPlugin email | |
LoadPlugin entropy | |
LoadPlugin ethstat | |
#LoadPlugin exec | |
#LoadPlugin filecount | |
LoadPlugin fscache | |
#LoadPlugin gmond | |
#LoadPlugin hddtemp | |
LoadPlugin interface | |
#LoadPlugin ipmi | |
#LoadPlugin iptables | |
#LoadPlugin ipvs | |
LoadPlugin irq | |
#LoadPlugin java | |
#LoadPlugin libvirt | |
LoadPlugin load | |
#LoadPlugin lvm | |
#LoadPlugin madwifi | |
#LoadPlugin mbmon | |
#LoadPlugin md | |
#LoadPlugin memcachec | |
#LoadPlugin memcached | |
LoadPlugin memory | |
#LoadPlugin modbus | |
#LoadPlugin multimeter | |
#LoadPlugin mysql | |
#LoadPlugin netlink | |
#LoadPlugin network | |
#LoadPlugin nfs | |
#LoadPlugin nginx | |
#LoadPlugin notify_desktop | |
#LoadPlugin notify_email | |
#LoadPlugin ntpd | |
#LoadPlugin numa | |
#LoadPlugin nut | |
#LoadPlugin olsrd | |
#LoadPlugin openvpn | |
#<LoadPlugin perl> | |
# Globals true | |
#</LoadPlugin> | |
#LoadPlugin pinba | |
#LoadPlugin ping | |
#LoadPlugin postgresql | |
#LoadPlugin powerdns | |
LoadPlugin processes | |
#LoadPlugin protocols | |
#<LoadPlugin python> | |
# Globals true | |
#</LoadPlugin> | |
#LoadPlugin rrdcached | |
LoadPlugin rrdtool | |
#LoadPlugin sensors | |
#LoadPlugin serial | |
#LoadPlugin snmp | |
#LoadPlugin statsd | |
LoadPlugin swap | |
#LoadPlugin table | |
#LoadPlugin tail | |
#LoadPlugin tail_csv | |
#LoadPlugin tcpconns | |
#LoadPlugin teamspeak2 | |
#LoadPlugin ted | |
#LoadPlugin thermal | |
#LoadPlugin tokyotyrant | |
#LoadPlugin unixsock | |
LoadPlugin uptime | |
LoadPlugin users | |
#LoadPlugin uuid | |
#LoadPlugin varnish | |
#LoadPlugin vmem | |
#LoadPlugin vserver | |
#LoadPlugin wireless | |
LoadPlugin write_graphite | |
#LoadPlugin write_http | |
#LoadPlugin write_riemann | |
############################################################################## | |
# Plugin configuration # | |
#----------------------------------------------------------------------------# | |
# In this section configuration stubs for each plugin are provided. A desc- # | |
# ription of those options is available in the collectd.conf(5) manual page. # | |
############################################################################## | |
#<Plugin "aggregation"> | |
# <Aggregation> | |
# #Host "unspecified" | |
# Plugin "cpu" | |
# PluginInstance "/[0,2,4,6,8]$/" | |
# Type "cpu" | |
# #TypeInstance "unspecified" | |
# | |
# SetPlugin "cpu" | |
# SetPluginInstance "even-%{aggregation}" | |
# | |
# GroupBy "Host" | |
# GroupBy "TypeInstance" | |
# | |
# CalculateNum false | |
# CalculateSum false | |
# CalculateAverage true | |
# CalculateMinimum false | |
# CalculateMaximum false | |
# CalculateStddev false | |
# </Aggregation> | |
#</Plugin> | |
#<Plugin amqp> | |
# <Publish "name"> | |
# Host "localhost" | |
# Port "5672" | |
# VHost "/" | |
# User "guest" | |
# Password "guest" | |
# Exchange "amq.fanout" | |
# RoutingKey "collectd" | |
# Persistent false | |
# StoreRates false | |
# </Publish> | |
#</Plugin> | |
#<Plugin apache> | |
# <Instance "foo"> | |
# URL "http://localhost/server-status?auto" | |
# User "www-user" | |
# Password "secret" | |
# VerifyPeer false | |
# VerifyHost false | |
# CACert "/etc/ssl/ca.crt" | |
# Server "apache" | |
# </Instance> | |
# | |
# <Instance "bar"> | |
# URL "http://some.domain.tld/status?auto" | |
# Host "some.domain.tld" | |
# Server "lighttpd" | |
# </Instance> | |
#</Plugin> | |
#<Plugin apcups> | |
# Host "localhost" | |
# Port "3551" | |
# ReportSeconds true | |
#</Plugin> | |
#<Plugin ascent> | |
# URL "http://localhost/ascent/status/" | |
# User "www-user" | |
# Password "secret" | |
# VerifyPeer false | |
# VerifyHost false | |
# CACert "/etc/ssl/ca.crt" | |
#</Plugin> | |
#<Plugin "bind"> | |
# URL "http://localhost:8053/" | |
# | |
# ParseTime false | |
# | |
# OpCodes true | |
# QTypes true | |
# ServerStats true | |
# ZoneMaintStats true | |
# ResolverStats false | |
# MemoryStats true | |
# | |
# <View "_default"> | |
# QTypes true | |
# ResolverStats true | |
# CacheRRSets true | |
# | |
# Zone "127.in-addr.arpa/IN" | |
# </View> | |
#</Plugin> | |
#<Plugin "cgroups"> | |
# CGroup "libvirt" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin csv> | |
# DataDir "/var/lib/collectd/csv" | |
# StoreRates false | |
#</Plugin> | |
#<Plugin curl> | |
# <Page "stock_quotes"> | |
# URL "http://finance.google.com/finance?q=NYSE%3AAMD" | |
# User "foo" | |
# Password "bar" | |
# VerifyPeer false | |
# VerifyHost false | |
# CACert "/etc/ssl/ca.crt" | |
# MeasureResponseTime false | |
# <Match> | |
# Regex "<span +class=\"pr\"[^>]*> *([0-9]*\\.[0-9]+) *</span>" | |
# DSType "GaugeAverage" | |
# Type "stock_value" | |
# Instance "AMD" | |
# </Match> | |
# </Page> | |
#</Plugin> | |
#<Plugin curl_json> | |
# <URL "http://localhost:15672/api/overview"> | |
# Instance "rabbitmq_overview" | |
# User "redacted" | |
# Password "redacted" | |
# <Key "message_stats/publish"> | |
# Type "counter" | |
# </Key> | |
# <Key "message_stats/deliver_get"> | |
# Type "counter" | |
# </Key> | |
# <Key "message_stats/deliver_no_ack"> | |
# Type "counter" | |
# </Key> | |
# <Key "message_stats/publish_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# <Key "message_stats/deliver_get_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# <Key "message_stats/deliver_get_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# <Key "message_stats/deliver_no_ack_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# <Key "queue_totals/messages"> | |
# Type "gauge" | |
# </Key> | |
# <Key "queue_totals/messages_ready"> | |
# Type "gauge" | |
# </Key> | |
# <Key "queue_totals/messages_unacknowledged"> | |
# Type "gauge" | |
# </Key> | |
# <Key "queue_totals/messages_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# <Key "queue_totals/messages_ready_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# <Key "queue_totals/messages_unacknowledged_details/rate"> | |
# Type "gauge" | |
# </Key> | |
# </URL> | |
#</Plugin> | |
#<Plugin curl_json> | |
## See: http://wiki.apache.org/couchdb/Runtime_Statistics | |
# <URL "http://localhost:5984/_stats"> | |
# Instance "httpd" | |
# <Key "httpd/requests/count"> | |
# Type "http_requests" | |
# </Key> | |
# | |
# <Key "httpd_request_methods/*/count"> | |
# Type "http_request_methods" | |
# </Key> | |
# | |
# <Key "httpd_status_codes/*/count"> | |
# Type "http_response_codes" | |
# </Key> | |
# </URL> | |
## Database status metrics: | |
# <URL "http://localhost:5984/_all_dbs"> | |
# Instance "dbs" | |
# <Key "*/doc_count"> | |
# Type "gauge" | |
# </Key> | |
# <Key "*/doc_del_count"> | |
# Type "counter" | |
# </Key> | |
# <Key "*/disk_size"> | |
# Type "bytes" | |
# </Key> | |
# </URL> | |
#</Plugin> | |
#<Plugin "curl_xml"> | |
# <URL "http://localhost/stats.xml"> | |
# Host "my_host" | |
# Instance "some_instance" | |
# User "collectd" | |
# Password "thaiNg0I" | |
# VerifyPeer true | |
# VerifyHost true | |
# CACert "/path/to/ca.crt" | |
# | |
# <XPath "table[@id=\"magic_level\"]/tr"> | |
# Type "magic_level" | |
# InstancePrefix "prefix-" | |
# InstanceFrom "td[1]" | |
# ValuesFrom "td[2]/span[@class=\"level\"]" | |
# </XPath> | |
# </URL> | |
#</Plugin> | |
#<Plugin dbi> | |
# <Query "num_of_customers"> | |
# Statement "SELECT '"'"'customers'"'"' AS c_key, COUNT(*) AS c_value \ | |
# FROM customers_tbl" | |
# MinVersion 40102 | |
# MaxVersion 50042 | |
# <Result> | |
# Type "gauge" | |
# InstancePrefix "customer" | |
# InstancesFrom "c_key" | |
# ValuesFrom "c_value" | |
# </Result> | |
# </Query> | |
# | |
# <Database "customers_db"> | |
# Driver "mysql" | |
# DriverOption "host" "localhost" | |
# DriverOption "username" "collectd" | |
# DriverOption "password" "secret" | |
# DriverOption "dbname" "custdb0" | |
# SelectDB "custdb0" | |
# Query "num_of_customers" | |
# Query "..." | |
# Host "..." | |
# </Database> | |
#</Plugin> | |
<Plugin df> | |
# Device "/dev/sda1" | |
# Device "192.168.0.2:/mnt/nfs" | |
# MountPoint "/home" | |
# FSType "ext3" | |
# ignore rootfs; else, the root file-system would appear twice, causing | |
# one of the updates to fail and spam the log | |
FSType rootfs | |
# ignore the usual virtual / temporary file-systems | |
FSType sysfs | |
FSType proc | |
FSType devtmpfs | |
FSType devpts | |
FSType tmpfs | |
FSType fusectl | |
FSType cgroup | |
IgnoreSelected true | |
# ReportByDevice false | |
# ReportReserved false | |
# ReportInodes false | |
# ValuesAbsolute true | |
# ValuesPercentage false | |
</Plugin> | |
#<Plugin disk> | |
# Disk "hda" | |
# Disk "/sda[23]/" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin dns> | |
# Interface "eth0" | |
# IgnoreSource "192.168.0.1" | |
# SelectNumericQueryTypes false | |
#</Plugin> | |
#<Plugin email> | |
# SocketFile "/var/run/collectd-email" | |
# SocketGroup "collectd" | |
# SocketPerms "0770" | |
# MaxConns 5 | |
#</Plugin> | |
#<Plugin ethstat> | |
# Interface "eth0" | |
# Map "rx_csum_offload_errors" "if_rx_errors" "checksum_offload" | |
# Map "multicast" "if_multicast" | |
# MappedOnly false | |
#</Plugin> | |
#<Plugin exec> | |
# Exec user "/path/to/exec" | |
# Exec "user:group" "/path/to/exec" | |
# NotificationExec user "/path/to/exec" | |
#</Plugin> | |
#<Plugin filecount> | |
# <Directory "/path/to/dir"> | |
# Instance "foodir" | |
# Name "*.conf" | |
# MTime "-5m" | |
# Size "+10k" | |
# Recursive true | |
# IncludeHidden false | |
# </Directory> | |
#</Plugin> | |
#<Plugin gmond> | |
# MCReceiveFrom "239.2.11.71" "8649" | |
# | |
# <Metric "swap_total"> | |
# Type "swap" | |
# TypeInstance "total" | |
# DataSource "value" | |
# </Metric> | |
# | |
# <Metric "swap_free"> | |
# Type "swap" | |
# TypeInstance "free" | |
# DataSource "value" | |
# </Metric> | |
#</Plugin> | |
#<Plugin hddtemp> | |
# Host "127.0.0.1" | |
# Port 7634 | |
#</Plugin> | |
#<Plugin interface> | |
# Interface "eth0" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin ipmi> | |
# Sensor "some_sensor" | |
# Sensor "another_one" | |
# IgnoreSelected false | |
# NotifySensorAdd false | |
# NotifySensorRemove true | |
# NotifySensorNotPresent false | |
#</Plugin> | |
#<Plugin iptables> | |
# Chain "table" "chain" | |
#</Plugin> | |
#<Plugin irq> | |
# Irq 7 | |
# Irq 8 | |
# Irq 9 | |
# IgnoreSelected true | |
#</Plugin> | |
#<Plugin java> | |
# JVMArg "-verbose:jni" | |
# JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar" | |
# | |
# LoadPlugin "org.collectd.java.GenericJMX" | |
# <Plugin "GenericJMX"> | |
# # See /usr/share/doc/collectd/examples/GenericJMX.conf | |
# # for an example config. | |
# </Plugin> | |
#</Plugin> | |
#<Plugin libvirt> | |
# Connection "xen:///" | |
# RefreshInterval 60 | |
# Domain "name" | |
# BlockDevice "name:device" | |
# InterfaceDevice "name:device" | |
# IgnoreSelected false | |
# HostnameFormat name | |
# InterfaceFormat name | |
#</Plugin> | |
#<Plugin madwifi> | |
# Interface "wlan0" | |
# IgnoreSelected false | |
# Source "SysFS" | |
# WatchSet "None" | |
# WatchAdd "node_octets" | |
# WatchAdd "node_rssi" | |
# WatchAdd "is_rx_acl" | |
# WatchAdd "is_scan_active" | |
#</Plugin> | |
#<Plugin mbmon> | |
# Host "127.0.0.1" | |
# Port 411 | |
#</Plugin> | |
#<Plugin md> | |
# Device "/dev/md0" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin memcachec> | |
# <Page "plugin_instance"> | |
# Server "localhost" | |
# Key "page_key" | |
# <Match> | |
# Regex "(\\d+) bytes sent" | |
# ExcludeRegex "<lines to be excluded>" | |
# DSType CounterAdd | |
# Type "ipt_octets" | |
# Instance "type_instance" | |
# </Match> | |
# </Page> | |
#</Plugin> | |
#<Plugin memcached> | |
# <Instance "local"> | |
# Socket "/var/run/memcached.sock" | |
# or: | |
# Host "127.0.0.1" | |
# Port "11211" | |
# </Instance> | |
#</Plugin> | |
#<Plugin modbus> | |
# <Data "data_name"> | |
# RegisterBase 1234 | |
# RegisterType float | |
# Type gauge | |
# Instance "..." | |
# </Data> | |
# | |
# <Host "name"> | |
# Address "addr" | |
# Port "1234" | |
# Interval 60 | |
# | |
# <Slave 1> | |
# Instance "foobar" # optional | |
# Collect "data_name" | |
# </Slave> | |
# </Host> | |
#</Plugin> | |
#<Plugin mysql> | |
# <Database db_name> | |
# Host "database.serv.er" | |
# Port "3306" | |
# User "db_user" | |
# Password "secret" | |
# Database "db_name" | |
# MasterStats true | |
# </Database> | |
# | |
# <Database db_name2> | |
# Host "localhost" | |
# Socket "/var/run/mysql/mysqld.sock" | |
# SlaveStats true | |
# SlaveNotifications true | |
# </Database> | |
#</Plugin> | |
#<Plugin netlink> | |
# Interface "All" | |
# VerboseInterface "All" | |
# QDisc "eth0" "pfifo_fast-1:0" | |
# Class "ppp0" "htb-1:10" | |
# Filter "ppp0" "u32-1:0" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin network> | |
# # client setup: | |
# Server "ff18::efc0:4a42" "25826" | |
# <Server "239.192.74.66" "25826"> | |
# SecurityLevel Encrypt | |
# Username "user" | |
# Password "secret" | |
# Interface "eth0" | |
# </Server> | |
# TimeToLive "128" | |
# | |
# # server setup: | |
# Listen "ff18::efc0:4a42" "25826" | |
# <Listen "239.192.74.66" "25826"> | |
# SecurityLevel Sign | |
# AuthFile "/etc/collectd/passwd" | |
# Interface "eth0" | |
# </Listen> | |
# MaxPacketSize 1024 | |
# | |
# # proxy setup (client and server as above): | |
# Forward true | |
# | |
# # statistics about the network plugin itself | |
# ReportStats false | |
# | |
# # "garbage collection" | |
# CacheFlush 1800 | |
#</Plugin> | |
#<Plugin nginx> | |
# URL "http://localhost/status?auto" | |
# User "www-user" | |
# Password "secret" | |
# VerifyPeer false | |
# VerifyHost false | |
# CACert "/etc/ssl/ca.crt" | |
#</Plugin> | |
#<Plugin notify_desktop> | |
# OkayTimeout 1000 | |
# WarningTimeout 5000 | |
# FailureTimeout 0 | |
#</Plugin> | |
#<Plugin notify_email> | |
# SMTPServer "localhost" | |
# SMTPPort 25 | |
# SMTPUser "my-username" | |
# SMTPPassword "my-password" | |
# From "[email protected]" | |
# # <WARNING/FAILURE/OK> on <hostname>. | |
# # Beware! Do not use not more than two placeholders (%)! | |
# Subject "[collectd] %s on %s!" | |
# Recipient "[email protected]" | |
# Recipient "[email protected]" | |
#</Plugin> | |
#<Plugin ntpd> | |
# Host "localhost" | |
# Port 123 | |
# ReverseLookups false | |
# IncludeUnitID true | |
#</Plugin> | |
#<Plugin nut> | |
# UPS "upsname@hostname:port" | |
#</Plugin> | |
#<Plugin olsrd> | |
# Host "127.0.0.1" | |
# Port "2006" | |
# CollectLinks "Summary" | |
# CollectRoutes "Summary" | |
# CollectTopology "Summary" | |
#</Plugin> | |
#<Plugin openvpn> | |
# StatusFile "/etc/openvpn/openvpn-status.log" | |
# ImprovedNamingSchema false | |
# CollectCompression true | |
# CollectIndividualUsers true | |
# CollectUserCount false | |
#</Plugin> | |
#<Plugin perl> | |
# IncludeDir "/my/include/path" | |
# BaseName "Collectd::Plugins" | |
# EnableDebugger "" | |
# LoadPlugin Monitorus | |
# LoadPlugin OpenVZ | |
# | |
# <Plugin foo> | |
# Foo "Bar" | |
# Qux "Baz" | |
# </Plugin> | |
#</Plugin> | |
#<Plugin pinba> | |
# Address "::0" | |
# Port "30002" | |
# <View "name"> | |
# Host "host name" | |
# Server "server name" | |
# Script "script name" | |
# <View> | |
#</Plugin> | |
#<Plugin ping> | |
# Host "host.foo.bar" | |
# Host "host.baz.qux" | |
# Interval 1.0 | |
# Timeout 0.9 | |
# TTL 255 | |
# SourceAddress "1.2.3.4" | |
# Device "eth0" | |
# MaxMissed -1 | |
#</Plugin> | |
#<Plugin postgresql> | |
# <Query magic> | |
# Statement "SELECT magic FROM wizard WHERE host = $1;" | |
# Param hostname | |
# | |
# <Result> | |
# Type gauge | |
# InstancePrefix "magic" | |
# ValuesFrom "magic" | |
# </Result> | |
# </Query> | |
# | |
# <Query rt36_tickets> | |
# Statement "SELECT COUNT(type) AS count, type \ | |
# FROM (SELECT CASE \ | |
# WHEN resolved = '"'"'epoch'"'"' THEN '"'"'open'"'"' \ | |
# ELSE '"'"'resolved'"'"' END AS type \ | |
# FROM tickets) type \ | |
# GROUP BY type;" | |
# | |
# <Result> | |
# Type counter | |
# InstancePrefix "rt36_tickets" | |
# InstancesFrom "type" | |
# ValuesFrom "count" | |
# </Result> | |
# </Query> | |
# | |
# <Writer sqlstore> | |
# # See /usr/share/doc/collectd-core/examples/postgresql/collectd_insert.sql for details | |
# Statement "SELECT collectd_insert($1, $2, $3, $4, $5, $6, $7, $8, $9);" | |
# StoreRates true | |
# </Writer> | |
# | |
# <Database foo> | |
# Host "hostname" | |
# Port 5432 | |
# User "username" | |
# Password "secret" | |
# | |
# SSLMode "prefer" | |
# KRBSrvName "kerberos_service_name" | |
# | |
# Query magic | |
# </Database> | |
# | |
# <Database bar> | |
# Interval 60 | |
# Service "service_name" | |
# | |
# Query backend # predefined | |
# Query rt36_tickets | |
# </Database> | |
# | |
# <Database qux> | |
# Service "collectd_store" | |
# Writer sqlstore | |
# # see collectd.conf(5) for details | |
# CommitInterval 30 | |
# </Database> | |
#</Plugin> | |
#<Plugin powerdns> | |
# <Server "server_name"> | |
# Collect "latency" | |
# Collect "udp-answers" "udp-queries" | |
# Socket "/var/run/pdns.controlsocket" | |
# </Server> | |
# <Recursor "recursor_name"> | |
# Collect "questions" | |
# Collect "cache-hits" "cache-misses" | |
# Socket "/var/run/pdns_recursor.controlsocket" | |
# </Recursor> | |
# LocalSocket "/opt/collectd/var/run/collectd-powerdns" | |
#</Plugin> | |
#<Plugin processes> | |
# Process "name" | |
# ProcessMatch "foobar" "/usr/bin/perl foobar\\.pl.*" | |
#</Plugin> | |
#<Plugin protocols> | |
# Value "/^Tcp:/" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin python> | |
# ModulePath "/path/to/your/python/modules" | |
# LogTraces true | |
# Interactive true | |
# Import "spam" | |
# | |
# <Module spam> | |
# spam "wonderful" "lovely" | |
# </Module> | |
#</Plugin> | |
#<Plugin rrdcached> | |
# DaemonAddress "unix:/var/run/rrdcached.sock" | |
# DataDir "/var/lib/rrdcached/db/collectd" | |
# CreateFiles true | |
# CreateFilesAsync false | |
# CollectStatistics true | |
# | |
# The following settings are rather advanced | |
# and should usually not be touched: | |
# StepSize 10 | |
# HeartBeat 20 | |
# RRARows 1200 | |
# RRATimespan 158112000 | |
# XFF 0.1 | |
#</Plugin> | |
<Plugin rrdtool> | |
DataDir "/var/lib/collectd/rrd" | |
# CacheTimeout 120 | |
# CacheFlush 900 | |
# WritesPerSecond 30 | |
# CreateFilesAsync false | |
# RandomTimeout 0 | |
# | |
# The following settings are rather advanced | |
# and should usually not be touched: | |
# StepSize 10 | |
# HeartBeat 20 | |
# RRARows 1200 | |
# RRATimespan 158112000 | |
# XFF 0.1 | |
</Plugin> | |
#<Plugin sensors> | |
# SensorConfigFile "/etc/sensors3.conf" | |
# Sensor "it8712-isa-0290/temperature-temp1" | |
# Sensor "it8712-isa-0290/fanspeed-fan3" | |
# Sensor "it8712-isa-0290/voltage-in8" | |
# IgnoreSelected false | |
#</Plugin> | |
# See /usr/share/doc/collectd/examples/snmp-data.conf.gz for a | |
# comprehensive sample configuration. | |
#<Plugin snmp> | |
# <Data "powerplus_voltge_input"> | |
# Type "voltage" | |
# Table false | |
# Instance "input_line1" | |
# Scale 0.1 | |
# Values "SNMPv2-SMI::enterprises.6050.5.4.1.1.2.1" | |
# </Data> | |
# <Data "hr_users"> | |
# Type "users" | |
# Table false | |
# Instance "" | |
# Shift -1 | |
# Values "HOST-RESOURCES-MIB::hrSystemNumUsers.0" | |
# </Data> | |
# <Data "std_traffic"> | |
# Type "if_octets" | |
# Table true | |
# InstancePrefix "traffic" | |
# Instance "IF-MIB::ifDescr" | |
# Values "IF-MIB::ifInOctets" "IF-MIB::ifOutOctets" | |
# </Data> | |
# | |
# <Host "some.switch.mydomain.org"> | |
# Address "192.168.0.2" | |
# Version 1 | |
# Community "community_string" | |
# Collect "std_traffic" | |
# Inverval 120 | |
# </Host> | |
# <Host "some.server.mydomain.org"> | |
# Address "192.168.0.42" | |
# Version 2 | |
# Community "another_string" | |
# Collect "std_traffic" "hr_users" | |
# </Host> | |
# <Host "some.ups.mydomain.org"> | |
# Address "192.168.0.3" | |
# Version 1 | |
# Community "more_communities" | |
# Collect "powerplus_voltge_input" | |
# Interval 300 | |
# </Host> | |
#</Plugin> | |
#<Plugin statsd> | |
# Host "::" | |
# Port "8125" | |
# DeleteCounters false | |
# DeleteTimers false | |
# DeleteGauges false | |
# DeleteSets false | |
# TimerPercentile 90.0 | |
#</Plugin> | |
#<Plugin swap> | |
# ReportByDevice false | |
# ReportBytes true | |
#</Plugin> | |
#<Plugin table> | |
# <Table "/proc/slabinfo"> | |
# Instance "slabinfo" | |
# Separator " " | |
# <Result> | |
# Type gauge | |
# InstancePrefix "active_objs" | |
# InstancesFrom 0 | |
# ValuesFrom 1 | |
# </Result> | |
# <Result> | |
# Type gauge | |
# InstancePrefix "objperslab" | |
# InstancesFrom 0 | |
# ValuesFrom 4 | |
# </Result> | |
# </Table> | |
#</Plugin> | |
#<Plugin "tail"> | |
# <File "/var/log/exim4/mainlog"> | |
# Instance "exim" | |
# <Match> | |
# Regex "S=([1-9][0-9]*)" | |
# DSType "CounterAdd" | |
# Type "ipt_bytes" | |
# Instance "total" | |
# </Match> | |
# <Match> | |
# Regex "\\<R=local_user\\>" | |
# ExcludeRegex "\\<R=local_user\\>.*mail_spool defer" | |
# DSType "CounterInc" | |
# Type "counter" | |
# Instance "local_user" | |
# </Match> | |
# </File> | |
#</Plugin> | |
#<Plugin "tail_csv"> | |
# <Metric "dropped"> | |
# Type "percent" | |
# Instance "dropped" | |
# ValueFrom 1 | |
# </Metric> | |
# <Metric "mbps"> | |
# Type "bytes" | |
# Instance "wire-realtime" | |
# ValueFrom 2 | |
# </Metric> | |
# <Metric "alerts"> | |
# Type "alerts_per_second" | |
# ValueFrom 3 | |
# </Metric> | |
# <Metric "kpps"> | |
# Type "kpackets_wire_per_sec.realtime" | |
# ValueFrom 4 | |
# </Metric> | |
# <File "/var/log/snort/snort.stats"> | |
# Instance "snort-eth0" | |
# Interval 600 | |
# Collect "dropped" "mbps" "alerts" "kpps" | |
# TimeFrom 0 | |
# </File> | |
#</Plugin> | |
#<Plugin tcpconns> | |
# ListeningPorts false | |
# LocalPort "25" | |
# RemotePort "25" | |
#</Plugin> | |
#<Plugin teamspeak2> | |
# Host "127.0.0.1" | |
# Port "51234" | |
# Server "8767" | |
#</Plugin> | |
#<Plugin ted> | |
# Device "/dev/ttyUSB0" | |
# Retries 0 | |
#</Plugin> | |
#<Plugin thermal> | |
# ForceUseProcfs false | |
# Device "THRM" | |
# IgnoreSelected false | |
#</Plugin> | |
#<Plugin tokyotyrant> | |
# Host "localhost" | |
# Port "1978" | |
#</Plugin> | |
#<Plugin unixsock> | |
# SocketFile "/var/run/collectd-unixsock" | |
# SocketGroup "collectd" | |
# SocketPerms "0660" | |
# DeleteSocket false | |
#</Plugin> | |
#<Plugin uuid> | |
# UUIDFile "/etc/uuid" | |
#</Plugin> | |
#<Plugin varnish> | |
# <Instance> | |
# CollectCache true | |
# CollectBackend true | |
# CollectBan false # Varnish 3 only | |
# CollectConnections true | |
# CollectDirectorDNS false # Varnish 3 only | |
# CollectSHM true | |
# CollectESI false | |
# CollectFetch false | |
# CollectHCB false | |
# CollectObjects false | |
# CollectPurge false # Varnish 2 only | |
# CollectSession false | |
# CollectSMA false # Varnish 2 only | |
# CollectSMS false | |
# CollectSM false # Varnish 2 only | |
# CollectStruct false | |
# CollectTotals false | |
# CollectUptime false | |
# CollectdVCL false | |
# CollectWorkers false | |
# </Instance> | |
# | |
# <Instance "myinstance"> | |
# CollectCache true | |
# </Instance> | |
#</Plugin> | |
#<Plugin vmem> | |
# Verbose false | |
#</Plugin> | |
<Plugin write_graphite> | |
<Node "'${fingerprint}'"> | |
Host "graphite.dataloop.io" | |
Port "2003" | |
Protocol "udp" | |
LogSendErrors true | |
Prefix "'${apikey}'" | |
Postfix "" | |
StoreRates true | |
AlwaysAppendDS false | |
EscapeCharacter "_" | |
</Node> | |
</Plugin> | |
#<Plugin write_http> | |
# <URL "http://example.com/collectd-post"> | |
# User "collectd" | |
# Password "secret" | |
# VerifyPeer true | |
# VerifyHost true | |
# CACert "/etc/ssl/ca.crt" | |
# Format "Command" | |
# StoreRates false | |
# </URL> | |
#</Plugin> | |
#<Plugin write_riemann> | |
# <Node "example"> | |
# Host "localhost" | |
# Port 5555 | |
# Protocol UDP | |
# StoreRates true | |
# AlwaysAppendDS false | |
# TTLFactor 2.0 | |
# </Node> | |
# Tag "foobar" | |
#</Plugin> | |
<Include "/etc/collectd/collectd.conf.d"> | |
Filter "*.conf" | |
</Include> | |
' | sudo tee /etc/collectd/collectd.conf | |
echo 'Bouncing collectd..' | |
sudo service collectd restart | |
# Without this pause dataloop-agent wasn't launching. | |
sleep 5 | |
echo 'Starting dataloop-agent..' | |
sudo service dataloop-agent start |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment