{"repo":"dobin/dmsr","free":true,"listed":false,"github":"https://github.com/dobin/dmsr","clone":"git clone https://github.com/dobin/dmsr.git","description":"Does My Shit Run - Linux Monitoring Solution","language":"Python","stars":11,"topics":["monitoring"],"license":"GPL-3.0","category":"analytics","readme_excerpt":"DMSR - Does My Shit Run A minimalistic monitoring solution to see if my shit still works. See mon.yookiterm.ch for how I use it. Agent based HTTP communication from agent to server Simple python plugins No history No DB, No time series DB No query language No need to run as root No filtering, aggregation, transformation or processing How it works Agent has plugins Agent plugins will generate a JSON and send it to the server with HTTP POST Server stores JSON, overwriting previous Server will pretty print JSON (from all servers, all plugins) Thats it. Screenshot Install We install it as a dedicated user: Systemd service For persistence, use appropriate systemd file. Agent: or the Server: How to Use Server: configure password in server.yaml start server: ./server.py Agent: configure password and plugins in agent.yaml start agent: ./agent.py Sample agent.yaml Refreshes are always in seconds. agent.yaml.sample : Sample server.yaml server.yaml.sample : Admin Configure adminpw in server.yaml . Login with /admin . To make a plugin data private, set private = true in agent.yaml . Alarming Plugins may return non empty status , most often with the string warn . They decide by themselves when to send it. The endpoint /status will return HTTP 200 if all status are ok, and 500 if at least one is not ok. Use Desktop Web Scheduler (DWS) to get a notification if some shit doesnt run anymore. Plugins Create the plugin file helloworld.py : Implement helloworld.py . Class needs to have the same ","default_branch":null,"files":null,"tree":[],"storefront":"/r/dobin","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dobin/dmsr/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}