This release introduces a new feature named real-time checks. With the newreal-time checks it is possible to monitor specific things a lot shorterintervals than the normal interval of 60 seconds.
This feature has mainly been developed to get detailed graphs for some valueswhich change often like for example the memory usage or CPU utilization. Butnot only the performance data is updated in this interval. The complete servicestate is updated which may also result in faster notifications.
The real-time checks are working like this: The core is listening on the networkfor incoming real-time check results, which are basically UDP packets sent bythe agents in an interval of one second. This needs to be enabled using theconfiguration option Global Settings > Enable handling of Real-Time Checks.You need to configure the UDP port to listen on (6559 by default) and the secretwhich is used to decrypt the real-time checks. This secret needs to be equal forthe Check_MK server and all agents which are sending real-time check results.
The agents need to be configured to send real-time check results. This can currentlybe done for the Linux and Windows Agents. On linux you need to create a file/etc/check_mk/real_time_checks.cfg with the following contents:
RTC_TIMEOUT=90 RTC_PORT=6559 RTC_SECRET='hallo123' RTC_SECTIONS="" RTC_SECTIONS+="mem " RTC_SECTIONS+="cpu "
It is a good idea to reduce permissions on this file because it contains thereal-time check secret which is shared between the Check_MK agent and the serverto encrypt the transfered data. For example chmod 640 /etc/check_mk/real_time_checks.cfgis a good idea.
On Windows you need to add the following to the [global] sectionof your check_mk.ini and restart the Check_MK service:
realtime_port = 6559 realtime_sections = mem winperf realtime_timeout = 90 passphrase = hallo123
The agent is working as usual, waiting for connections from the Check_MK server.Once a Check_MK server is contacting the agent, the agent is responding withit's regular response. Now, when real-time checks are enabled, the agent issending one UDP packet for each enabled section per second to the host addresswhich had queried the Check_MK agent, which is normally the Check_MK serversaddress.
The data which can be processed as real-time check is limited, so we limit thesections which can be sent as real-time checks. Currently you can enable onlythe mem and cpu sections on linux and mem andwinperf on Windows systems. This might be extended in the future.
To get detailed graphs, you now need to configure your RRD databases to be ableto store these detailed information. This can be done via the rulesetHost & Service Parameters > Monitoring Configuration > Configuration of RRD databases of services.
You need to create a new rule and first need to ensure that you only apply therule to checks which get real-time check information as the RRDs of theseservices need more disk space. So you should only select the CPU/Memory servicesof hosts which are sending real-time check results.Then you need to configure this rule to have a 1 second precision for a durationof your choice.
Just one example configuration for having:
You need to configure these numbers:
After you configured this, you need to run cmk --convert-rrds -v to convertthe existing RRDs.
After the conversion has finished and processing of the real-time checks workscorrectly, you should see the service state, output and graphs e.g. of the "CPU utilisation"service updating in an interval of one second.