Skip to content
This repository has been archived by the owner on Aug 2, 2023. It is now read-only.

Commit

Permalink
Add CollectD configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
Clement Pang committed Nov 13, 2015
1 parent 0c11597 commit e1afdeb
Show file tree
Hide file tree
Showing 21 changed files with 1,035 additions and 0 deletions.
50 changes: 50 additions & 0 deletions collectd.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
TypesDB "/usr/share/collectd/types.db"

# If you use the Hostname parameter, you
# must quote ("...") the second argument
### Hostname "<YOUR_HOSTNAME_HERE>"

FQDNLookup true
Interval 10
Timeout 2
ReadThreads 5

LoadPlugin logfile

<Plugin logfile>
LogLevel "info"
File "/var/log/collectd.log"
Timestamp true
PrintSeverity false
</Plugin>

LoadPlugin cpu
LoadPlugin cpufreq
LoadPlugin df
LoadPlugin disk
LoadPlugin interface
LoadPlugin load
LoadPlugin memory
LoadPlugin protocols
<Plugin "protocols">
Value "Icmp:InDestUnreachs"
Value "Tcp:CurrEstab"
Value "Tcp:OutSegs"
Value "Tcp:RetransSegs"
Value "TcpExt:DelayedACKs"
Value "TcpExt:DelayedACKs"

Value "/Tcp:.*Opens/"
Value "/^TcpExt:.*Octets/"
IgnoreSelected false
</Plugin>

LoadPlugin vmem
<Plugin vmem>
Verbose false
</Plugin>

LoadPlugin uptime

Include "/etc/collectd/filtering_config/*.conf"
Include "/etc/collectd/managed_config/*.conf"
35 changes: 35 additions & 0 deletions filtering_config/filtering-vmem.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
LoadPlugin match_regex

<Chain "VmemFilters">
<Rule "vmem_filtering_accept_whitelisted_vmpage_faults">
<Match "regex">
Type 'vmpage_faults'
</Match>
Target "return"
</Rule>

<Rule "vmem_filtering_accept_whitelisted_vmpage_io">
<Match "regex">
Type 'vmpage_io'
</Match>
Target "return"
</Rule>

<Rule "vmem_filtering_accept_whitelisted_vmpage_number_free_pages">
<Match "regex">
Type 'vmpage_number'
TypeInstance 'free_pages'
</Match>
Target "return"
</Rule>

<Rule "vmem_filtering_accept_whitelisted_vmpage_number_mapped">
<Match "regex">
Type 'vmpage_number'
TypeInstance 'mapped'
</Match>
Target "return"
</Rule>

Target "stop"
</Chain>
15 changes: 15 additions & 0 deletions filtering_config/filtering.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
LoadPlugin match_regex

<Chain "PreCache">

<Rule "FilterOutExcessiveVmemData">
<Match "regex">
Plugin 'vmem'
</Match>
<Target "jump">
Chain "VmemFilters"
</Target>
</Rule>

Target "write"
</Chain>
45 changes: 45 additions & 0 deletions managed_config/10-aggregation-cpu.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Install:
# This plugin is bundled with collectd version 5.2+

# Documentation:
# The purpose of this module is to aggregate CPU stats from all cores.
#
# https://collectd.org/wiki/index.php/Plugin:Aggregation
# https://collectd.org/wiki/index.php/Plugin:Aggregation/Config

# System modifications:
# None

# Config file modifications:
# None

LoadPlugin aggregation

<Plugin "aggregation">
<Aggregation>
Plugin "cpu"
Type "cpu"

GroupBy "Host"
GroupBy "TypeInstance"

CalculateSum true
CalculateAverage true
</Aggregation>
</Plugin>

LoadPlugin match_regex

<Chain "PostCache">
<Rule "each_cpu_ignore">
<Match regex>
Plugin "^cpu$"
</Match>
<Target "write">
Plugin "aggregation"
</Target>
Target stop
</Rule>
Target "write"
</Chain>

25 changes: 25 additions & 0 deletions managed_config/10-apache.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Install:
# This plugin is sometimes bundled with collectd, if not
# you can install with:
# apt-get install collectd-apache

# Documentation:
# https://collectd.org/wiki/index.php/Plugin:Apache

# System modifications:
# Add the following to your apache config:
# ExtendedStatus on
# <Location /mod_status>
# SetHandler server-status
# </Location>

# Config file modifications:
# Change the URL parameter to the location of your mod_status

LoadPlugin "apache"
<Plugin "apache">
<Instance "myapacheinstance">
URL "http://localhost/mod_status?auto"
</Instance>
</Plugin>

30 changes: 30 additions & 0 deletions managed_config/10-innodb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Install:
# git clone https://github.com/marksteele/collectd-plugins.git /opt/collectd-plugins

# Documentation:
# https://github.com/marksteele/collectd-plugins

# System modifications:
# None

# Config file modifications:
# Change the Host/Port/User/Pass to settings that allow you to connect
# to a MySQL host. Make sure IncludeDir is where you installed your
# code to with git clone.


<LoadPlugin "perl">
Globals true
</LoadPlugin>

<Plugin "perl">
IncludeDir "/opt/collectd-plugins"
# BaseName "Collectd::Plugins"
LoadPlugin "MySQL"
<Plugin "MySQL">
Host "localhost"
Port "3306"
User "root"
Pass "abcdABCD1."
</Plugin>
</Plugin>
110 changes: 110 additions & 0 deletions managed_config/10-jmx.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Install:
# This plugin is sometimes bundled with collectd, if not
# you can install with:
#
# apt-get install collectd-java collectd-generic-jmx
#
# If your collectd log shows an error loading java.so, see
# http://www.willdurness.com/collectinggraphing-information-on-neo4j-via-collectd-and-graphite/
# and how they setup LD_LIBRARY_PATH. The basic problem is
# collectd wants open JDK 6. You can fix this by adding
#
# export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/jvm/java-7-oracle/jre/lib/amd64/server
#
# to your collectd init file, but pointing to the correct
# library path for your java install.
#
# You need to install the signalfx_types_db on your system and reference it
# from this config file:
# cp signalfx_types_db /etc/collectd.d/signalfx_types_db
#
# If you get the error "Blah blah" it could be because you're version of java is different
# than the version of java that collectd was compiled with. This is especially true for people
# running java 6. To resolve this, you need to compile collectd from source on a machine using
# the same setup of java you want, and copy over the .jar files it generates to the jars inside
# Djava.class.path.
#
# If the plugin appears to load but you don't see any metrics, you may need to specify
# a InstancePrefix parameter to give your metrics readable names.

# Documentation:
# https://collectd.org/wiki/index.php/Plugin:Java
# https://collectd.org/wiki/index.php/Plugin:GenericJMX
# https://collectd.org/wiki/index.php/Plugin:GenericJMX/Config

# System modifications:
# Make sure the JVMArg path points to valid jar files. If you do not find
# the generic-jmx jar in the JVMArg path you may need to install the collectd-generic-jmx plugin

# Config file modifications:
# Do not modify the config file, but you **WILL** need another config file that
# points to your java application. See 20-javageneric.conf if you want a
# catch-all config for any java app.

TypesDB "/etc/collectd.d/signalfx_types_db"
LoadPlugin java
<Plugin java>
JVMArg "-verbose:jni"
JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar:/usr/share/collectd/java/generic-jmx.jar"

LoadPlugin "org.collectd.java.GenericJMX"
<Plugin "GenericJMX">
<MBean "classes">
ObjectName "java.lang:type=ClassLoading"
<Value>
Type "gauge"
InstancePrefix "loaded_classes"
Table false
Attribute "LoadedClassCount"
</Value>
</MBean>

<MBean "garbage_collector">
ObjectName "java.lang:type=GarbageCollector,*"
InstancePrefix "gc-"
InstanceFrom "name"
<Value>
Type "invocations"
Table false
Attribute "CollectionCount"
</Value>
<Value>
Type "total_time_in_ms"
InstancePrefix "collection_time"
Table false
Attribute "CollectionTime"
</Value>
</MBean>

<MBean "memory-heap">
ObjectName "java.lang:type=Memory"
InstancePrefix "memory-heap"
<Value>
Type "jmx_memory"
Table true
Attribute "HeapMemoryUsage"
</Value>
</MBean>

<MBean "memory-nonheap">
ObjectName "java.lang:type=Memory"
InstancePrefix "memory-nonheap"
<Value>
Type "jmx_memory"
Table true
Attribute "NonHeapMemoryUsage"
</Value>
</MBean>

<MBean "memory_pool">
ObjectName "java.lang:type=MemoryPool,*"
InstancePrefix "memory_pool-"
InstanceFrom "name"
<Value>
Type "jmx_memory"
Table true
Attribute "Usage"
</Value>
</MBean>
</Plugin>
</Plugin>
20 changes: 20 additions & 0 deletions managed_config/10-memcached.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Install:
# This plugin is sometimes bundled with collectd, if not
# you can install with:
# apt-get install collectd-memcached

# Documentation:
# https://collectd.org/wiki/index.php/Plugin:memcached

# System modifications:
# None

# Config file modifications:
# Change the host and port if you are not using default values.

LoadPlugin memcached

<Plugin "memcached">
Host "127.0.0.1"
Port "11211"
</Plugin>
38 changes: 38 additions & 0 deletions managed_config/10-mongodb.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Install:
# This plugin requires the python plugin. It is sometimes installed with collectd
# but not always. You can install it with:
#
# apt-get install collectd-python
#
# Install the mongodb collectd plugin now
# pip install pymongo==3.0.3
# git clone --depth 1 --branch v1.0.4 https://username:[email protected]/signalfx/collectd-mongodb
# cp collectd-mongodb/mongodb.py /opt/setup/scripts/
# cp collectd-mongodb/types.db /opt/setup/scripts/

# Documentation:
# https://github.com/signalfx/collectd-mongodb/blob/master/README.md

# System modifications:
# None

# Config file modifications:
# Change the Host/Port/User/Password/Database/Instance to settings that allow you to
# connect to the mongodb instance. Each mongodb instance gets it's own module.
# Included is one sample master config.

TypesDB "/opt/setup/scripts/types.db"
LoadPlugin python
<Plugin "python">
ModulePath "/opt/setup/scripts"
Import "mongodb"
<Module mongodb>
Host "127.0.0.1"
Port "27017"
User ""
Password "password"
Database "admin" "db-prod" "db-dev"
Instance ""
</Module>
</Plugin>

Loading

0 comments on commit e1afdeb

Please sign in to comment.