diff --git a/doc/10-icinga-template-library.md b/doc/10-icinga-template-library.md
index 76e287a9e..f0b4da694 100644
--- a/doc/10-icinga-template-library.md
+++ b/doc/10-icinga-template-library.md
@@ -2492,6 +2492,28 @@ redis_memory_utilization | **Optional.** This calculates percent of total memory
redis_total_memory | **Optional.** Amount of memory on a system for memory utilization calculation. Use system memory or max_memory setting of redis.
redis_replication_delay | **Optional.** Allows to set threshold on replication delay info.
+#### proxysql
+
+The [check_proxysql](https://github.com/sysown/proxysql-nagios) plugin,
+uses the `proxysql` binary to monitor [proxysql](https://proxysql.com/).
+
+Custom attributes passed as [command parameters](03-monitoring-basics.md#command-passing-parameters):
+
+Name | Description
+-----------------------------|----------------------------------------------------------------------------------
+proxysql_user | **Optional.** ProxySQL admin username (default=admin)
+proxysql_password | **Optional.** ProxySQL admin password (default=admin)
+proxysql_host | **Optional.** ProxySQL hostname / IP (default=127.0.0.1)
+proxysql_port | **Optional.** ProxySQL admin port (default=6032)
+proxysql_defaultfile | **Optional.** ProxySQL defaults file
+proxysql_type | **Required.** ProxySQL check type (one of conns,hg,rules,status,var)
+proxysql_name | **Optional.** ProxySQL variable name to check
+proxysql_lower | **Optional.** Alert if ProxySQL value are LOWER than defined WARN / CRIT thresholds (only applies to 'var' check type)
+proxysql_runtime | **Optional.** Force ProxySQL Nagios check to query the runtime_mysql_XXX tables rather than the mysql_XXX tables
+proxysql_warning | **Optional.** Warning threshold
+proxysql_critical | **Optional.** Critical threshold
+proxysql\_include\_hostgroup | **Optional.** ProxySQL hostgroup(s) to include (only applies to '--type hg' checks, accepts comma-separated list)
+proxysql\_ignore\_hostgroup | **Optional.** ProxySQL hostgroup(s) to ignore (only applies to '--type hg' checks, accepts comma-separated list)
### Hardware
@@ -2592,6 +2614,34 @@ temp_warning | **Required.** Exit with WARNING status if above INTEGE
temp_critical | **Required.** Exit with CRITICAL status if above INTEGER degrees
temp_sensor | **Optional.** Set what to monitor, for example CPU or MB (or M/B). Check sensors for the correct word. Default is CPU.
+#### hddtemp
+
+The [check_hddtemp](https://github.com/vint21h/nagios-check-hddtemp) plugin,
+uses the `hddtemp` binary to monitor hard drive temperature.
+
+Custom attributes passed as [command parameters](03-monitoring-basics.md#command-passing-parameters):
+
+Name | Description
+------------------------|----------------------------------------------------------------------------------
+hddtemp_server | **Required.** server name or address
+hddtemp_port | **Optional.** port number
+hddtemp_devices | **Optional.** comma separated devices list, or empty for all devices in hddtemp response
+hddtemp_separator | **Optional.** hddtemp separator
+hddtemp_warning | **Required.** warning temperature
+hddtemp_critical | **Required.** critical temperature
+hddtemp_timeout | **Optional.** receiving data from hddtemp operation network timeout
+hddtemp_performance | **Optional.** If set, return performance data
+hddtemp_quiet | **Optional.** If set, be quiet
+
+The following sane default value are specified:
+```
+vars.hddtemp_server = "127.0.0.1"
+vars.hddtemp_warning = 55
+vars.hddtemp_critical = 60
+vars.hddtemp_performance = true
+vars.hddtemp_timeout = 5
+```
+
#### adaptec-raid
The [check_adaptec_raid](https://github.com/thomas-krenn/check_adaptec_raid) plugin
@@ -5428,3 +5478,28 @@ haproxy_url | **Required.** URL of the HAProxy csv statistics page.
haproxy_timeout | **Optional.** Seconds before plugin times out (default: 10)
haproxy_warning | **Optional.** Warning request time threshold (in seconds)
haproxy_critical | **Optional.** Critical request time threshold (in seconds)
+
+#### phpfpm_status
+
+The [check_phpfpm_status](http://github.com/regilero/check_phpfpm_status) plugin,
+uses the `php-fpm` status page to monitor php-fpm.
+
+Custom attributes passed as [command parameters](03-monitoring-basics.md#command-passing-parameters):
+
+Name | Description
+--------------------------|----------------------------------------------------------------------------------
+phpfpm\_status\_hostname | **Required.** name or IP address of host to check
+phpfpm\_status\_port | **Optional.** Http port, or Fastcgi port when using --fastcgi
+phpfpm\_status\_url | **Optional.** Specific URL (only the path part of it in fact) to use, instead of the default /fpm-status
+phpfpm\_status\_servername| **Optional.** ServerName, (host header of HTTP request) use it if you specified an IP in -H to match the good Virtualhost in your target
+phpfpm\_status\_fastcgi | **Optional.** If set, connect directly to php-fpm via network or local socket, using fastcgi protocol instead of HTTP.
+phpfpm\_status\_user | **Optional.** Username for basic auth
+phpfpm\_status\_pass | **Optional.** Password for basic auth
+phpfpm\_status\_realm | **Optional.** Realm for basic auth
+phpfpm\_status\_debug | **Optional.** If set, debug mode (show http request response)
+phpfpm\_status\_timeout | **Optional.** timeout in seconds (Default: 15)
+phpfpm\_status\_ssl | **Optional.** Wether we should use HTTPS instead of HTTP. Note that you can give some extra parameters to this settings. Default value is 'TLSv1' but you could use things like 'TLSv1_1' or 'TLSV1_2' (or even 'SSLv23:!SSLv2:!SSLv3' for old stuff).
+phpfpm\_status\_verifyssl | **Optional.** If set, verify certificate and hostname from ssl cert, default is 0 (no security), set it to 1 to really make SSL peer name and certificater checks.
+phpfpm\_status\_cacert | **Optional.** Full path to the cacert.pem certificate authority used to verify ssl certificates (use with --verifyssl). if not given the cacert from Mozilla::CA cpan plugin will be used.
+phpfpm\_status\_warn | **Optional.** MIN_AVAILABLE_PROCESSES,PROC_MAX_REACHED,QUEUE_MAX_REACHED number of available workers, or max states reached that will cause a warning. -1 for no warning
+phpfpm\_status\_critical | **Optional.** MIN_AVAILABLE_PROCESSES,PROC_MAX_REACHED,QUEUE_MAX_REACHED number of available workers, or max states reached that will cause an error, -1 for no CRITICAL
diff --git a/itl/plugins-contrib.d/databases.conf b/itl/plugins-contrib.d/databases.conf
index c12475d19..18ddc7311 100644
--- a/itl/plugins-contrib.d/databases.conf
+++ b/itl/plugins-contrib.d/databases.conf
@@ -842,3 +842,64 @@ object CheckCommand "redis" {
vars.redis_perfparse = false
vars.redis_prev_perfdata = false
}
+
+object CheckCommand "proxysql" {
+ import "plugin-check-command"
+ command = [ PluginDir + "/check_proxysql" ]
+
+ arguments = {
+ "--user" = {
+ value = "$proxysql_user$"
+ description = "ProxySQL admin username (default=admin)"
+ }
+ "--password" = {
+ value = "$proxysql_password$"
+ description = "ProxySQL admin password (default=admin)"
+ }
+ "--host" = {
+ value = "$proxysql_host$"
+ description = "ProxySQL hostname / IP (default=127.0.0.1)"
+ }
+ "--port" = {
+ value = "$proxysql_port$"
+ description = "ProxySQL admin port (default=6032)"
+ }
+ "--defaults-file" = {
+ value = "$proxysql_defaultfile$"
+ description = "ProxySQL defaults file"
+ }
+ "--type" = {
+ value = "$proxysql_type$"
+ description = "ProxySQL check type (one of conns,hg,rules,status,var)"
+ required = true
+ }
+ "--name" = {
+ value = "$proxysql_name$"
+ description = "ProxySQL variable name to check"
+ }
+ "--lower" = {
+ value = "$proxysql_lower$"
+ description = "Alert if ProxySQL value are LOWER than defined WARN / CRIT thresholds (only applies to 'var' check type)"
+ }
+ "--runtime" = {
+ value = "$proxysql_runtime$"
+ description = "Force ProxySQL Nagios check to query the runtime_mysql_XXX tables rather than the mysql_XXX tables"
+ }
+ "--warning" = {
+ value = "$proxysql_warning$"
+ description = "Warning threshold"
+ }
+ "--critical" = {
+ value = "$proxysql_critical$"
+ description = "Critical threshold"
+ }
+ "--include-hostgroup" = {
+ value = "$proxysql_include_hostgroup$"
+ description = "ProxySQL hostgroup(s) to include (only applies to '--type hg' checks, accepts comma-separated list)"
+ }
+ "--ignore-hostgroup" = {
+ value = "$proxysql_ignore_hostgroup$"
+ description = "ProxySQL hostgroup(s) to ignore (only applies to '--type hg' checks, accepts comma-separated list)"
+ }
+ }
+}
diff --git a/itl/plugins-contrib.d/hardware.conf b/itl/plugins-contrib.d/hardware.conf
index 53455a242..46ce83604 100644
--- a/itl/plugins-contrib.d/hardware.conf
+++ b/itl/plugins-contrib.d/hardware.conf
@@ -229,3 +229,56 @@ object CheckCommand "temp" {
vars.temp_critical = "80"
vars.temp_sensor = "Core"
}
+
+object CheckCommand "hddtemp" {
+ import "plugin-check-command"
+ command = [ PluginDir + "/check_hddtemp" ]
+
+ arguments = {
+ "--server" = {
+ value = "$hddtemp_server$"
+ description = "server name or address"
+ required = true
+ }
+ "--port" = {
+ value = "$hddtemp_port$"
+ description = "port number"
+ }
+ "--devices" = {
+ value = "$hddtemp_devices$"
+ description = "comma separated devices list, or empty for all devices in hddtemp response"
+ }
+ "--separator" = {
+ value = "$hddtemp_separator$"
+ description = "hddtemp separator"
+ }
+ "--warning" = {
+ value = "$hddtemp_warning$"
+ description = "warning temperature"
+ required = true
+ }
+ "--critical" = {
+ value = "$hddtemp_critical$"
+ description = "critical temperature"
+ required = true
+ }
+ "--timeout" = {
+ value = "$hddtemp_timeout$"
+ description = "receiving data from hddtemp operation network timeout"
+ }
+ "--performance-data" = {
+ set_if = "$hddtemp_performance$"
+ description = "return performance data"
+ }
+ "--quiet" = {
+ set_if = "$hddtemp_quiet$"
+ description = "be quiet"
+ }
+ }
+
+ vars.hddtemp_server = "127.0.0.1"
+ vars.hddtemp_warning = 55
+ vars.hddtemp_critical = 60
+ vars.hddtemp_performance = true
+ vars.hddtemp_timeout = 5
+}
diff --git a/itl/plugins-contrib.d/web.conf b/itl/plugins-contrib.d/web.conf
index 73266e3b1..cccadefc1 100644
--- a/itl/plugins-contrib.d/web.conf
+++ b/itl/plugins-contrib.d/web.conf
@@ -618,3 +618,74 @@ object CheckCommand "haproxy" {
}
}
}
+
+object CheckCommand "phpfpm_status" {
+ import "plugin-check-command"
+ command = [ PluginDir + "/check_phpfpm_status" ]
+
+ arguments = {
+ "-H" = {
+ value = "$phpfpm_status_hostname$"
+ description = "name or IP address of host to check"
+ required = true
+ }
+ "-p" = {
+ value = "$phpfpm_status_port$"
+ description = "Http port, or Fastcgi port when using --fastcgi"
+ }
+ "-u" = {
+ value = "$phpfpm_status_url$"
+ description = "Specific URL (only the path part of it in fact) to use, instead of the default /fpm-status"
+ }
+ "-s" = {
+ value = "$phpfpm_status_servername$"
+ description = "ServerName, (host header of HTTP request) use it if you specified an IP in -H to match the good Virtualhost in your target"
+ }
+ "-f" = {
+ set_if = "$phpfpm_status_fastcgi$"
+ description = "Connect directly to php-fpm via network or local socket, using fastcgi protocol instead of HTTP."
+ }
+ "-U" = {
+ value = "$phpfpm_status_user$"
+ description = "Username for basic auth"
+ }
+ "-P" = {
+ value = "$phpfpm_status_pass$"
+ description = "Password for basic auth"
+ }
+ "-r" = {
+ value = "$phpfpm_status_realm$"
+ description = "Realm for basic auth"
+ }
+ "-d" = {
+ set_if = "$phpfpm_status_debug$"
+ description = "Debug mode (show http request response)"
+ }
+ "-t" = {
+ value = "$phpfpm_status_timeout$"
+ description = "timeout in seconds (Default: 15)"
+ }
+ "-S" = {
+ set_if = "$phpfpm_status_ssl$"
+ description = "Wether we should use HTTPS instead of HTTP. Note that you can give some extra parameters to this settings. Default value is 'TLSv1' but you could use things like 'TLSv1_1' or 'TLSV1_2' (or even 'SSLv23:!SSLv2:!SSLv3' for old stuff)."
+ }
+ "-x" = {
+ set_if = "$phpfpm_status_verifyssl$"
+ description = "verify certificate and hostname from ssl cert, default is 0 (no security), set it to 1 to really make SSL peer name and certificater checks."
+ }
+ "-X" = {
+ value = "$phpfpm_status_cacert$"
+ description = "Full path to the cacert.pem certificate authority used to verify ssl certificates (use with --verifyssl). if not given the cacert from Mozilla::CA cpan plugin will be used."
+ }
+ "-w" = {
+ value = "$phpfpm_status_warn$"
+ description = "MIN_AVAILABLE_PROCESSES,PROC_MAX_REACHED,QUEUE_MAX_REACHED number of available workers, or max states reached that will cause a warning. -1 for no warning"
+ }
+ "-c" = {
+ value = "$phpfpm_status_critical$"
+ description = "MIN_AVAILABLE_PROCESSES,PROC_MAX_REACHED,QUEUE_MAX_REACHED number of available workers, or max states reached that will cause an error, -1 for no CRITICAL"
+ }
+ }
+
+ vars.phpfpm_status_hostname = "$address$"
+}