• 0 Posts
  • 1 Comment
Joined 8 months ago
cake
Cake day: June 11th, 2025

help-circle
  • I’m using CheckMK to monitor my hypervisor, physical hardware like disks, CPU etc. and SNMP-capable hardware like my pfSense firewall via a CheckMK instance in docker. It either works in docker or on a few different linux based OS like ubuntu and debian (see CheckMK download page).

    There’s a free and open source version (called raw edition, GitHub Link) which I am using. It comes with a lot of checks / plugins for monitoring stuff out of the box and if there’s something it doesn’t ship, you can easily create your own check in whatever language your server is capable of executing a binary of. Or you could look up if there’s a user-contributed plugin on the official CheckMK Exchange Platform.

    The whole configuration of this is based on rules with a lot of predefined rules and sane defaults already set.

    To have an example for your use-case: You can monitor docker-logfiles and let CheckMK warn you, if specific keywords are or are not in a logfile. You will then be able to view the offending lines in the monitoring UI.

    Why do I use this?

    • We use it at work
    • FOSS
    • docker makes updating this easy
    • can send mails, teams notifications, …
    • very customizable and expandable

    my docker compose file

    # docker-compose.yml
    
    services:
      monitoring:
        image: checkmk/check-mk-raw:2.4.0-latest
        container_name: monitoring
        restart: unless-stopped
        environment:
          - CMK_PASSWORD=changeme
        ports:
          # WEB UI port
          - "5000:5000"
          # agent communication port
          - "8000:8000"
          # used for SNMP
          - "162:162/udp"
          - "514:514/tcp"
          - "514:514/udp"
        volumes:
          - "./monitoring:/omd/sites"
          - /etc/localtime:/etc/localtime:ro
        env_file:
          - .env