#
# apps.plugin process grouping
#
# The apps.plugin displays charts with information about the processes running.
# This config allows grouping processes together, so that several processes
# will be reported as one.
#
# Only groups in this file are reported. All other processes will be reported
# as 'other'.
#
# For each process given, its whole process tree will be grouped, not just
# the process matched. The plugin will include both parents and childs.
#
# The format is:
#
#       group: process1 process2 process3 ...
#
# Each group can be given multiple times, to add more processes to it.
#
# The process names are the ones returned by:
#
#  -  ps -e or /proc/PID/stat
#  -  in case of substring mode (see below): /proc/PID/cmdline
#
# To add process names with spaces, enclose them in quotes (single or double)
# example: 'Plex Media Serv' "my other process".
#
# Wildcard support:
# You can add an asterisk (*) at the beginning and/or the end of a process:
#
#  *name    suffix mode: will search for processes ending with 'name'
#           (/proc/PID/stat)
#
#   name*   prefix mode: will search for processes beginning with 'name'
#           (/proc/PID/stat)
#
#  *name*   substring mode: will search for 'name' in the whole command line
#           (/proc/PID/cmdline)
#
# If you enter even just one *name* (substring), apps.plugin will process
# /proc/PID/cmdline for all processes, just once (when they are first seen).
#
# To add processes with single quotes, enclose them in double quotes
# example: "process with this ' single quote"
#
# To add processes with double quotes, enclose them in single quotes:
# example: 'process with this " double quote'
#
# If a group or process name starts with a -, the dimension will be hidden
# (cpu chart only).
#
# If a process starts with a +, debugging will be enabled for it
# (debugging produces a lot of output - do not enable it in production systems)
#
# You can add any number of groups you like. Only the ones found running will
# affect the charts generated. However, producing charts with hundreds of
# dimensions may slow down your web browser.
#
# The order of the entries in this list is important: the first that matches
# a process is used, so put important ones at the top. Processes not matched
# by any row, will inherit it from their parents or children.
#
# The order also controls the order of the dimensions on the generated charts
# (although applications started after apps.plugin is started, will be appended
# to the existing list of dimensions the netdata daemon maintains).

# -----------------------------------------------------------------------------
# NETDATA processes accounting

# netdata main process
netdata: netdata

# netdata known plugins
# plugins not defined here will be accumulated in netdata, above
apps.plugin: apps.plugin
freeipmi.plugin: freeipmi.plugin
charts.d.plugin: *charts.d.plugin*
node.d.plugin: *node.d.plugin*
python.d.plugin: *python.d.plugin*
tc-qos-helper: *tc-qos-helper.sh*
fping: fping

# -----------------------------------------------------------------------------
# authentication/authorization related servers

auth: radius* openldap* ldap*
fail2ban: fail2ban*

# -----------------------------------------------------------------------------
# web/ftp servers

httpd: apache* httpd nginx* lighttpd
proxy: squid* c-icap squidGuard varnish*
php: php*
ftpd: proftpd in.tftpd vsftpd
uwsgi: uwsgi
unicorn: *unicorn*
puma: *puma*

# -----------------------------------------------------------------------------
# database servers

sql: mysqld* mariad* postgres* postmaster* oracle_* ora_*
nosql: mongod redis* memcached *couchdb*
timedb: prometheus *carbon-cache.py* *carbon-aggregator.py* *graphite/manage.py* *net.opentsdb.tools.TSDMain*

# -----------------------------------------------------------------------------
# email servers

email: dovecot imapd pop3d amavis* master zmstat* zmmailboxdmgr qmgr oqmgr saslauthd opendkim clamd freshclam unbound tlsmgr postfwd2 postscreen postfix smtp* lmtp* sendmail

# -----------------------------------------------------------------------------
# network, routing, VPN

ppp: ppp*
vpn: openvpn pptp* cjdroute gvpe tincd
wifi: hostapd wpa_supplicant NetworkManager
routing: ospfd* ospf6d* bgpd isisd ripd ripngd pimd ldpd zebra vtysh bird*
modem: ModemManager

# -----------------------------------------------------------------------------
# high availability and balancers

camo: *camo*
balancer: ipvs_* haproxy
ha: corosync hs_logd ha_logd stonithd pacemakerd lrmd crmd

# -----------------------------------------------------------------------------
# telephony

pbx: asterisk safe_asterisk *vicidial*
sip: opensips* stund

# -----------------------------------------------------------------------------
# chat

chat: irssi *vines* *prosody* murmurd

# -----------------------------------------------------------------------------
# monitoring

logs: ulogd* syslog* rsyslog* logrotate systemd-journald rotatelogs
nms: snmpd vnstatd smokeping zabbix* monit munin* mon openhpid watchdog tailon nrpe
splunk: splunkd
azure: mdsd *waagent* *omiserver* *omiagent* hv_kvp_daemon hv_vss_daemon *auoms* *omsagent*

# -----------------------------------------------------------------------------
# storage, file systems and file servers

ceph: ceph-mds ceph-mgr ceph-mon ceph-osd radosgw* rbd-*
samba: smbd nmbd winbindd
nfs: rpcbind rpc.* nfs*
zfs: spl_* z_* txg_* zil_* arc_* l2arc*
btrfs: btrfs*
iscsi: iscsid iscsi_eh

# -----------------------------------------------------------------------------
# containers & virtual machines

containers: lxc* docker*
VMs: vbox* VBox* qemu*

# -----------------------------------------------------------------------------
# ssh servers and clients

ssh: ssh* scp dropbear

# -----------------------------------------------------------------------------
# print servers and clients

print: cups* lpd lpq

# -----------------------------------------------------------------------------
# time servers and clients

time: ntp* systemd-timesyncd chronyd

# -----------------------------------------------------------------------------
# dhcp servers and clients

dhcp: *dhcp*

# -----------------------------------------------------------------------------
# name servers and clients

named: named rncd dig
dnsdist: dnsdist

# -----------------------------------------------------------------------------
# installation / compilation / debugging

build: cc1 cc1plus as gcc* cppcheck ld make cmake automake autoconf autoreconf
build: git gdb valgrind*

# -----------------------------------------------------------------------------
# antivirus

antivirus: clam* *clam

# -----------------------------------------------------------------------------
# torrent clients

torrents: *deluge* transmission* *SickBeard* *CouchPotato* *rtorrent*

# -----------------------------------------------------------------------------
# backup servers and clients

backup: rsync bacula*

# -----------------------------------------------------------------------------
# cron

cron: cron* atd anacron systemd-cron*

# -----------------------------------------------------------------------------
# UPS

ups: upsmon upsd */nut/*

# -----------------------------------------------------------------------------
# media players, servers, clients

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 vivaldi-bin epiphany WebKit*
X: '*systemd --user*' chrome *chrome-sandbox* *google-chrome* *chromium* *firefox*

# -----------------------------------------------------------------------------
# Kernel / System

ksmd: ksmd

system: systemd-* udisks* udevd* *udevd connmand ipv6_addrconf dbus-* rtkit*
system: inetd xinetd mdadm polkitd acpid uuidd packagekitd upowerd colord
system: accounts-daemon rngd haveged

kernel: kthreadd kauditd lockd khelper kdevtmpfs khungtaskd rpciod
kernel: fsnotify_mark kthrotld deferwq scsi_*

# -----------------------------------------------------------------------------
# other application servers

kafka: *kafka.Kafka*

rabbitmq: *rabbitmq*

sidekiq: *sidekiq*
java: java
ipfs: ipfs

node: node
