snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
This commit is contained in:
167
puppet/kandra/files/nagios4/commands.cfg
Normal file
167
puppet/kandra/files/nagios4/commands.cfg
Normal file
@@ -0,0 +1,167 @@
|
||||
###############################################################################
|
||||
# COMMANDS.CFG - SAMPLE COMMAND DEFINITIONS FOR NAGIOS
|
||||
###############################################################################
|
||||
|
||||
|
||||
################################################################################
|
||||
# NOTIFICATION COMMANDS
|
||||
################################################################################
|
||||
|
||||
# 'notify-host-by-email' command definition
|
||||
define command{
|
||||
command_name notify-host-by-email
|
||||
command_line /usr/bin/printf "%b" "Subject: $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$\n\n***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/bin/msmtp -C /var/lib/nagios/msmtprc -vt $CONTACTEMAIL$ 2>&1
|
||||
}
|
||||
|
||||
# 'notify-service-by-email' command definition
|
||||
define command{
|
||||
command_name notify-service-by-email
|
||||
command_line /usr/bin/printf "%b" "Subject: $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$\n\n***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n$LONGSERVICEOUTPUT$\n" | /usr/bin/msmtp -C /var/lib/nagios/msmtprc -vt $CONTACTEMAIL$
|
||||
}
|
||||
|
||||
# Zulip commands
|
||||
define command {
|
||||
command_name notify-host-by-zulip
|
||||
command_line /usr/local/share/zulip/integrations/nagios/nagios-notify-zulip --stream="kandra ops" --type="$NOTIFICATIONTYPE$" --host="$HOSTADDRESS$" --state="$HOSTSTATE$" --output="$HOSTOUTPUT$" --long-output="$LONGHOSTOUTPUT$"
|
||||
}
|
||||
|
||||
define command {
|
||||
command_name notify-service-by-zulip
|
||||
command_line /usr/local/share/zulip/integrations/nagios/nagios-notify-zulip --stream="kandra ops" --type="$NOTIFICATIONTYPE$" --host="$HOSTADDRESS$" --service="$SERVICEDESC$" --state="$SERVICESTATE$" --output="$SERVICEOUTPUT$" --long-output="$LONGSERVICEOUTPUT$"
|
||||
}
|
||||
|
||||
################################################################################
|
||||
# HOST CHECK COMMANDS
|
||||
################################################################################
|
||||
|
||||
# On Debian, check-host-alive is being defined from within the
|
||||
# monitoring-plugins-basic package
|
||||
|
||||
################################################################################
|
||||
# PERFORMANCE DATA COMMANDS
|
||||
################################################################################
|
||||
|
||||
|
||||
# 'process-host-perfdata' command definition
|
||||
define command{
|
||||
command_name process-host-perfdata
|
||||
command_line /usr/bin/printf "%b" "$LASTHOSTCHECK$\t$HOSTNAME$\t$HOSTSTATE$\t$HOSTATTEMPT$\t$HOSTSTATETYPE$\t$HOSTEXECUTIONTIME$\t$HOSTOUTPUT$\t$HOSTPERFDATA$\n" >> /var/lib/nagios4/host-perfdata.out
|
||||
}
|
||||
|
||||
|
||||
# 'process-service-perfdata' command definition
|
||||
define command{
|
||||
command_name process-service-perfdata
|
||||
command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /var/lib/nagios4/service-perfdata.out
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_remote_disk
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p 22 -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/check_disk -W$ARG1$ -K$ARG2$ -w $ARG1$ -c $ARG2$ -A -l -X cgroup -X tmpfs -X devtmpfs -X squashfs -X configfs -X tracefs'
|
||||
}
|
||||
|
||||
# Copy of check_remote_disk without the SSH
|
||||
define command{
|
||||
command_name check_local_disk
|
||||
command_line /usr/lib/nagios/plugins/check_disk -W$ARG1$ -K$ARG2$ -w $ARG1$ -c $ARG2$ -A -l -X cgroup -X tmpfs -X devtmpfs -X squashfs -X configfs -X tracefs
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_debian_packages
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p $ARG1$ -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_base/check_debian_packages'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_ntp_time
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p $ARG1$ -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/check_ntp_time -H $ARG2$ -w .5 -c 1'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_queue_worker_errors
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p $ARG1$ -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_app_frontend/check_queue_worker_errors'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_postgres
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p 22 -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/bin/check_postgres --dbname=$ARG1$ --dbuser=$ARG2$ --action $ARG3$'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_postgres_alert_args
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p 22 -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/bin/check_postgres --dbname=$ARG1$ --dbuser=$ARG2$ --action $ARG3$ --warning="$ARG4$" --critical="$ARG5$"'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_redis_ssh
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p $ARG1$ -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/check_redis -H 127.0.0.1 -C /var/lib/nagios/redis_password'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_rabbitmq_queues
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p $ARG1$ -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_app_frontend/check_cron_file /var/lib/nagios_state/check-rabbitmq-results'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_send_receive_time
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p $ARG1$ -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_app_frontend/check_cron_file /var/lib/nagios_state/check_send_receive_state'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_rabbitmq_consumers
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p 22 -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_app_frontend/check_cron_file /var/lib/nagios_state/check-rabbitmq-consumers-$ARG1$'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_analytics_state
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -p 22 -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_app_frontend/check_cron_file /var/lib/nagios_state/check-analytics-state 4000' # Last argument is acceptable delay in seconds.
|
||||
}
|
||||
|
||||
define command {
|
||||
command_name check_named_procs
|
||||
command_line /usr/lib/nagios/plugins/check_procs -C $ARG1$ -w $ARG2$ -c $ARG3$
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_procs_nokthreads
|
||||
command_line /usr/lib/nagios/plugins/check_procs -w '$ARG1$' -c '$ARG2$' -k
|
||||
}
|
||||
|
||||
define command {
|
||||
command_name check_fts_update_log
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/local/bin/process_fts_updates --nagios-check'
|
||||
}
|
||||
|
||||
define command {
|
||||
command_name check_postgresql_replication_lag
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_postgresql/check_postgresql_replication_lag'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_worker_memory
|
||||
command_line /usr/lib/nagios/plugins/check_by_ssh -l nagios -t 30 -i /var/lib/nagios/.ssh/id_ed25519 -H $HOSTADDRESS$ -C '/usr/lib/nagios/plugins/zulip_app_frontend/check_worker_memory'
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_https_status
|
||||
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$HOSTADDRESS$' -I '$HOSTADDRESS$' --expect=200,302,401
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_ssl_certificate
|
||||
command_line /usr/lib/nagios/plugins/check_http --ssl -H '$ARG1$' -I '$ARG1$' --sni --expect=200,302,401 -C30,14
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_proxy_status
|
||||
command_line /usr/lib/nagios/plugins/check_http --ssl -H 'www.google.com' -u 'https://www.google.com/' -j CONNECT -I '$HOSTADDRESS$' -p 4750 --expect=200,302,401 -s Search
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_apt_repo_status
|
||||
command_line /usr/lib/nagios/plugins/check_http --sni --ssl -H '$ARG1$' -u 'https://$ARG1$$ARG2$/dists/stable/Release' --expect=200 -s Contents-amd64
|
||||
}
|
||||
|
||||
define command{
|
||||
command_name check_camo
|
||||
command_line /usr/lib/nagios/plugins/check_http --sni --ssl -H '$ARG1$' -u '$ARG2$' -k 'Accept-Encoding: identity' -w '$ARG3$' -c '$ARG4$'
|
||||
}
|
||||
19
puppet/kandra/files/nagios4/conf.d/generic-host_nagios2.cfg
Normal file
19
puppet/kandra/files/nagios4/conf.d/generic-host_nagios2.cfg
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generic host definition template - This is NOT a real host, just a template!
|
||||
|
||||
define host{
|
||||
name generic-host ; The name of this host template
|
||||
notifications_enabled 1 ; Host notifications are enabled
|
||||
event_handler_enabled 1 ; Host event handler is enabled
|
||||
flap_detection_enabled 0
|
||||
failure_prediction_enabled 1 ; Failure prediction is enabled
|
||||
process_perf_data 1 ; Process performance data
|
||||
retain_status_information 1 ; Retain status information across program restarts
|
||||
retain_nonstatus_information 1 ; Retain non-status information across program restarts
|
||||
check_command check_tcp!22
|
||||
max_check_attempts 10
|
||||
notification_interval 0
|
||||
notification_period 24x7
|
||||
notification_options d,u,r
|
||||
contact_groups admins
|
||||
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST, JUST A TEMPLATE!
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
# generic service template definition
|
||||
define service{
|
||||
name generic-service ; The 'name' of this service template
|
||||
active_checks_enabled 1 ; Active service checks are enabled
|
||||
passive_checks_enabled 1 ; Passive service checks are enabled/accepted
|
||||
parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance problems)
|
||||
obsess_over_service 1 ; We should obsess over this service (if necessary)
|
||||
check_freshness 0 ; Default is to NOT check service 'freshness'
|
||||
notifications_enabled 1 ; Service notifications are enabled
|
||||
event_handler_enabled 1 ; Service event handler is enabled
|
||||
flap_detection_enabled 0
|
||||
failure_prediction_enabled 1 ; Failure prediction is enabled
|
||||
process_perf_data 1 ; Process performance data
|
||||
retain_status_information 1 ; Retain status information across program restarts
|
||||
retain_nonstatus_information 1 ; Retain non-status information across program restarts
|
||||
notification_interval 0 ; Only send notifications on status change by default.
|
||||
is_volatile 0
|
||||
check_period 24x7
|
||||
check_interval 1
|
||||
retry_interval 1
|
||||
max_check_attempts 2
|
||||
notification_period 24x7
|
||||
notification_options w,u,c,r
|
||||
contact_groups admins
|
||||
register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE!
|
||||
}
|
||||
82
puppet/kandra/files/nagios4/conf.d/hostgroups.cfg
Normal file
82
puppet/kandra/files/nagios4/conf.d/hostgroups.cfg
Normal file
@@ -0,0 +1,82 @@
|
||||
define hostgroup {
|
||||
hostgroup_name all
|
||||
alias All servers
|
||||
members *
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name aws_host
|
||||
alias Hosts in AWS
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name non_aws_host
|
||||
alias Hosts not in AWS
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name pageable_servers
|
||||
alias Servers for whom we want to page
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name not_pageable_servers
|
||||
alias Servers for whom we do not want to page
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name flaky_servers
|
||||
alias Servers for whom we do not page, and have flakier net
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name fullstack
|
||||
alias Fullstack hosts
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name frontends
|
||||
alias Frontend web servers
|
||||
hostgroup_members staging_frontends, prod_frontends
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name staging_frontends
|
||||
alias Staging frontend web servers
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name prod_frontends
|
||||
alias Production frontend web servers
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name redis
|
||||
alias Redis servers
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name postgresql
|
||||
alias PostgreSQL app servers
|
||||
hostgroup_members postgresql_primary, postgresql_replica
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name postgresql_primary
|
||||
alias Primary PostgreSQL app servers
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name postgresql_replica
|
||||
alias Replica PostgreSQL servers
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name smokescreen
|
||||
alias Servers that run the Smokescreen HTTP proxy
|
||||
}
|
||||
|
||||
define hostgroup {
|
||||
hostgroup_name other
|
||||
alias Other servers
|
||||
}
|
||||
436
puppet/kandra/files/nagios4/conf.d/services.cfg
Normal file
436
puppet/kandra/files/nagios4/conf.d/services.cfg
Normal file
@@ -0,0 +1,436 @@
|
||||
### SSH
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description SSH - pageable
|
||||
hostgroup_name pageable_servers
|
||||
check_command check_ssh
|
||||
contact_groups page_admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description SSH
|
||||
hostgroup_name not_pageable_servers
|
||||
check_command check_ssh
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description SSH for flaky machines
|
||||
hostgroup_name flaky_servers
|
||||
check_command check_ssh
|
||||
normal_check_interval 2
|
||||
retry_check_interval 2
|
||||
max_check_attempts 5
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
### Disk usage
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Disk usage - pageable
|
||||
hostgroup_name pageable_servers
|
||||
check_command check_remote_disk!20%!10%
|
||||
contact_groups ops_message
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Disk usage
|
||||
hostgroup_name not_pageable_servers
|
||||
check_command check_remote_disk!20%!10%
|
||||
contact_groups ops_message
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Disk usage for flaky machines
|
||||
hostgroup_name flaky_servers
|
||||
check_command check_remote_disk!20%!10%
|
||||
normal_check_interval 2
|
||||
retry_check_interval 2
|
||||
max_check_attempts 5
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
### System updates
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Debian update availability
|
||||
hostgroup_name all
|
||||
check_command check_debian_packages!22
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
### NTP
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check AWS NTP time
|
||||
hostgroup_name aws_host
|
||||
check_command check_ntp_time!22!169.254.169.123
|
||||
max_check_attempts 3
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check non-AWS NTP time
|
||||
hostgroup_name non_aws_host
|
||||
check_command check_ntp_time!22!pool.ntp.org
|
||||
max_check_attempts 5
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### Service groups
|
||||
|
||||
#### Application frontends
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description HTTPS
|
||||
hostgroup_name prod_frontends, fullstack
|
||||
check_command check_https_status
|
||||
contact_groups page_admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description HTTPS
|
||||
hostgroup_name staging_frontends
|
||||
check_command check_https_status
|
||||
contact_groups ops_message
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check send receive time
|
||||
hostgroup_name prod_frontends, fullstack
|
||||
check_command check_send_receive_time!22
|
||||
max_check_attempts 2
|
||||
contact_groups page_admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check send receive time
|
||||
hostgroup_name staging_frontends
|
||||
check_command check_send_receive_time!22
|
||||
max_check_attempts 2
|
||||
contact_groups ops_message
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check analytics state
|
||||
hostgroup_name prod_frontends
|
||||
check_command check_analytics_state!22
|
||||
max_check_attempts 2
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
#### PostgreSQL
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL connection
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres!zulip!nagios!connection
|
||||
contact_groups page_admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL autovac_freeze
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres_alert_args!zulip!nagios!autovac_freeze!101%!105%
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL backends
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres!zulip!nagios!backends
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL disabled triggers
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres!zulip!nagios!disabled_triggers
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL hitratio
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres!zulip!nagios!hitratio
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
# define service {
|
||||
# use generic-service
|
||||
# service_description Check PostgreSQL locks
|
||||
# hostgroup_name postgresql
|
||||
# check_command check_postgres_alert_args!zulip!nagios!locks!400!600
|
||||
# contact_groups admins
|
||||
# }
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL query_time
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres_alert_args!zulip!nagios!query_time!20 seconds!40 seconds
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL sequence
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres!zulip!nagios!sequence
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL timesync
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres!zulip!nagios!timesync
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
# define service {
|
||||
# use generic-service
|
||||
# service_description Check PostgreSQL txn_idle
|
||||
# hostgroup_name postgresql
|
||||
# check_command check_postgres_alert_args!zulip!nagios!txn_idle!20 seconds!40 seconds
|
||||
# contact_groups admins
|
||||
# }
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL txn_time
|
||||
hostgroup_name postgresql
|
||||
check_command check_postgres_alert_args!zulip!nagios!txn_time!20 seconds!40 seconds
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check FTS update log length
|
||||
hostgroup_name postgresql_primary
|
||||
check_command check_fts_update_log
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check PostgreSQL replication lag
|
||||
hostgroup_name postgresql_primary, postgresql_replica
|
||||
check_command check_postgresql_replication_lag
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
#### Redis
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check redis service
|
||||
# Both redis and frontends hostgroups, since frontends SSH proxy redis to themselves
|
||||
hostgroup_name prod_frontends, fullstack, redis
|
||||
check_command check_redis_ssh!22
|
||||
max_check_attempts 3
|
||||
contact_groups page_admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check redis service
|
||||
hostgroup_name staging_frontends
|
||||
check_command check_redis_ssh!22
|
||||
max_check_attempts 3
|
||||
contact_groups ops_message
|
||||
}
|
||||
|
||||
#### RabbitMQ / queue workers
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check RabbitMQ queue sizes
|
||||
hostgroup_name prod_frontends, fullstack
|
||||
check_command check_rabbitmq_queues!22
|
||||
# Workaround weird checks 40s after first error causing alerts
|
||||
# from a single failure because cron hasn't run again yet
|
||||
max_check_attempts 3
|
||||
contact_groups page_admins_and_warn_czo
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check RabbitMQ queue sizes
|
||||
hostgroup_name staging_frontends
|
||||
check_command check_rabbitmq_queues!22
|
||||
# Workaround weird checks 40s after first error causing alerts
|
||||
# from a single failure because cron hasn't run again yet
|
||||
max_check_attempts 3
|
||||
contact_groups ops_message
|
||||
}
|
||||
|
||||
define service {
|
||||
name rabbitmq-consumer-service
|
||||
use generic-service
|
||||
service_description RabbitMQ consumer check template
|
||||
hostgroup_name frontends
|
||||
# Workaround weird checks 40s after first error causing alerts
|
||||
# from a single failure because cron hasn't run again yet
|
||||
max_check_attempts 3
|
||||
contact_groups admins
|
||||
register 0
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ notify_tornado consumers
|
||||
hostgroup_name prod_frontends, fullstack
|
||||
check_command check_rabbitmq_consumers!notify_tornado
|
||||
contact_groups page_admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ notify_tornado consumers
|
||||
hostgroup_name staging_frontends
|
||||
check_command check_rabbitmq_consumers!notify_tornado
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ deferred_work consumers
|
||||
check_command check_rabbitmq_consumers!deferred_work
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ digest digest_emails consumers
|
||||
check_command check_rabbitmq_consumers!digest_emails
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ email_mirror consumers
|
||||
check_command check_rabbitmq_consumers!email_mirror
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ email_senders consumers
|
||||
check_command check_rabbitmq_consumers!email_senders
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ deferred_email_senders consumers
|
||||
check_command check_rabbitmq_consumers!deferred_email_senders
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ embed_links consumers
|
||||
check_command check_rabbitmq_consumers!embed_links
|
||||
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ embedded_bots consumers
|
||||
check_command check_rabbitmq_consumers!embedded_bots
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ missedmessage_emails consumers
|
||||
check_command check_rabbitmq_consumers!missedmessage_emails
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ missedmessage_mobile_notifications consumers
|
||||
check_command check_rabbitmq_consumers!missedmessage_mobile_notifications
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ outgoing_webhooks consumers
|
||||
check_command check_rabbitmq_consumers!outgoing_webhooks
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ soft_reactivation consumers
|
||||
check_command check_rabbitmq_consumers!soft_reactivation
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ thumbnail consumers
|
||||
check_command check_rabbitmq_consumers!thumbnail
|
||||
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ user_activity consumers
|
||||
check_command check_rabbitmq_consumers!user_activity
|
||||
}
|
||||
|
||||
define service {
|
||||
use rabbitmq-consumer-service
|
||||
service_description Check RabbitMQ user_activity_interval consumers
|
||||
check_command check_rabbitmq_consumers!user_activity_interval
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check worker memory usage
|
||||
hostgroup_name frontends
|
||||
check_command check_worker_memory
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check for queue worker errors.
|
||||
hostgroup_name frontends
|
||||
check_command check_queue_worker_errors!22
|
||||
contact_groups admins
|
||||
}
|
||||
|
||||
|
||||
|
||||
### Smokescreen
|
||||
|
||||
define service {
|
||||
use generic-service
|
||||
service_description Check Smokescreen proxy
|
||||
hostgroup_name smokescreen
|
||||
check_command check_proxy_status
|
||||
contact_groups page_admins
|
||||
}
|
||||
50
puppet/kandra/files/nagios4/conf.d/timeperiods_nagios2.cfg
Normal file
50
puppet/kandra/files/nagios4/conf.d/timeperiods_nagios2.cfg
Normal file
@@ -0,0 +1,50 @@
|
||||
###############################################################################
|
||||
# timeperiods.cfg
|
||||
###############################################################################
|
||||
|
||||
# This defines a timeperiod where all times are valid for checks,
|
||||
# notifications, etc. The classic "24x7" support nightmare. :-)
|
||||
|
||||
define timeperiod{
|
||||
timeperiod_name 24x7
|
||||
alias 24 Hours A Day, 7 Days A Week
|
||||
sunday 00:00-24:00
|
||||
monday 00:00-24:00
|
||||
tuesday 00:00-24:00
|
||||
wednesday 00:00-24:00
|
||||
thursday 00:00-24:00
|
||||
friday 00:00-24:00
|
||||
saturday 00:00-24:00
|
||||
}
|
||||
|
||||
# Here is a slightly friendlier period during work hours
|
||||
define timeperiod{
|
||||
timeperiod_name workhours
|
||||
alias Standard Work Hours
|
||||
monday 09:00-17:00
|
||||
tuesday 09:00-17:00
|
||||
wednesday 09:00-17:00
|
||||
thursday 09:00-17:00
|
||||
friday 09:00-17:00
|
||||
}
|
||||
|
||||
# The complement of workhours
|
||||
define timeperiod{
|
||||
timeperiod_name nonworkhours
|
||||
alias Non-Work Hours
|
||||
sunday 00:00-24:00
|
||||
monday 00:00-09:00,17:00-24:00
|
||||
tuesday 00:00-09:00,17:00-24:00
|
||||
wednesday 00:00-09:00,17:00-24:00
|
||||
thursday 00:00-09:00,17:00-24:00
|
||||
friday 00:00-09:00,17:00-24:00
|
||||
saturday 00:00-24:00
|
||||
}
|
||||
|
||||
# This one is a favorite: never :)
|
||||
define timeperiod{
|
||||
timeperiod_name never
|
||||
alias Never
|
||||
}
|
||||
|
||||
# end of file
|
||||
1360
puppet/kandra/files/nagios4/nagios.cfg
Normal file
1360
puppet/kandra/files/nagios4/nagios.cfg
Normal file
File diff suppressed because it is too large
Load Diff
31
puppet/kandra/files/nagios4/resource.cfg
Normal file
31
puppet/kandra/files/nagios4/resource.cfg
Normal file
@@ -0,0 +1,31 @@
|
||||
###########################################################################
|
||||
#
|
||||
# RESOURCE.CFG - Resource File for Nagios
|
||||
#
|
||||
# You can define $USERx$ macros in this file, which can in turn be used
|
||||
# in command definitions in your host config file(s). $USERx$ macros are
|
||||
# useful for storing sensitive information such as usernames, passwords,
|
||||
# etc. They are also handy for specifying the path to plugins and
|
||||
# event handlers - if you decide to move the plugins or event handlers to
|
||||
# a different directory in the future, you can just update one or two
|
||||
# $USERx$ macros, instead of modifying a lot of command definitions.
|
||||
#
|
||||
# The CGIs will not attempt to read the contents of resource files, so
|
||||
# you can set restrictive permissions (600 or 660) on them.
|
||||
#
|
||||
# Nagios supports up to 32 $USERx$ macros ($USER1$ through $USER32$)
|
||||
#
|
||||
# Resource files may also be used to store configuration directives for
|
||||
# external data sources like MySQL...
|
||||
#
|
||||
###########################################################################
|
||||
|
||||
# Sets $USER1$ to be the path to the plugins
|
||||
$USER1$=/usr/lib/nagios/plugins
|
||||
|
||||
# Sets $USER2$ to be the path to event handlers
|
||||
#$USER2$=/usr/lib/nagios/plugins/eventhandlers
|
||||
|
||||
# Store some usernames and passwords (hidden from the CGIs)
|
||||
#$USER3$=someuser
|
||||
#$USER4$=somepassword
|
||||
7
puppet/kandra/files/nagios4/zuliprc
Normal file
7
puppet/kandra/files/nagios4/zuliprc
Normal file
@@ -0,0 +1,7 @@
|
||||
# Zulip, Inc's internal nagios plugin configuration.
|
||||
# The plugin and example config are under api/integrations/
|
||||
|
||||
[api]
|
||||
email = nagios-bot@zulip.com
|
||||
key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
|
||||
site = https://staging.zulip.com
|
||||
Reference in New Issue
Block a user