diff options
Diffstat (limited to '')
27 files changed, 899 insertions, 133 deletions
diff --git a/conf.d/Makefile.am b/conf.d/Makefile.am index efe1f2a6..4cbecb56 100644 --- a/conf.d/Makefile.am +++ b/conf.d/Makefile.am @@ -17,6 +17,7 @@ dist_config_DATA = \ nodeconfigdir=$(configdir)/node.d dist_nodeconfig_DATA = \ node.d/README.md \ + node.d/fronius.conf.md \ node.d/named.conf.md \ node.d/sma_webbox.conf.md \ node.d/snmp.conf.md \ @@ -28,12 +29,14 @@ dist_pythonconfig_DATA = \ python.d/apache_cache.conf \ python.d/bind_rndc.conf \ python.d/cpufreq.conf \ + python.d/dns_query_time.conf \ python.d/dovecot.conf \ python.d/elasticsearch.conf \ python.d/example.conf \ python.d/exim.conf \ python.d/fail2ban.conf \ python.d/freeradius.conf \ + python.d/go_expvar.conf \ python.d/haproxy.conf \ python.d/hddtemp.conf \ python.d/ipfs.conf \ @@ -48,8 +51,10 @@ dist_pythonconfig_DATA = \ python.d/phpfpm.conf \ python.d/postfix.conf \ python.d/postgres.conf \ + python.d/rabbitmq.conf \ python.d/redis.conf \ python.d/retroshare.conf \ + python.d/samba.conf \ python.d/sensors.conf \ python.d/squid.conf \ python.d/smartd_log.conf \ @@ -70,10 +75,12 @@ dist_healthconfig_DATA = \ health.d/ipfs.conf \ health.d/ipmi.conf \ health.d/isc_dhcpd.conf \ + health.d/lighttpd.conf \ health.d/mdstat.conf \ health.d/memcached.conf \ health.d/mysql.conf \ health.d/named.conf \ + health.d/mongodb.conf \ health.d/nginx.conf \ health.d/postgres.conf \ health.d/redis.conf \ @@ -81,6 +88,7 @@ dist_healthconfig_DATA = \ health.d/squid.conf \ health.d/varnish.conf \ health.d/web_log.conf \ + health.d/zfs.conf \ $(NULL) if LINUX @@ -123,3 +131,8 @@ dist_chartsconfig_DATA = \ charts.d/postfix.conf \ charts.d/squid.conf \ $(NULL) + +statsdconfigdir=$(configdir)/statsd.d +dist_statsdconfig_DATA = \ + statsd.d/example.conf \ + $(NULL) diff --git a/conf.d/Makefile.in b/conf.d/Makefile.in index fb05396f..7a1e300e 100644 --- a/conf.d/Makefile.in +++ b/conf.d/Makefile.in @@ -1,9 +1,8 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -16,6 +15,51 @@ @SET_MAKE@ VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -51,10 +95,10 @@ host_triplet = @host@ @LINUX_TRUE@ $(NULL) subdir = conf.d -DIST_COMMON = $(am__dist_healthconfig_DATA_DIST) \ +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(dist_chartsconfig_DATA) $(dist_config_DATA) \ - $(dist_nodeconfig_DATA) $(dist_pythonconfig_DATA) \ - $(srcdir)/Makefile.am $(srcdir)/Makefile.in + $(am__dist_healthconfig_DATA_DIST) $(dist_nodeconfig_DATA) \ + $(dist_pythonconfig_DATA) $(dist_statsdconfig_DATA) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/ax_c___atomic.m4 \ $(top_srcdir)/m4/ax_c__generic.m4 $(top_srcdir)/m4/ax_c_lto.m4 \ @@ -70,8 +114,25 @@ mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -101,27 +162,31 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(chartsconfigdir)" \ "$(DESTDIR)$(configdir)" "$(DESTDIR)$(healthconfigdir)" \ - "$(DESTDIR)$(nodeconfigdir)" "$(DESTDIR)$(pythonconfigdir)" + "$(DESTDIR)$(nodeconfigdir)" "$(DESTDIR)$(pythonconfigdir)" \ + "$(DESTDIR)$(statsdconfigdir)" am__dist_healthconfig_DATA_DIST = health.d/apache.conf \ health.d/backend.conf health.d/bind_rndc.conf \ health.d/elasticsearch.conf health.d/fping.conf \ health.d/haproxy.conf health.d/ipfs.conf health.d/ipmi.conf \ - health.d/isc_dhcpd.conf health.d/mdstat.conf \ - health.d/memcached.conf health.d/mysql.conf \ - health.d/named.conf health.d/nginx.conf health.d/postgres.conf \ - health.d/redis.conf health.d/retroshare.conf \ - health.d/squid.conf health.d/varnish.conf \ - health.d/web_log.conf health.d/cpu.conf health.d/disks.conf \ - health.d/entropy.conf health.d/ipc.conf health.d/memory.conf \ - health.d/net.conf health.d/netfilter.conf health.d/qos.conf \ - health.d/ram.conf health.d/softnet.conf health.d/swap.conf \ + health.d/isc_dhcpd.conf health.d/lighttpd.conf \ + health.d/mdstat.conf health.d/memcached.conf \ + health.d/mysql.conf health.d/named.conf health.d/mongodb.conf \ + health.d/nginx.conf health.d/postgres.conf health.d/redis.conf \ + health.d/retroshare.conf health.d/squid.conf \ + health.d/varnish.conf health.d/web_log.conf health.d/zfs.conf \ + health.d/cpu.conf health.d/disks.conf health.d/entropy.conf \ + health.d/ipc.conf health.d/memory.conf health.d/net.conf \ + health.d/netfilter.conf health.d/qos.conf health.d/ram.conf \ + health.d/softnet.conf health.d/swap.conf \ health.d/tcp_resets.conf health.d/udp_errors.conf DATA = $(dist_chartsconfig_DATA) $(dist_config_DATA) \ $(dist_healthconfig_DATA) $(dist_nodeconfig_DATA) \ - $(dist_pythonconfig_DATA) + $(dist_pythonconfig_DATA) $(dist_statsdconfig_DATA) +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -282,6 +347,7 @@ dist_config_DATA = \ nodeconfigdir = $(configdir)/node.d dist_nodeconfig_DATA = \ node.d/README.md \ + node.d/fronius.conf.md \ node.d/named.conf.md \ node.d/sma_webbox.conf.md \ node.d/snmp.conf.md \ @@ -293,12 +359,14 @@ dist_pythonconfig_DATA = \ python.d/apache_cache.conf \ python.d/bind_rndc.conf \ python.d/cpufreq.conf \ + python.d/dns_query_time.conf \ python.d/dovecot.conf \ python.d/elasticsearch.conf \ python.d/example.conf \ python.d/exim.conf \ python.d/fail2ban.conf \ python.d/freeradius.conf \ + python.d/go_expvar.conf \ python.d/haproxy.conf \ python.d/hddtemp.conf \ python.d/ipfs.conf \ @@ -313,8 +381,10 @@ dist_pythonconfig_DATA = \ python.d/phpfpm.conf \ python.d/postfix.conf \ python.d/postgres.conf \ + python.d/rabbitmq.conf \ python.d/redis.conf \ python.d/retroshare.conf \ + python.d/samba.conf \ python.d/sensors.conf \ python.d/squid.conf \ python.d/smartd_log.conf \ @@ -328,12 +398,13 @@ dist_healthconfig_DATA = health.d/apache.conf health.d/backend.conf \ health.d/bind_rndc.conf health.d/elasticsearch.conf \ health.d/fping.conf health.d/haproxy.conf health.d/ipfs.conf \ health.d/ipmi.conf health.d/isc_dhcpd.conf \ - health.d/mdstat.conf health.d/memcached.conf \ - health.d/mysql.conf health.d/named.conf health.d/nginx.conf \ + health.d/lighttpd.conf health.d/mdstat.conf \ + health.d/memcached.conf health.d/mysql.conf \ + health.d/named.conf health.d/mongodb.conf health.d/nginx.conf \ health.d/postgres.conf health.d/redis.conf \ health.d/retroshare.conf health.d/squid.conf \ - health.d/varnish.conf health.d/web_log.conf $(NULL) \ - $(am__append_1) + health.d/varnish.conf health.d/web_log.conf health.d/zfs.conf \ + $(NULL) $(am__append_1) chartsconfigdir = $(configdir)/charts.d dist_chartsconfig_DATA = \ charts.d/apache.conf \ @@ -357,6 +428,11 @@ dist_chartsconfig_DATA = \ charts.d/squid.conf \ $(NULL) +statsdconfigdir = $(configdir)/statsd.d +dist_statsdconfig_DATA = \ + statsd.d/example.conf \ + $(NULL) + all: all-am .SUFFIXES: @@ -392,8 +468,11 @@ $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) $(am__aclocal_m4_deps): install-dist_chartsconfigDATA: $(dist_chartsconfig_DATA) @$(NORMAL_INSTALL) - test -z "$(chartsconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(chartsconfigdir)" @list='$(dist_chartsconfig_DATA)'; test -n "$(chartsconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(chartsconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(chartsconfigdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -410,8 +489,11 @@ uninstall-dist_chartsconfigDATA: dir='$(DESTDIR)$(chartsconfigdir)'; $(am__uninstall_files_from_dir) install-dist_configDATA: $(dist_config_DATA) @$(NORMAL_INSTALL) - test -z "$(configdir)" || $(MKDIR_P) "$(DESTDIR)$(configdir)" @list='$(dist_config_DATA)'; test -n "$(configdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(configdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(configdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -428,8 +510,11 @@ uninstall-dist_configDATA: dir='$(DESTDIR)$(configdir)'; $(am__uninstall_files_from_dir) install-dist_healthconfigDATA: $(dist_healthconfig_DATA) @$(NORMAL_INSTALL) - test -z "$(healthconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(healthconfigdir)" @list='$(dist_healthconfig_DATA)'; test -n "$(healthconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(healthconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(healthconfigdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -446,8 +531,11 @@ uninstall-dist_healthconfigDATA: dir='$(DESTDIR)$(healthconfigdir)'; $(am__uninstall_files_from_dir) install-dist_nodeconfigDATA: $(dist_nodeconfig_DATA) @$(NORMAL_INSTALL) - test -z "$(nodeconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(nodeconfigdir)" @list='$(dist_nodeconfig_DATA)'; test -n "$(nodeconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(nodeconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(nodeconfigdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -464,8 +552,11 @@ uninstall-dist_nodeconfigDATA: dir='$(DESTDIR)$(nodeconfigdir)'; $(am__uninstall_files_from_dir) install-dist_pythonconfigDATA: $(dist_pythonconfig_DATA) @$(NORMAL_INSTALL) - test -z "$(pythonconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pythonconfigdir)" @list='$(dist_pythonconfig_DATA)'; test -n "$(pythonconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(pythonconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(pythonconfigdir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ @@ -480,11 +571,32 @@ uninstall-dist_pythonconfigDATA: @list='$(dist_pythonconfig_DATA)'; test -n "$(pythonconfigdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(pythonconfigdir)'; $(am__uninstall_files_from_dir) -tags: TAGS -TAGS: +install-dist_statsdconfigDATA: $(dist_statsdconfig_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_statsdconfig_DATA)'; test -n "$(statsdconfigdir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(statsdconfigdir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(statsdconfigdir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(statsdconfigdir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(statsdconfigdir)" || exit $$?; \ + done -ctags: CTAGS -CTAGS: +uninstall-dist_statsdconfigDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_statsdconfig_DATA)'; test -n "$(statsdconfigdir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(statsdconfigdir)'; $(am__uninstall_files_from_dir) +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: distdir: $(DISTFILES) @@ -521,7 +633,7 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: - for dir in "$(DESTDIR)$(chartsconfigdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(healthconfigdir)" "$(DESTDIR)$(nodeconfigdir)" "$(DESTDIR)$(pythonconfigdir)"; do \ + for dir in "$(DESTDIR)$(chartsconfigdir)" "$(DESTDIR)$(configdir)" "$(DESTDIR)$(healthconfigdir)" "$(DESTDIR)$(nodeconfigdir)" "$(DESTDIR)$(pythonconfigdir)" "$(DESTDIR)$(statsdconfigdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -577,7 +689,7 @@ info-am: install-data-am: install-dist_chartsconfigDATA install-dist_configDATA \ install-dist_healthconfigDATA install-dist_nodeconfigDATA \ - install-dist_pythonconfigDATA + install-dist_pythonconfigDATA install-dist_statsdconfigDATA install-dvi: install-dvi-am @@ -623,25 +735,28 @@ ps-am: uninstall-am: uninstall-dist_chartsconfigDATA \ uninstall-dist_configDATA uninstall-dist_healthconfigDATA \ - uninstall-dist_nodeconfigDATA uninstall-dist_pythonconfigDATA + uninstall-dist_nodeconfigDATA uninstall-dist_pythonconfigDATA \ + uninstall-dist_statsdconfigDATA .MAKE: install-am install-strip -.PHONY: all all-am check check-am clean clean-generic distclean \ - distclean-generic distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-dist_chartsconfigDATA install-dist_configDATA \ - install-dist_healthconfigDATA install-dist_nodeconfigDATA \ - install-dist_pythonconfigDATA install-dvi install-dvi-am \ +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dist_chartsconfigDATA \ + install-dist_configDATA install-dist_healthconfigDATA \ + install-dist_nodeconfigDATA install-dist_pythonconfigDATA \ + install-dist_statsdconfigDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ - pdf-am ps ps-am uninstall uninstall-am \ + pdf-am ps ps-am tags-am uninstall uninstall-am \ uninstall-dist_chartsconfigDATA uninstall-dist_configDATA \ uninstall-dist_healthconfigDATA uninstall-dist_nodeconfigDATA \ - uninstall-dist_pythonconfigDATA + uninstall-dist_pythonconfigDATA \ + uninstall-dist_statsdconfigDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/conf.d/apps_groups.conf b/conf.d/apps_groups.conf index 4c5171b3..43bf1352 100644 --- a/conf.d/apps_groups.conf +++ b/conf.d/apps_groups.conf @@ -95,12 +95,14 @@ php: php* ftpd: proftpd in.tftpd vsftpd uwsgi: uwsgi unicorn: *unicorn* +puma: *puma* # ----------------------------------------------------------------------------- # database servers sql: mysqld* mariad* postgres* oracle_* ora_* nosql: mongod redis* memcached +timedb: prometheus *carbon-cache.py* *carbon-aggregator.py* *graphite/manage.py* *net.opentsdb.tools.TSDMain* # ----------------------------------------------------------------------------- # email servers @@ -111,7 +113,7 @@ email: dovecot imapd pop3d amavis* master zmstat* zmmailboxdmgr qmgr oqmgr # network, routing, VPN ppp: ppp* -vpn: openvpn pptp* cjdroute +vpn: openvpn pptp* cjdroute gvpe tincd wifi: hostapd wpa_supplicant routing: ospfd* ospf6d* bgpd isisd ripd ripngd pimd ldpd zebra vtysh bird* @@ -219,11 +221,40 @@ media: mplayer vlc xine mediatomb omxplayer* kodi* xbmc* mediacenter eventlircd media: mpd minidlnad mt-daapd avahi* Plex* # ----------------------------------------------------------------------------- +# java applications + +hdfsdatanode: *org.apache.hadoop.hdfs.server.datanode.DataNode* +hdfsnamenode: *org.apache.hadoop.hdfs.server.namenode.NameNode* +hdfsjournalnode: *org.apache.hadoop.hdfs.qjournal.server.JournalNode* +hdfszkfc: *org.apache.hadoop.hdfs.tools.DFSZKFailoverController* + +yarnnode: *org.apache.hadoop.yarn.server.nodemanager.NodeManager* +yarnmgr: *org.apache.hadoop.yarn.server.resourcemanager.ResourceManager* +yarnproxy: *org.apache.hadoop.yarn.server.webproxy.WebAppProxyServer* + +sparkworker: *org.apache.spark.deploy.worker.Worker* +sparkmaster: *org.apache.spark.deploy.master.Master* + +hbaseregion: *org.apache.hadoop.hbase.regionserver.HRegionServer* +hbaserest: *org.apache.hadoop.hbase.rest.RESTServer* +hbasethrift: *org.apache.hadoop.hbase.thrift.ThriftServer* +hbasemaster: *org.apache.hadoop.hbase.master.HMaster* + +zookeeper: *org.apache.zookeeper.server.quorum.QuorumPeerMain* + +hive2: *org.apache.hive.service.server.HiveServer2* +hivemetastore: *org.apache.hadoop.hive.metastore.HiveMetaStore* + +solr: *solr.install.dir* + +airflow: *airflow* + +# ----------------------------------------------------------------------------- # X X: X Xorg xinit lightdm xdm pulseaudio gkrellm xfwm4 xfdesktop xfce* Thunar X: xfsettingsd xfconfd gnome-* gdm gconf* dconf* xfconf* *gvfs gvfs* kdm slim -X: evolution-* firefox chromium opera epiphany WebKit* +X: evolution-* firefox chromium opera vivaldi-bin epiphany WebKit* # ----------------------------------------------------------------------------- # Kernel / System @@ -240,7 +271,8 @@ kernel: fsnotify_mark kthrotld deferwq scsi_* # ----------------------------------------------------------------------------- # other application servers -crsproxy: crsproxy +kafka: *kafka.Kafka* + sidekiq: *sidekiq* java: java ipfs: ipfs diff --git a/conf.d/fping.conf b/conf.d/fping.conf index 82ee2332..63a7f7ac 100644 --- a/conf.d/fping.conf +++ b/conf.d/fping.conf @@ -29,7 +29,7 @@ hosts="" # The time in milliseconds (1 sec = 1000 ms) to ping the hosts # by default 5 pings per host per iteration -# fping will now allow this to be below 20ms +# fping will not allow this to be below 20ms #ping_every="200" diff --git a/conf.d/health.d/fping.conf b/conf.d/health.d/fping.conf index 69251b18..43658fef 100644 --- a/conf.d/health.d/fping.conf +++ b/conf.d/health.d/fping.conf @@ -28,7 +28,7 @@ families: * lookup: average -10s unaligned of average units: ms every: 10s - green: 300 + green: 500 red: 1000 warn: $this > $green OR $max > $red crit: $this > $red diff --git a/conf.d/health.d/lighttpd.conf b/conf.d/health.d/lighttpd.conf new file mode 100644 index 00000000..915907a4 --- /dev/null +++ b/conf.d/health.d/lighttpd.conf @@ -0,0 +1,14 @@ + +# make sure lighttpd is running + +template: lighttpd_last_collected_secs + on: lighttpd.requests + calc: $now - $last_collected_t + units: seconds ago + every: 10s + warn: $this > (($status >= $WARNING) ? ($update_every) : ( 5 * $update_every)) + crit: $this > (($status == $CRITICAL) ? ($update_every) : (60 * $update_every)) + delay: down 5m multiplier 1.5 max 1h + info: number of seconds since the last successful data collection + to: webmaster + diff --git a/conf.d/health.d/mongodb.conf b/conf.d/health.d/mongodb.conf new file mode 100644 index 00000000..a80cb311 --- /dev/null +++ b/conf.d/health.d/mongodb.conf @@ -0,0 +1,13 @@ + +# make sure mongodb is running + +template: mongodb_last_collected_secs + on: mongodb.read_operations + calc: $now - $last_collected_t + units: seconds ago + every: 10s + warn: $this > (($status >= $WARNING) ? ($update_every) : ( 5 * $update_every)) + crit: $this > (($status == $CRITICAL) ? ($update_every) : (60 * $update_every)) + delay: down 5m multiplier 1.5 max 1h + info: number of seconds since the last successful data collection + to: dba diff --git a/conf.d/health.d/net.conf b/conf.d/health.d/net.conf index 0232395a..bd288817 100644 --- a/conf.d/health.d/net.conf +++ b/conf.d/health.d/net.conf @@ -99,9 +99,9 @@ families: * calc: $this * 100 / (($1m_received_packets_rate < 1000)?(1000):($1m_received_packets_rate)) every: 10s units: % - warn: $this > (($status >= $WARNING)?(200):(1000)) - crit: $this > (($status >= $WARNING)?(1000):(2000)) + warn: $this > (($status >= $WARNING)?(200):(5000)) + crit: $this > (($status >= $WARNING)?(5000):(6000)) options: no-clear-notification - info: the % of the rate of received packets in the last 10 seconds, compared to the rate of the last minute + info: the % of the rate of received packets in the last 10 seconds, compared to the rate of the last minute (clear notification for this alarm will not be sent) to: sysadmin diff --git a/conf.d/health.d/ram.conf b/conf.d/health.d/ram.conf index d60df75b..b99e5e22 100644 --- a/conf.d/health.d/ram.conf +++ b/conf.d/health.d/ram.conf @@ -1,7 +1,14 @@ + alarm: used_ram_to_ignore + on: system.ram + calc: ($zfs.arc_size.arcsz = nan)?(0):($zfs.arc_size.arcsz) + every: 10s + info: the amount of memory that is reported as used, but it is actually capable for resizing itself based on the system needs (eg. ZFS ARC) + alarm: ram_in_use on: system.ram - calc: $used * 100 / ($used + $cached + $free) +# calc: $used * 100 / ($used + $cached + $free) + calc: ($used - $used_ram_to_ignore) * 100 / ($used - $used_ram_to_ignore + $cached + $free) units: % every: 10s warn: $this > (($status >= $WARNING) ? (80) : (90)) diff --git a/conf.d/health.d/tcp_resets.conf b/conf.d/health.d/tcp_resets.conf index 49fb1b92..803c88a8 100644 --- a/conf.d/health.d/tcp_resets.conf +++ b/conf.d/health.d/tcp_resets.conf @@ -26,10 +26,10 @@ lookup: average -10s unaligned absolute of OutRsts units: tcp resets/s every: 10s - warn: $this > ((($1m_ipv4_tcp_resets_sent < 5)?(5):($1m_ipv4_tcp_resets_sent)) * (($status >= $WARNING) ? (1) : (4))) + warn: $this > ((($1m_ipv4_tcp_resets_sent < 5)?(5):($1m_ipv4_tcp_resets_sent)) * (($status >= $WARNING) ? (1) : (20))) delay: up 0 down 60m multiplier 1.2 max 2h options: no-clear-notification - info: average TCP RESETS this host is sending, over the last 10 seconds (this can be an indication that a port scan is made, or that a service running on this host has crashed) + info: average TCP RESETS this host is sending, over the last 10 seconds (this can be an indication that a port scan is made, or that a service running on this host has crashed; clear notification for this alarm will not be sent) to: sysadmin # ----------------------------------------------------------------------------- @@ -47,8 +47,8 @@ options: no-clear-notification lookup: average -10s unaligned absolute of AttemptFails units: tcp resets/s every: 10s - warn: $this > ((($1m_ipv4_tcp_resets_received < 5)?(5):($1m_ipv4_tcp_resets_received)) * (($status >= $WARNING) ? (1) : (4))) + warn: $this > ((($1m_ipv4_tcp_resets_received < 5)?(5):($1m_ipv4_tcp_resets_received)) * (($status >= $WARNING) ? (1) : (10))) delay: up 0 down 60m multiplier 1.2 max 2h options: no-clear-notification - info: average TCP RESETS this host is receiving, over the last 10 seconds (this can be an indication that a service this host needs, has crashed) + info: average TCP RESETS this host is receiving, over the last 10 seconds (this can be an indication that a service this host needs, has crashed; clear notification for this alarm will not be sent) to: sysadmin diff --git a/conf.d/health.d/web_log.conf b/conf.d/health.d/web_log.conf index c668959f..d1808817 100644 --- a/conf.d/health.d/web_log.conf +++ b/conf.d/health.d/web_log.conf @@ -156,6 +156,7 @@ families: * delay: down 15m multiplier 1.5 max 1h options: no-clear-notification info: the percentage of successful web requests over the last 5 minutes, \ - compared with the previous 5 minutes + compared with the previous 5 minutes \ + (clear notification for this alarm will not be sent) to: webmaster diff --git a/conf.d/health.d/zfs.conf b/conf.d/health.d/zfs.conf new file mode 100644 index 00000000..af73824e --- /dev/null +++ b/conf.d/health.d/zfs.conf @@ -0,0 +1,10 @@ + + alarm: zfs_memory_throttle + on: zfs.memory_ops + lookup: sum -10m unaligned absolute of throttled + units: events + every: 1m + warn: $this > 0 + delay: down 1h multiplier 1.5 max 2h + info: the number of times ZFS had to limit the ARC growth in the last 10 minutes + to: sysadmin diff --git a/conf.d/health_alarm_notify.conf b/conf.d/health_alarm_notify.conf index 23776b96..4d8444ed 100644 --- a/conf.d/health_alarm_notify.conf +++ b/conf.d/health_alarm_notify.conf @@ -303,6 +303,68 @@ SEND_PD="YES" DEFAULT_RECIPIENT_PD="" +#------------------------------------------------------------------------------ +# custom notifications +# + +# enable/disable sending custom notifications +SEND_CUSTOM="YES" + +# if a role's recipients are not configured, use the following. +# (empty = do not send a notification for unconfigured roles) +DEFAULT_RECIPIENT_CUSTOM="" + +# The custom_sender() is a custom function to do whatever you need to do +custom_sender() { + # variables you can use: + # ${host} the host generated this event + # ${url_host} same as ${host} but URL encoded + # ${unique_id} the unique id of this event + # ${alarm_id} the unique id of the alarm that generated this event + # ${event_id} the incremental id of the event, for this alarm id + # ${when} the timestamp this event occurred + # ${name} the name of the alarm, as given in netdata health.d entries + # ${url_name} same as ${name} but URL encoded + # ${chart} the name of the chart (type.id) + # ${url_chart} same as ${chart} but URL encoded + # ${family} the family of the chart + # ${url_family} same as ${family} but URL encoded + # ${status} the current status : REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL + # ${old_status} the previous status: REMOVED, UNINITIALIZED, UNDEFINED, CLEAR, WARNING, CRITICAL + # ${value} the current value of the alarm + # ${old_value} the previous value of the alarm + # ${src} the line number and file the alarm has been configured + # ${duration} the duration in seconds of the previous alarm state + # ${duration_txt} same as ${duration} for humans + # ${non_clear_duration} the total duration in seconds this is/was non-clear + # ${non_clear_duration_txt} same as ${non_clear_duration} for humans + # ${units} the units of the value + # ${info} a short description of the alarm + # ${value_string} friendly value (with units) + # ${old_value_string} friendly old value (with units) + # ${image} the URL of an image to represent the status of the alarm + # ${color} a color in #AABBCC format for the alarm + # ${goto_url} the URL the user can click to see the netdata dashboard + + # these are more human friendly: + # ${alarm} like "name = value units" + # ${status_message} like "needs attention", "recovered", "is critical" + # ${severity} like "Escalated to CRITICAL", "Recovered from WARNING" + # ${raised_for} like "(alarm was raised for 10 minutes)" + + # example human readable SMS + local msg="${host} ${status_message}: ${alarm} ${raised_for}" + + # limit it to 160 characters and encode it for use in a URL + urlencode "${msg:0:160}" >/dev/null; msg="${REPLY}" + + # a space separated list of the recipients to send alarms to + to="${1}" + + info "not sending custom notification to ${to}, for ${status} of '${host}.${chart}.${name}' - custom_sender() is not configured." +} + + ############################################################################### # RECIPIENTS PER ROLE @@ -330,6 +392,8 @@ role_recipients_messagebird[sysadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" role_recipients_pd[sysadmin]="${DEFAULT_RECIPIENT_PD}" +role_recipients_custom[sysadmin]="${DEFAULT_RECIPIENT_CUSTOM}" + # ----------------------------------------------------------------------------- # DNS related alarms @@ -353,6 +417,8 @@ role_recipients_messagebird[domainadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" role_recipients_pd[domainadmin]="${DEFAULT_RECIPIENT_PD}" +role_recipients_custom[domainadmin]="${DEFAULT_RECIPIENT_CUSTOM}" + # ----------------------------------------------------------------------------- # database servers alarms # mysql, redis, memcached, postgres, etc @@ -377,6 +443,8 @@ role_recipients_messagebird[dba]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" role_recipients_pd[dba]="${DEFAULT_RECIPIENT_PD}" +role_recipients_custom[dba]="${DEFAULT_RECIPIENT_CUSTOM}" + # ----------------------------------------------------------------------------- # web servers alarms # apache, nginx, lighttpd, etc @@ -401,6 +469,8 @@ role_recipients_messagebird[webmaster]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" role_recipients_pd[webmaster]="${DEFAULT_RECIPIENT_PD}" +role_recipients_custom[webmaster]="${DEFAULT_RECIPIENT_CUSTOM}" + # ----------------------------------------------------------------------------- # proxy servers alarms # squid, etc @@ -424,3 +494,5 @@ role_recipients_twilio[proxyadmin]="${DEFAULT_RECIPIENT_TWILIO}" role_recipients_messagebird[proxyadmin]="${DEFAULT_RECIPIENT_MESSAGEBIRD}" role_recipients_pd[proxyadmin]="${DEFAULT_RECIPIENT_PD}" + +role_recipients_custom[proxyadmin]="${DEFAULT_RECIPIENT_CUSTOM}" diff --git a/conf.d/node.d/fronius.conf.md b/conf.d/node.d/fronius.conf.md new file mode 100644 index 00000000..c80afa0b --- /dev/null +++ b/conf.d/node.d/fronius.conf.md @@ -0,0 +1,67 @@ +[Fronius Symo 8.2](https://www.fronius.com/en/photovoltaics/products/all-products/inverters/fronius-symo/fronius-symo-8-2-3-m) + +The plugin has been tested with a single inverter, namely Fronius Symo 8.2-3-M: + +- Datalogger version: 240.162630 +- Software version: 3.7.4-6 +- Hardware version: 2.4D + +Other products and versions may work, but without any guarantees. + +Example netdata configuration for node.d/fronius.conf. Copy this section to fronius.conf and change name/ip. +The module supports any number of servers. Sometimes there is a lag when collecting every 3 seconds, so 5 should be okay too. You can modify this per server. +```json +{ + "enable_autodetect": false, + "update_every": 5, + "servers": [ + { + "name": "Solar", + "hostname": "symo.ip.or.dns", + "update_every": 5, + "api_path": "/solar_api/v1/GetPowerFlowRealtimeData.fcgi" + } + ] +} +``` + +The output of /solar_api/v1/GetPowerFlowRealtimeData.fcgi looks like this: +```json +{ + "Head" : { + "RequestArguments" : {}, + "Status" : { + "Code" : 0, + "Reason" : "", + "UserMessage" : "" + }, + "Timestamp" : "2017-07-05T12:35:12+02:00" + }, + "Body" : { + "Data" : { + "Site" : { + "Mode" : "meter", + "P_Grid" : -6834.549847, + "P_Load" : -1271.450153, + "P_Akku" : null, + "P_PV" : 8106, + "rel_SelfConsumption" : 15.685297, + "rel_Autonomy" : 100, + "E_Day" : 35020, + "E_Year" : 5826076, + "E_Total" : 14788870, + "Meter_Location" : "grid" + }, + "Inverters" : { + "1" : { + "DT" : 123, + "P" : 8106, + "E_Day" : 35020, + "E_Year" : 5826076, + "E_Total" : 14788870 + } + } + } + } +} +``` diff --git a/conf.d/python.d.conf b/conf.d/python.d.conf index 9ed346cd..0a37e40a 100644 --- a/conf.d/python.d.conf +++ b/conf.d/python.d.conf @@ -26,11 +26,13 @@ log_interval: 3600 # If "default_run" = "no" the default for all modules is disabled (no). # Setting any of these to "yes" will enable it. -# apache_cache: yes +# apache_cache has been replaced by web_log +apache_cache: no # apache: yes # bind_rndc: yes # cpufreq: yes # cpuidle: yes +# dns_query_time: yes # dovecot: yes # elasticsearch: yes @@ -43,7 +45,7 @@ example: no # gunicorn_log has been replaced by web_log gunicorn_log: no - +go_expvar: no # haproxy: yes # hddtemp: yes # ipfs: yes @@ -52,6 +54,7 @@ gunicorn_log: no # memcached: yes # mysql: yes # nginx: yes +# nsd: yes # nginx_log has been replaced by web_log nginx_log: no @@ -60,9 +63,11 @@ nginx_log: no # phpfpm: yes # postfix: yes # postgres: yes +# rabbitmq: yes # redis: yes # retroshare: yes # sensors: yes +# samba: yes # smartd_log: yes # squid: yes # tomcat: yes diff --git a/conf.d/python.d/dns_query_time.conf b/conf.d/python.d/dns_query_time.conf new file mode 100644 index 00000000..f4d4dbf9 --- /dev/null +++ b/conf.d/python.d/dns_query_time.conf @@ -0,0 +1,72 @@ +# netdata python.d.plugin configuration for dns_query_time +# +# This file is in YaML format. Generally the format is: +# +# name: value +# +# There are 2 sections: +# - global variables +# - one or more JOBS +# +# JOBS allow you to collect values from multiple sources. +# Each source will have its own set of charts. +# +# JOB parameters have to be indented (using spaces only, example below). + +# ---------------------------------------------------------------------- +# Global Variables +# These variables set the defaults for all JOBs, however each JOB +# may define its own, overriding the defaults. + +# update_every sets the default data collection frequency. +# If unset, the python.d.plugin default is used. +# update_every: 1 + +# priority controls the order of charts at the netdata dashboard. +# Lower numbers move the charts towards the top of the page. +# If unset, the default for python.d.plugin is used. +# priority: 60000 + +# retries sets the number of retries to be made in case of failures. +# If unset, the default for python.d.plugin is used. +# Attempts to restore the service are made once every update_every +# and only if the module has collected values in the past. +# retries: 5 + +# ---------------------------------------------------------------------- +# JOBS (data collection sources) +# +# The default JOBS share the same *name*. JOBS with the same name +# are mutually exclusive. Only one of them will be allowed running at +# any time. This allows autodetection to try several alternatives and +# pick the one that works. +# +# Any number of jobs is supported. +# +# All python.d.plugin JOBS (for all its modules) support a set of +# predefined parameters. These are: +# +# job_name: +# name: myname # the JOB's name as it will appear at the +# # dashboard (by default is the job_name) +# # JOBs sharing a name are mutually exclusive +# update_every: 1 # the JOB's data collection frequency +# priority: 60000 # the JOB's order on the dashboard +# retries: 5 # the JOB's number of restoration attempts +# +# Additionally to the above, dns_query_time also supports the following: +# +# dns_servers: 'dns servers' # list of dns servers to query +# domains: 'domains' # list of domains +# aggregate: yes/no # Default: yes. Aggregate all servers in one chart or not +# response_timeout: 4 # Defalt: 4. Dns query response timeout (query = -100 if response time > response_time) +# +# +# ---------------------------------------------------------------------- +# AUTO-DETECTION JOBS +# only one of them will run (they have the same name) +# +# +#aggregate: yes +#dns_servers: '8.8.8.8 8.8.4.4' +#domains: 'python.org distrowatch.com linuxmint.com linux.com rsyslog.com liblognorm.com archlinux.org cisco.com debian.org kernel.org gns3.com opera.com github.com youtube.com amazon.co.uk kde.org netdata.firehol.org ubuntu.com redhat.com opensuse.org wireshark.org vmware.com microsoft.com elastic.co' diff --git a/conf.d/python.d/elasticsearch.conf b/conf.d/python.d/elasticsearch.conf index f98aaece..7c35df22 100644 --- a/conf.d/python.d/elasticsearch.conf +++ b/conf.d/python.d/elasticsearch.conf @@ -61,19 +61,16 @@ # cluster_health: False/True # Calls to cluster health elasticsearch API. Enabled by default. # cluster_stats: False/True # Calls to cluster stats elasticsearch API. Enabled by default. # -# ---------------------------------------------------------------------- -# IMPORTANT Information -# -# Module uses python `requests` package # -# You need to install it manually. (python-requests or python3-requests depending on the version of python). +# if the URL is password protected, the following are supported: # +# user: 'username' +# pass: 'password' # +# ---------------------------------------------------------------------- # AUTO-DETECTION JOBS # only one of them will run (they have the same name) # -#local: -# host: '127.0.0.1' -# port: '9200' -# cluster_health: True -# cluster_stats: True +local: + host: '127.0.0.1' + port: '9200' diff --git a/conf.d/python.d/fail2ban.conf b/conf.d/python.d/fail2ban.conf index d9664e35..76277108 100644 --- a/conf.d/python.d/fail2ban.conf +++ b/conf.d/python.d/fail2ban.conf @@ -58,15 +58,6 @@ # # log_path: 'path to fail2ban.log' # Default: '/var/log/fail2ban.log' # conf_path: 'path to jail.local/jail.conf' # Default: '/etc/fail2ban/jail.local' -# conf_dir: 'path to jail.d/' # Default: '' empty +# conf_dir: 'path to jail.d/' # Default: '/etc/fail2ban/jail.d/' # exclude: 'jails you want to exclude from autodetection' # Default: '[]' empty list #------------------------------------------------------------------------------------------------------------------ -# ------------------------------------------------------------------------------------------------------------------ -# AUTO-DETECTION JOBS -# only one of them will run (they have the same name) - -local: - log_path: '/var/log/fail2ban.log' - conf_path: '/etc/fail2ban/jail.local' -# conf_dir: '/etc/fail2ban/jail.d/' -# exclude: 'dropbear apache' diff --git a/conf.d/python.d/go_expvar.conf b/conf.d/python.d/go_expvar.conf new file mode 100644 index 00000000..5be4890d --- /dev/null +++ b/conf.d/python.d/go_expvar.conf @@ -0,0 +1,106 @@ +# netdata python.d.plugin configuration for go_expvar +# +# This file is in YaML format. Generally the format is: +# +# name: value +# +# There are 2 sections: +# - global variables +# - one or more JOBS +# +# JOBS allow you to collect values from multiple sources. +# Each source will have its own set of charts. +# +# JOB parameters have to be indented (using spaces only, example below). + +# ---------------------------------------------------------------------- +# Global Variables +# These variables set the defaults for all JOBs, however each JOB +# may define its own, overriding the defaults. + +# update_every sets the default data collection frequency. +# If unset, the python.d.plugin default is used. +# update_every: 1 + +# priority controls the order of charts at the netdata dashboard. +# Lower numbers move the charts towards the top of the page. +# If unset, the default for python.d.plugin is used. +# priority: 60000 + +# retries sets the number of retries to be made in case of failures. +# If unset, the default for python.d.plugin is used. +# Attempts to restore the service are made once every update_every +# and only if the module has collected values in the past. +# retries: 5 + +# ---------------------------------------------------------------------- +# JOBS (data collection sources) +# +# Any number of jobs is supported. +# +# All python.d.plugin JOBS (for all its modules) support a set of +# predefined parameters. These are: +# +# job_name: +# name: my_name # the JOB's name as it will appear at the +# # dashboard. If name: is not supplied the +# # job_name: will be used (use _ for spaces) +# # JOBs sharing a name are mutually exclusive +# update_every: 1 # the JOB's data collection frequency +# priority: 60000 # the JOB's order on the dashboard +# retries: 5 # the JOB's number of restoration attempts +# +# Additionally to the above, this plugin also supports the following: +# +# url: 'http://127.0.0.1/debug/vars' # the URL of the expvar endpoint +# ss_cert: # ignore HTTPS self-signed certificate +# proxy: # use HTTP proxy +# +# As the plugin cannot possibly know the port your application listens on, there is no default value. Please include +# the whole path of the endpoint, as the expvar handler can be installed in a non-standard location. +# +# if the URL is password protected, the following are supported: +# +# user: 'username' +# pass: 'password' +# +# collect_memstats: true # enables charts for Go runtime's memory statistics +# extra_charts: {} # defines extra data/charts to monitor, please see the example below +# +# If collect_memstats is disabled and no extra charts are defined, this module will disable itself, as it has no data to +# collect. +# +# Please visit the module wiki page for more information on how to use the extra_charts variable: +# +# https://github.com/firehol/netdata/wiki/Monitoring-Go-Applications#monitoring-custom-vars-with-go_expvar +# +# Configuration example +# --------------------- + +#app1: +# name : 'app1' +# url : 'http://127.0.0.1:8080/debug/vars' +# collect_memstats: true +# extra_charts: +# - id: "runtime_goroutines" +# options: +# name: num_goroutines +# title: "runtime: number of goroutines" +# units: goroutines +# family: runtime +# context: expvar.runtime.goroutines +# chart_type: line +# lines: +# - {expvar_key: 'runtime.goroutines', expvar_type: int, id: runtime_goroutines} +# - id: "foo_counters" +# options: +# name: counters +# title: "some random counters" +# units: awesomeness +# family: counters +# context: expvar.foo.counters +# chart_type: line +# lines: +# - {expvar_key: 'counters.cnt1', expvar_type: int, id: counters_cnt1} +# - {expvar_key: 'counters.cnt2', expvar_type: float, id: counters_cnt2} + diff --git a/conf.d/python.d/isc_dhcpd.conf b/conf.d/python.d/isc_dhcpd.conf index 7c8fe3ce..938ca6e7 100644 --- a/conf.d/python.d/isc_dhcpd.conf +++ b/conf.d/python.d/isc_dhcpd.conf @@ -56,8 +56,11 @@ # # Additionally to the above, isc_dhcpd supports the following: # -# leases_path: 'PATH' # the path to dhcpd.leases file -# pools: 'dhcpd pools list' # Pools in CIDR format +# leases_path: 'PATH' # the path to dhcpd.leases file +# pools: +# office: '192.168.2.0/24' # name(dimension): pool in CIDR format +# wifi: '192.168.3.0/24' # name(dimension): pool in CIDR format +# 192.168.4.0/24: '192.168.4.0/24' # name(dimension): pool in CIDR format # #----------------------------------------------------------------------- # IMPORTANT notes @@ -75,4 +78,6 @@ # #leases: # leases_path : '/var/lib/dhcp/dhcpd.leases' -# pools : '192.168.3.0/24 192.168.4.0/24 192.168.5.0/24' +# pools: +# office: '192.168.2.0/24' +# wifi: '192.168.3.0/24' diff --git a/conf.d/python.d/postgres.conf b/conf.d/python.d/postgres.conf index d4d2bafc..12dddae6 100644 --- a/conf.d/python.d/postgres.conf +++ b/conf.d/python.d/postgres.conf @@ -68,6 +68,7 @@ # # table_stats : false # index_stats : false +# database_poll : 'dbase_name1 dbase_name2' # poll only specified databases (all other will be excluded from charts) # # Postfix permissions are configured at its pg_hba.conf file. You can # "trust" local clients to allow netdata to connect, or you can create diff --git a/conf.d/python.d/rabbitmq.conf b/conf.d/python.d/rabbitmq.conf new file mode 100644 index 00000000..eccf65df --- /dev/null +++ b/conf.d/python.d/rabbitmq.conf @@ -0,0 +1,75 @@ +# netdata python.d.plugin configuration for rabbitmq +# +# This file is in YaML format. Generally the format is: +# +# name: value +# +# There are 2 sections: +# - global variables +# - one or more JOBS +# +# JOBS allow you to collect values from multiple sources. +# Each source will have its own set of charts. +# +# JOB parameters have to be indented (using spaces only, example below). + +# ---------------------------------------------------------------------- +# Global Variables +# These variables set the defaults for all JOBs, however each JOB +# may define its own, overriding the defaults. + +# update_every sets the default data collection frequency. +# If unset, the python.d.plugin default is used. +# update_every: 1 + +# priority controls the order of charts at the netdata dashboard. +# Lower numbers move the charts towards the top of the page. +# If unset, the default for python.d.plugin is used. +# priority: 60000 + +# retries sets the number of retries to be made in case of failures. +# If unset, the default for python.d.plugin is used. +# Attempts to restore the service are made once every update_every +# and only if the module has collected values in the past. +# retries: 5 + +# ---------------------------------------------------------------------- +# JOBS (data collection sources) +# +# The default JOBS share the same *name*. JOBS with the same name +# are mutually exclusive. Only one of them will be allowed running at +# any time. This allows autodetection to try several alternatives and +# pick the one that works. +# +# Any number of jobs is supported. +# +# All python.d.plugin JOBS (for all its modules) support a set of +# predefined parameters. These are: +# +# job_name: +# name: myname # the JOB's name as it will appear at the +# # dashboard (by default is the job_name) +# # JOBs sharing a name are mutually exclusive +# update_every: 1 # the JOB's data collection frequency +# priority: 60000 # the JOB's order on the dashboard +# retries: 5 # the JOB's number of restoration attempts +# +# Additionally to the above, rabbitmq plugin also supports the following: +# +# host: 'ipaddress' # Server ip address or hostname. Default: 127.0.0.1 +# port: 'port' # Rabbitmq port. Default: 15672 +# scheme: 'scheme' # http or https. Default: http +# +# if the URL is password protected, the following are supported: +# +# user: 'username' +# pass: 'password' +# +# ---------------------------------------------------------------------- +# AUTO-DETECTION JOBS +# only one of them will run (they have the same name) +# +local: + host: '127.0.0.1' + user: 'guest' + pass: 'guest' diff --git a/conf.d/python.d/samba.conf b/conf.d/python.d/samba.conf new file mode 100644 index 00000000..865281cd --- /dev/null +++ b/conf.d/python.d/samba.conf @@ -0,0 +1,58 @@ +# netdata python.d.plugin configuration for samba +# +# This file is in YaML format. Generally the format is: +# +# name: value +# +# There are 2 sections: +# - global variables +# - one or more JOBS +# +# JOBS allow you to collect values from multiple sources. +# Each source will have its own set of charts. +# +# JOB parameters have to be indented (using spaces only, example below). + +# ---------------------------------------------------------------------- +# Global Variables +# These variables set the defaults for all JOBs, however each JOB +# may define its own, overriding the defaults. + +# update_every sets the default data collection frequency. +# If unset, the python.d.plugin default is used. +update_every: 5 + +# priority controls the order of charts at the netdata dashboard. +# Lower numbers move the charts towards the top of the page. +# If unset, the default for python.d.plugin is used. +# priority: 60000 + +# retries sets the number of retries to be made in case of failures. +# If unset, the default for python.d.plugin is used. +# Attempts to restore the service are made once every update_every +# and only if the module has collected values in the past. +# retries: 5 + +# ---------------------------------------------------------------------- +# JOBS (data collection sources) +# +# The default JOBS share the same *name*. JOBS with the same name +# are mutually exclusive. Only one of them will be allowed running at +# any time. This allows autodetection to try several alternatives and +# pick the one that works. +# +# Any number of jobs is supported. +# +# All python.d.plugin JOBS (for all its modules) support a set of +# predefined parameters. These are: +# +# job_name: +# name: myname # the JOB's name as it will appear at the +# # dashboard (by default is the job_name) +# # JOBs sharing a name are mutually exclusive +# update_every: 1 # the JOB's data collection frequency +# priority: 60000 # the JOB's order on the dashboard +# retries: 5 # the JOB's number of restoration attempts +# +# + diff --git a/conf.d/python.d/smartd_log.conf b/conf.d/python.d/smartd_log.conf index e16454df..8764ffd3 100644 --- a/conf.d/python.d/smartd_log.conf +++ b/conf.d/python.d/smartd_log.conf @@ -58,11 +58,11 @@ # # log_path: '/path/to/smartdlogs' # path to smartd log files. Default is /var/log/smartd # raw_values: no # raw or normalized values on charts. Default is normalized. -# smart_attributes: '1 2 3 4 44' # add additional smart attributes charts. Default are ['1', '4', '5', '7', '9', '12', '193', '194', '197', '198', '200']. +# smart_attributes: '1 2 3 4 44' # smart attributes charts. Default are ['1', '4', '5', '7', '9', '12', '193', '194', '197', '198', '200']. # # ---------------------------------------------------------------------- # Additional information -# Plugin reads smartd log files (-A option). +# Plugin reads smartd log files (-A option). # You need to add (man smartd) to /etc/default/smartmontools '-i 600 -A /var/log/smartd/' to pass additional options to smartd on startup # Then restart smartd service and check /path/log/smartdlogs # ls /var/log/smartd/ @@ -74,12 +74,12 @@ # RAW vs NORMALIZED values # "Normalized value", commonly referred to as just "value". This is a most universal measurement, on the scale from 0 (bad) to some maximum (good) value. # Maximum values are typically 100, 200 or 253. Rule of thumb is: high values are good, low values are bad. -# +# # "Raw value" - the value of the attribute as it is tracked by the device, before any normalization takes place. # Some raw numbers provide valuable insight when properly interpreted. These cases will be discussed later on. # Raw values are typically listed in hexadecimal numbers. The raw value has different structure for different vendors and is often not meaningful as a decimal number. # # # JOB configuration -# +# log_path: '/var/log/smartd' diff --git a/conf.d/python.d/web_log.conf b/conf.d/python.d/web_log.conf index 06656285..e51b565d 100644 --- a/conf.d/python.d/web_log.conf +++ b/conf.d/python.d/web_log.conf @@ -60,13 +60,21 @@ # Additionally to the above, web_log also supports the following: # # path: 'PATH' # the path to web server log file -# detailed_response_codes: yes/no # Default: yes. Additional chart where response codes are not grouped -# detailed_response_aggregate: yes/no # Default: yes. Not aggregated detailed response codes charts -# all_time : yes/no # Default: yes. All time unique client IPs chart (50000 addresses ~ 400KB) +# path: 'PATH[0-9]*[0-9]' # log files with date suffix are also supported +# detailed_response_codes: yes/no # default: yes. Additional chart where response codes are not grouped +# detailed_response_aggregate: yes/no # default: yes. Not aggregated detailed response codes charts +# all_time : yes/no # default: yes. All time unique client IPs chart (50000 addresses ~ 400KB) +# filter: # filter with regex +# include: 'REGEX' # only those rows that matches the regex +# exclude: 'REGEX' # all rows except those that matches the regex # categories: # requests per url chart configuration # cacti: 'cacti.*' # name(dimension): REGEX to match # observium: 'observium.*' # name(dimension): REGEX to match # stub_status: 'stub_status' # name(dimension): REGEX to match +# user_defined: # requests per pattern in <user_defined> field (custom_log_format) +# cacti: 'cacti.*' # name(dimension): REGEX to match +# observium: 'observium.*' # name(dimension): REGEX to match +# stub_status: 'stub_status' # name(dimension): REGEX to match # custom_log_format: # define a custom log format # pattern: '(?P<address>[\da-f.:]+) -.*?"(?P<method>[A-Z]+) (?P<url>.*?)" (?P<code>[1-9]\d{2}) (?P<bytes_sent>\d+) (?P<resp_length>\d+) (?P<resp_time>\d\.\d+) ' # time_multiplier: 1000000 # type <int> - convert time to microseconds @@ -83,7 +91,7 @@ # nginx: # log_format netdata '$remote_addr - $remote_user [$time_local] ' # '"$request" $status $body_bytes_sent ' -# '$request_length $request_time ' +# '$request_length $request_time $upstream_response_time ' # '"$http_referer" "$http_user_agent"'; # access_log /var/log/nginx/access.log netdata; # @@ -145,3 +153,35 @@ gunicorn_log: gunicorn_log2: name: 'gunicorn' path: '/var/log/gunicorn/gunicorn-access.log' + +# ------------------------------------------- +# Apache Cache +apache_cache: + name: 'apache_cache' + type: 'apache_cache' + path: '/var/log/apache/cache.log' + +apache2_cache: + name: 'apache_cache' + type: 'apache_cache' + path: '/var/log/apache2/cache.log' + +httpd_cache: + name: 'apache_cache' + type: 'apache_cache' + path: '/var/log/httpd/cache.log' + +# ------------------------------------------- +# Squid + +# debian/ubuntu +squid_log1: + name: 'squid' + type: 'squid' + path: '/var/log/squid3/access.log' + +#gentoo +squid_log2: + name: 'squid' + type: 'squid' + path: '/var/log/squid/access.log' diff --git a/conf.d/statsd.d/example.conf b/conf.d/statsd.d/example.conf new file mode 100644 index 00000000..0af9dd27 --- /dev/null +++ b/conf.d/statsd.d/example.conf @@ -0,0 +1,65 @@ +# statsd synthetic charts configuration + +# You can add many .conf files, one for each of your apps + +# start a new app - you can add many apps in the same file +[app] + # give a name for this app + # this controls the main menu on the dashboard + # and will be the prefix for all charts of the app + name = myapp + + # match all the metrics of the app + metrics = myapp.* + + # shall private charts of these metrics be created? + private charts = no + + # shall gaps be shown when metrics are not collected? + gaps when not collected = no + + # the memory mode for the charts of this app: none|map|save + # the default is to use the global memory mode + #memory mode = ram + + # the history size for the charts of this app, in seconds + # the default is to use the global history + #history = 3600 + + + +# create a chart +# this is its id - the chart will be named myapp.mychart +[mychart] + # a name for the chart, similar to the id (2 names for each chart) + name = mychart + + # the chart title + title = my chart title + + # the submenu of the dashboard + family = my family + + # the context for alarm templates + context = chart.context + + # the units of the chart + units = tests/s + + # the sorting priority of the chart on the dashboard + priority = 91000 + + # the type of chart to create: line | area | stacked + type = area + + # one or more dimensions for the chart + # type = events | last | min | max | sum | average | percentile | median | stddev + # events = the number of events for this metric + # last = the last value collected + # all the others are only valid for histograms and timers + dimension = myapp.metric1 avg average 1 1 + dimension = myapp.metric1 lower min 1 1 + dimension = myapp.metric1 upper max 1 1 + dimension = myapp.metric2 other last 1 1 + +# You can add as many charts as needed diff --git a/conf.d/stream.conf b/conf.d/stream.conf index 0ebdccb8..0ae5ba67 100644 --- a/conf.d/stream.conf +++ b/conf.d/stream.conf @@ -5,59 +5,64 @@ # number of hosts. # # You can generate API keys, with the linux command: uuidgen -# + + # ----------------------------------------------------------------------------- # 1. ON SLAVE NETDATA - THE ONE THAT WILL BE SENDING METRICS [stream] # Enable this on slaves, to have them send metrics. - enabled = no - - # The destination to send metrics to. - # A space separated list of: - # [PROTOCOL:]HOST[%INTERFACE][:PORT] - # The first available will get the metrics. - # PROTOCOL = tcp or udp (only tcp is supported by masters) - # HOST = an IPv4, IPv6 IP, or a hostname. - # IPv6 IPs should be given with brackets [ip:address] - # INTERFACE = the network interface to use - # PORT = the port number or service name (/etc/services) - # This communication is not HTTP (cannot be proxied by web proxies). - destination = - - # The API_KEY to use (as the sender) - api key = + enabled = no + + # Where is the receiving netdata? + # A space separated list of: + # + # [PROTOCOL:]HOST[%INTERFACE][:PORT] + # + # If many are given, the first available will get the metrics. + # + # PROTOCOL = tcp or udp (only tcp is supported by masters) + # HOST = an IPv4, IPv6 IP, or a hostname. + # IPv6 IPs should be given with brackets [ip:address] + # INTERFACE = the network interface to use + # PORT = the port number or service name (/etc/services) + # + # This communication is not HTTP (cannot be proxied by web proxies). + destination = + + # The API_KEY to use (as the sender) + api key = # The timeout to connect and send metrics - timeout seconds = 60 + timeout seconds = 60 - # If the destination line above does specify a port, use this - default port = 19999 + # If the destination line above does not specify a port, use this + default port = 19999 - # The buffer to use for sending metrics. - # 1MB by default is good for 2-3 seconds of data, so increase this - # if you expect latencies. - buffer size bytes = 1048576 + # The buffer to use for sending metrics. + # 1MB is good for 10-20 seconds of data, so increase this + # if you expect latencies. + buffer size bytes = 1048576 - # If the connection fails, or it disconnects, - # retry after that many seconds. - reconnect delay seconds = 5 + # If the connection fails, or it disconnects, + # retry after that many seconds. + reconnect delay seconds = 5 - # Attempt to sync the clock the of the master with the clock of the - # slave for that many iterations, when starting. - initial clock resync iterations = 60 + # Attempt to sync the clock the of the master with the clock of the + # slave for that many iterations, when starting. + initial clock resync iterations = 60 # ----------------------------------------------------------------------------- # 2. ON MASTER NETDATA - THE ONE THAT WILL BE RECEIVING METRICS -# + # You can have one API key per slave, or the same API key for all slaves. # -# All options below are used in this order: +# netdata searches for options in this order: # -# a) MACHINE_GUID (settings for each machine) -# b) API_KEY (settings for the API key) -# c) this netdata defaults (as in netdata.conf) +# a) [MACHINE_GUID] section (settings for each machine) +# b) [API_KEY] section (settings for the API key) +# c) master netdata settings (netdata.conf) # # You can combine the above (the more specific setting will be used). @@ -68,13 +73,13 @@ # Default settings for the API key # You can disable the API key, by setting this to: no - # The default (for unknown API keys) is also: no + # The default (for unknown API keys) is: no enabled = no # The default history in entries, for all hosts using this API key. # You can also set it per host below. # If you don't set it here, the history size of the central netdata - # will be used + # will be used. default history = 3600 # The default memory mode to be used for all hosts using this API key. @@ -84,11 +89,11 @@ # save save on exit, load on start # map like swap (continuously syncing to disks) # ram keep it in RAM, don't touch the disk - # none no database (passing through this netdata) + # none no database at all (use this on headless proxies) default memory mode = ram # Shall we enable health monitoring for the hosts using this API key? - # 3 values: + # 3 possible values: # yes enable alarms # no do not enable alarms # auto enable alarms, only when the sending netdata is connected @@ -107,16 +112,18 @@ # ----------------------------------------------------------------------------- -# 3. ON MASTER NETDATA - THE ONE THAT WILL BE RECEIVING METRICS -# -# THIS IS OPTIONAL - YOU DON'T NEED IT BY DEFAULT -# It only exists to give you finer control of the master settings for each +# 3. PER SENDING HOST SETTINGS, ON MASTER NETDATA +# THIS IS OPTIONAL - YOU DON'T NEED IT + +# This section exists to give you finer control of the master settings for each # slave host, when the same API key is used by many netdata slaves / proxies. # # Each netdata has a unique GUID - generated the first time netdata starts. # You can find it at /var/lib/netdata/registry/netdata.public.unique.id +# (at the slave). +# # The host sending data will have one. If the host is not ephemeral, -# you can give settings for each specific host here. +# you can give settings for each sending host here. [MACHINE_GUID] # enable this host: yes | no |