TECHZEN Zenoss User Community ARCHIVE  

Serving static content from CC

Subject: Serving static content from CC
Author: Jim R
Posted: 2015-12-11 11:51

I have Control Center in 2 data centers with a Netscaler VIP in front.

I am not setting up an HA cluster with them, but a disasterrecovery/failover cluster.

The Netscaler is looking to get /ping.html from the control center server as a healthcheck. I'd like to keep this check as my failover plan is currently manual, so adding/removing the file allows me to easily control the failover.

The issue is that I can add ping.html to $SERVICED_HOME/share/web/static, but it will only be server from the /static/ping.html path. After looking at the CC source, it appears that serving anything other than index.html off of the root path is not configurable.

Is there a way to have the IRL https://SERVER/ping.html return the file, or at least a 200 without forking Control Center



Subject: Why you want to hack CC, when
Author: Jan Garaj
Posted: 2015-12-11 16:56

Why you want to hack CC, when you can use vhosts/container with your own static content Why you want to static content for load balancer check Static content can be OK, however dynamic parts can be broken. My recommendation: create your own container with all required healthchecks (DB, FS, network, ...) and publish it as /healthcheck (as response code, response will provide more details eventually). If you choose right implementation language (e.g. C, Go), then healthcheck will be pretty fast (my implementation of some microservice healthcheck in Go 3ms) => nice healthcheck url for load balancer.

Devops Monitoring Expert advice: Dockerize/automate/monitor all the things.

DevOps stack: Docker / Kubernetes / Mesos / Zabbix / Zenoss / Grafana / Puppet / Ansible / Vagrant / Terraform / Elasticsearch



Subject: I don't want to test the
Author: Jim R
Posted: 2015-12-14 14:03

I don't want to test the availability of a service running under Control Center, I want to test Control Center's availability.

More specifically, I want to control which control ceenter my load balancer sends traffic to. To do that, I need to have some static content servered, or not served, and there are specific requirements for the URLS.



< Previous
How do I properly delete a device in Zenoss?
  Next
Collector performance graphs
>