...
Panel |
---|
borderColor | black |
---|
bgColor | #f8f8f8 |
---|
title | Table of Contents |
---|
|
|
Debug the Smart Ping in the cmc.log
- Increase the log to debug
Checkin Check in the cmc.log (as site user)
Code Block |
---|
|
grep -e <IP> -e <HOSTNAME> ~/var/log/cmc.log | grep -e "smartping timeout" -e "received p" |
Livestatus query
With this command, you can check the check interval, retry interval, Smart Ping timeout, and the max check attempts of the host:
...
Code Block |
---|
|
OMD[mysite]:~$ lq "GET hosts\nColumns: host_name check_interval retry_interval smartping_timeout max_check_attempts state state_type\nFilter: host_name = <Myhost>" |
Debugging the Smart Ping via cli
To use this command, you must create (as a site user) a file dump.py in ~/local/bin. The file should look like this: Debugging of Smart Ping#thecontentof./dump.py
Code Block |
---|
|
OMD[mysite]:~/local/bin$ ~/lib/cmc/icmpreceiver |python3 ~/local/bin/dump.py |grep --line-buffered "127.0.0.1" |perl -pe 'use POSIX strftime; print strftime "[%Y-%m-%d %H:%M:%S] ", localtime' |
...
If Perl is not possible, you will find it here: https://unix.stackexchange.com/questions/26728/prepending-a-timestamp-to-each-line-of-output-from-a-command
the content of ./dump.py
Code Block |
---|
|
#!/usr/bin/env python3
import ipaddress
import sys
def main() -> None:
while True:
addr = ipaddress.ip_address(sys.stdin.buffer.read(4))
sys.stdout.write(f"{addr!s}\n")
sys.stdout.flush()
if __name__ == "__main__":
main() |
...
Code Block |
---|
|
~/lib/cmc/icmpreceiver | perl -ne 'map { CORE::say join "." => unpack "CCCC", pack "L", $_ } unpack "L*";' |
Related articles
Filter by label (Content by label) |
---|
showLabels | false |
---|
max | 5 |
---|
spaces | KB |
---|
showSpace | false |
---|
sort | modified |
---|
reverse | true |
---|
type | page |
---|
cql | label in ( "smart_ping" , "smartping" , "troubleshooting" ) and type = "page" and space = "KB" |
---|
labels | smart_ping smartping |
---|
|
...