Monitoring nginx and app servers¶
The server is already configured on localhost to send the nginx status at nginx_status URL
on the server cli will show the status . Local checks (for example the check_mk nginx status module) should just report the details fine to remote monitoring servers.
Monit configuration for nginx Below example is for init .For systemd replace “/etc/init.d/nginx start/stop” with “/usr/bin/systemctl start/stop nginx.service”
check process nginx with pidfile /var/run/nginx.pid start program = "/etc/init.d/nginx start" stop program = "/etc/init.d/nginx stop"
php-fpm can be configured to provide detailed status info per pool. But since this has its own data confidentiality risks this is not enabled by default on the php-fpm pool config file. But all php-based templated include a location block to give a ping signal to php-fpm and the fpm pool is setup to respond with a pong
will return with a pong output if php-fpm pool is working fine .
This can be easily configured for status checking
Monit configuration useful to restart php-fpm in case of issues Below example is for systemd .For init replace “/usr/bin/systemctl start/stop ndeploy_backends.service” with “/etc/init.d/ndeploy_backends start/stop”
check host mydomain.com with address mydomain.com start program = "/usr/bin/systemctl start ndeploy_backends.service" stop program = "/usr/bin/systemctl stop ndeploy_backends.service" if failed url https:/mydomain.com/pingphpfpm and content = "pong" with timeout 60 seconds then restart
Monitoring Xtendweb cPanel cluster¶
XtendWeb cPanel web cluster require monitoring of File syncing and database replication. This is provided 24x7 with our Proactive cluster administration plan. AUTOM8N use check_mk+nagios for monitoring the infrastructure .
If you have a Proactive cluster support plan do
yum --enablerepo=ndeploy install gnusys-monitoring
Database replication health should be monitored . Since XtendWeb cPanel web cluster use MySQL Master-Master replication ,the ‘seconds behind master’ field in cPanel master server and DB slave server must be monitored . This is automatically done if you enable MySQL monitoring via local check in check_mk
Unison File Sync status¶
The Following check_mk local check can monitor unison file sync
#!/usr/bin/env python import os import psutil import yaml __author__ = "Anoop P Alias" __copyright__ = "Copyright Anoop P Alias" __license__ = "GPL" __email__ = "[email protected]" installation_path = "/opt/nDeploy" # Absolute Installation Path cluster_config_file = installation_path+"/conf/ndeploy_cluster.yaml" if os.path.isfile(cluster_config_file): filesync_fail_count = 0 status =  with open(cluster_config_file, 'r') as cluster_data_yaml: cluster_data_yaml_parsed = yaml.safe_load(cluster_data_yaml) for servername in cluster_data_yaml_parsed.keys(): filesync_ok = False for myprocess in psutil.process_iter(): mycmdline = myprocess.cmdline() if '/usr/bin/unison' in mycmdline and servername in mycmdline: filesync_ok = True else: pass if not filesync_ok: filesync_fail_count = filesync_fail_count+1 status.append(servername+":FAIL") if filesync_fail_count > 0: print("2 unison - "+str(status)) else: print("0 unison - OK")
Health of websites and application servers must be monitored in all master and slave cPanel servers in a cluster setup.