I’m struggling now with pretty weird situation. I would like to know which all ports is Check_MK using.
We have Master instance (let’s call it master1 and multiple satelites (let’s call one of them satelite1. That’s okay, everything works many years.
Now I have to connect another satelite (satelite2), but we don’t have direct network connection between master1 and satelite2. But satelite2 has direct connect to satelite1. So we made iptables DNAT on satelite1, so satelite1 is kind of jump server between master1 and satelite2:
master1 -> satelite1
master1 -> satelite1 DNAT -> satelite2
On satelite1 we are DNATing ports:
80 --> 8080
443 --> 8443
6557 --> 9000
On satelite2 we are running official Check_MK Docker image 1.6.0p11 on Kubernetes. There is no 100% compatibility with Kubernetes, we had to do some workarounds with tmpfs to run in properly.
On Kubernetes LoadBalancer we are redirecting:
9000 --> 6557
8080 --> 5001 (I made new site inside container, that’s why it is not 5000)
On Docker image, via omd config I enabled livestatus on port 6557, enabled distributed monitoring.
With these crazy port forwarding I was able to Login Docker image into master1 instance in Distributed Monitoring section.
However master1 instance can’t get Livestatus info.
I get error:
“Unhandled exception: 400: Site connection not initiated (Heartbeat timeout after 2.0 sec).”
Am I missing some other port in forwarding?
This is output from Docker container. Why it is listening also on 6556? Why only this port has PID, and 5001 doesn’t have PID of running Apache?
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:5001 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:6556 0.0.0.0:* LISTEN 55/xinetd
tcp 0 0 0.0.0.0:6557 0.0.0.0:* LISTEN -