{"id":15064076,"url":"https://github.com/pin0l33kz/custom_checkmk_scripts","last_synced_at":"2026-01-02T14:40:22.524Z","repository":{"id":254027929,"uuid":"845269768","full_name":"PIN0L33KZ/custom_checkmk_scripts","owner":"PIN0L33KZ","description":"A collection of my custom CheckMK scripts to monitor my Infrastructure.","archived":false,"fork":false,"pushed_at":"2024-08-31T03:32:32.000Z","size":36,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-22T09:28:03.668Z","etag":null,"topics":["checkmk","powershell","python","scripts"],"latest_commit_sha":null,"homepage":"https://www.pinoleekz.de","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PIN0L33KZ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T23:28:36.000Z","updated_at":"2024-08-31T03:32:36.000Z","dependencies_parsed_at":"2024-10-13T00:01:33.942Z","dependency_job_id":"54aa4c68-ea22-4da1-90bf-1f5b93dc498e","html_url":"https://github.com/PIN0L33KZ/custom_checkmk_scripts","commit_stats":null,"previous_names":["pin0l33kz/custom_checkmk_scripts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIN0L33KZ%2Fcustom_checkmk_scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIN0L33KZ%2Fcustom_checkmk_scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIN0L33KZ%2Fcustom_checkmk_scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIN0L33KZ%2Fcustom_checkmk_scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PIN0L33KZ","download_url":"https://codeload.github.com/PIN0L33KZ/custom_checkmk_scripts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243786231,"owners_count":20347603,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checkmk","powershell","python","scripts"],"created_at":"2024-09-25T00:11:12.826Z","updated_at":"2026-01-02T14:40:22.497Z","avatar_url":"https://github.com/PIN0L33KZ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Custom CheckMK Scripts\n\nThis repository contains a collection of my custom CheckMK scripts designed to monitor various services and components within my network.\n\n### [Windows Hosts](https://github.com/PIN0L33KZ/custom_checkmk_scripts/tree/main/Windows%20Hosts \"Windows Hosts\")\n\nWindows hosts uses PowerShell scripts (`.ps1` files). Theses should be placed in a directory accessible to your Windows monitoring agents. Typically, these would be located in the **`C:\\ProgramData\\checkmk\\Agent\\local`** directory.\n\n### [Linux Hosts](https://github.com/PIN0L33KZ/custom_checkmk_scripts/tree/main/Linux%20Hosts \"Linux Hosts\")\n\nLinux hosts uses Python scripts (`.py` files). Theses should be placed in a directory accessible to your Linux monitoring agents.\nTypically, these would be located in the **`/usr/lib/check_mk_agent/local`** directory.\n\n**Ensure these scripts are made executable** by running the following command:\n```bash\nchmod +x /path/to/your/script.py\n```\n\n### Activate Windows/Linux scripts\n\n1. Open your CheckMK Webinterface.\n2. Click on ```Setup``` in the left side-bar\n3. Click on ```Hosts```\n4. Click on ```Run service discovery``` on your desired host\n5. Check for ```Undecided services``` and add them *(Multiple refreshes may be needed!)*\n6. Click on Change in the upper right corner\n7. Click on ```Activate in selected sites```\n\n\n------------\n\n\n### Script Descriptions\n\n------------\n\n#### [check_anti_idle.ps1](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Windows%20Hosts/check_anti_idle.ps1 \"check_anti_idle.ps1\")\n- **Description:** Checks if a registered anti-idle service is running on Windows clients.\n- **Use Case:** Ensures critical services remain active.\n- **How:** PowerShell command: ```Get-ScheduledTask```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Anti Idle - %serviceName% is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Anti Idle - $serviceName is not running```\u003c/span\u003e\n\n------------\n\n#### [check_rpc_server.ps1](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Windows%20Hosts/check_rpc_server.ps1 \"check_rpc_server.ps1\")\n- **Description:** Monitors Discord-RPC server availability.\n- **Use Case:** Ensures that the Discord RPC Server is functioning properly.\n- **How:** PowerShell command: ```Get-ScheduledTask```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - RPC Server - Discord RPC Server is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - RPC Server - Discord RPC Server is not running```\u003c/span\u003e\n\n[*Link to Discord RPC Server*](https://github.com/PIN0L33KZ/DiscordRPCServer \"Link to Discord RPC Server\")\n\n------------\n\n#### [check_cloudflare_updater_task.ps1](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Windows%20Hosts/check_cloudflare_updater_task.ps1 \"check_cloudflare_updater_task.ps1\")\n- **Description:** Checks the status of the Cloudflare updater task on a Windows server.\n- **Use Case:** Ensures Cloudflare DNS records are updated regularly.\n- **How:** PowerShell command: ```Get-ScheduledTask```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - DNS Updater - Last run: $runTime```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - DNS Updater - Last run: $runTime```\u003c/span\u003e\n\n[*Link to Cloudflare DNS Updater*](https://github.com/PIN0L33KZ/CloudflareDnsUpdater \"Link to Cloudflare DNS Updater\")\n\n------------\n\n#### [check_discord.ps1](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Windows%20Hosts/check_discord.ps1 \"check_discord.ps1\")\n- **Description:** Monitors the status of a Discord client.\n- **Use Case:** Useful for managing Discord services on a Windows server.\n- **How:** PowerShell command: ```Get-ScheduledTask```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Discord - Instance is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Discord - Instance is not running```\u003c/span\u003e\n\n------------\n\n#### [check_duc_client.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_duc_client.py \"check_duc_client.py\")\n- **Description:** Checks if the NoIP-DUC process is running.\n- **Use Case:** Ensures the NoIP IP-Address will always be up-to-date.\n- **How:** Linux command: ```pgrep```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - DUC - /usr/bin/noip-duc is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - DUC - /usr/bin/noip-duc is not running```\u003c/span\u003e\n\n------------\n\n------------\n\n#### [check_doorbell.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_doorbell.py \"check_doorbell.py\")\n- **Description:** Monitors Ring™ doorbell's status.\n- **Use Case:** Integrates smart home devices with CheckMK.\n- **How:** Protocol: ```ICMP```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Doorbell - Doorbell is reachable```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Doorbell - Doorbell is not reachable```\u003c/span\u003e\n\n------------\n\n#### [check_minecraft_server.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_minecraft_server.py \"check_minecraft_server.py\")\n- **Description:** Monitors the status and player count of a Minecraft server.\n- **Use Case:** Ensures the Minecraft server is up and running without issues.\n- **How:** API: [api.mcsrvstat.us](https://api.mcsrvstat.us/ \"api.mcsrvstat.us\") \u0026 Protocol: ```HTTPS```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Minecraft Server - Server is Available, Players online: $playerOn/$maxPlayer```\u003c/span\u003e\n- **Response WARN:** \u003cspan style=\"color:#ff9f43\"\u003e```1 - Minecraft Server - Could not reach API. HTTP Status Code: $httpCode```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Minecraft Server - Server is not Available```\u003c/span\u003e\n\n------------\n\n#### [check_pihole_services.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_pihole_services.py \"check_pihole_services.py\")\n- **Description:** Monitors the Pi-hole services to ensure they are running correctly.\n- **Use Case:** Vital for networks using Pi-hole for ad blocking and DNS filtering.\n- **How:** Linux command: ```pgrep```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - $serviceName - $serviceName is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - $serviceName - $serviceName is not running```\u003c/span\u003e\n\n------------\n\n#### [check_bridge.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_bridge.py \"check_bridge.py\")\n- **Description:** Monitors a Phillips-Hue Bridge's status.\n- **Use Case:** Useful in environments where smarthome bridges are used extensively.\n- **How:** Protocol: ```ICMP```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Bridge - Bridge is available```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Bridge - Bridge is not available $httpCode```\u003c/span\u003e\n\n------------\n\n#### [check_smb_disk_space.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_smb_disk_space.py \"check_smb_disk_space.py\")\n- **Description:** Checks available disk space on a SMB share.\n- **Use Case:** Prevents disk space issues on shared network drives.\n- **How:** APT-Package: ```smbclient```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - SMB disk space - $usedSpace% used, $freeSpace% free```\u003c/span\u003e\n- **Response WARN:** \u003cspan style=\"color:#ff9f43\"\u003e```1 - SMB disk space - $usedSpace% used, $freeSpace% free```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - SMB disk space - $usedSpace% used, $freeSpace% free```\u003c/span\u003e\n\n------------\n\n#### [check_smb_share.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_smb_share.py \"check_smb_share.py\")\n- **Description:** Monitors the availability of a SMB share.\n- **Use Case:** Ensures network shares are accessible.\n- **How:** APT-Package: ```smbclient```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - SMB share - Share is available```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - SMB share - Share is not available```\u003c/span\u003e\n\n------------\n\n#### [check_ssl_cert.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_ssl_cert.py \"check_ssl_cert.py\")\n- **Description:** Checks the validity and expiration of SSL certificates.\n- **Use Case:** Critical for ensuring SSL certificates are valid and up-to-date.\n- **How:** Python-Package ```ssl```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - SSL Certificate - $daysRemaining days remaining```\u003c/span\u003e\n- **Response WARN:** \u003cspan style=\"color:#ff9f43\"\u003e```1 - SSL Certificate - $daysRemaining days remaining```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - SSL Certificate - $daysRemaining days remaining```\u003c/span\u003e\n\n------------\n\n#### [check_statuspage.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_statuspage.py \"check_statuspage.py\")\n- **Description:** Monitors the status page of a nextcloud instance.\n- **Use Case:** Useful for tracking the health of the nextcloud services.\n- **How:** Protocol: ```HTTP/S```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Nextcloud - Nextcloud is running and not in maintenance mode```\u003c/span\u003e\n- **Response WARN:** \u003cspan style=\"color:#ff9f43\"\u003e```1 - Nextcloud - Nextcloud is in maintenance mode```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Nextcloud - Nextcloud is unavailable```\u003c/span\u003e\n\n------------\n\n#### [check_unifi_network_console.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_unifi_network_console.py \"check_unifi_network_console.py\")\n- **Description:** Monitors a UniFi Network Console's status.\n- **Use Case:** Ensures Unifi network devices and consoles are operating correctly.\n- **How:** Linux command: ```pgrep```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - Unifi Console - Network Console is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - Unifi Console - Network Console is not running```\u003c/span\u003e\n\n------------\n\n#### [check_vms.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_vms.py \"check_vms.py\")\n- **Description:** Monitors Proxmox virtual machines' status.\n- **Use Case:** Essential for environments heavily reliant on virtualization.\n- **How:** Linux command: ```qm```\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - VM Status - All VMs are running```\u003c/span\u003e\n- **Response WARN:** \u003cspan style=\"color:#ff9f43\"\u003e```1 - VM Status - No returned no data```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - VM Status - $criticalVms```\u003c/span\u003e\n\n------------\n\n#### [check_vpn_server.py](https://github.com/PIN0L33KZ/custom_checkmk_scripts/blob/main/Linux%20Hosts/check_vpn_server.py \"check_vpn_server.py\")\n- **Description:** Monitors the availability of a OpenVPN server.\n- **Use Case:** Ensures VPN services are operational and accessible.\n- **How:** Linux command: ```pgrep```)\n- **Response OK:** \u003cspan style=\"color:#1dd1a1\"\u003e```0 - VPN Server - VPN Server is running```\u003c/span\u003e\n- **Response CRIT:** \u003cspan style=\"color:#ee5253\"\u003e```2 - VPN Server - VPN Server is not running```\u003c/span\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpin0l33kz%2Fcustom_checkmk_scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpin0l33kz%2Fcustom_checkmk_scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpin0l33kz%2Fcustom_checkmk_scripts/lists"}