We have a checkmk entreprise standard edition and I need to monitor every websites on our infrastructure.
For that we have nginx servers as rproxy. I tried to develop a custom script that would send to the server the list of servernames through the agent and the server would call the check_http script for each one.
Problem is : the processing take way too long, for 300ish websites it can go up to 10min of processing, so the host is always in stale mode and checkmk goes in timeout.
Did you ever encounter that need ? And how can it be done ?
The best would be for it to be automated as much as it can be.
From where do you want your websites to be checked?
You could create an MRPE configuration on the host itself that calls check_http asynchronously and in parallel. Or you could move that configuration to the monitoring server’s agent and let it call check_http.
Calling check_http from a check plugin is not recommended as it cannot be done in parallel. A check plugin also should not call external tools.
Active checks would be an alternative but they are not as performant.
At first I thought of doing it on the client’s side.
Then I learn there was a check_http script on the server which could do that so I tried to call it but as you said it can’t be done in parallel and took almost 10m to process around 300 websites.
The best thing would be to be check from the server, as it can use the check_http script, retrieve response’s performance and graph it.
Now, if it’s not efficient nor possible with a lot of websites why not do it on the client side.
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed. Contact an admin if you think this should be re-opened.