Live data from Hacker News

Tinystatus: A tiny status page generated by a Python script

github.com

41–50 of 52 posts

Re: Tinystatus: A tiny status page generated by a Python script

#42

The usage of ping require that to run as root. And this can open a big security issue as the paramater host of the function "check_ping" can be used for a root command injection. I know that this is not going to be exposed on Internet, but I think it should be fixed in any case. I am at work, but I can open a PR fixing it later.

Asking because I genuinely don't know, but why not use Python's `urllib.request` instead of `ping`?

Re: Tinystatus: A tiny status page generated by a Python script

#44

Man, this is cool! I would love if each tile would be clickable! I have a homelab and this would be a great landing page to be able to give out to family to see the status and links to all services in the house.

If you’d like something with a GUI for configuration, I’ve been using [Uptime Kuma](https://github.com/louislam/uptime-kuma) for a couple years now with an “internal” status page for all services in my homelab, and a “public” page for family to see the few services they would care about. I also think [Homepage](https://github.com/gethomepage/homepage) might be a good fit since it links to the services on the page, and has a little indicator dot for if it’s online or not.

Re: Tinystatus: A tiny status page generated by a Python script

#45

The usage of ping require that to run as root. And this can open a big security issue as the paramater host of the function "check_ping" can be used for a root command injection. I know that this is not going to be exposed on Internet, but I think it should be fixed in any case. I am at work, but I can open a PR fixing it later.

Asking because I genuinely don't know, but why not use Python's `urllib.request` instead of `ping`?

TL;DR: apples and oranges. Plus, monitoring is hard.

"urllib.request" sends an HTTP request. It implies that the thing you want to monitor is an HTTP endpoint. Even if that's true, you still have to decide whether you're okay with just getting a 200 status code back, or whether you want to scrape the page for a certain result as your signal of healthy or broken.

"ping" is an ICMP echo/reply. Ignoring that ICMP messages can be blocked by routers, an ICMP reply can tell you that the host's network interface is alive and that's about all. It doesn't mean any service on that host is online. I have seen hosts that send ICMP replies but were otherwise fully hung by some storage or kernel issue.

Re: Tinystatus: A tiny status page generated by a Python script

#46
post #2

It generates a simple, responsive static HTML page for those of you running self-hosted services and wanting to share their status page. It checks things like HTTP pages, open ports, or pings IP addresses. Check the demo here: https://status.harry.id

It follows the UNIX philosophy: do one thing well. Nice work!

Re: Tinystatus: A tiny status page generated by a Python script

#47
Might be nice to offer a generalized version of async def check_ping(host):

For doing something like

  - name: MySQL
    type: exec
    command:
    - /usr/bin/mysqladmin
    - --defaults-file=/path/to/file/handling/credentials
    - ping
Not sure about others, but MySQL after a while blocks a host if there are too many connection attempts without successful signin and the ping code in the repo already calls out to an external process, so it should be quite straight ahead to add.

Re: Tinystatus: A tiny status page generated by a Python script

#50

Earlier quoted context omitted.

Why he need screenshot when there's a perfectly good demo?

Assuming this isn't snark - because if I am looking for a tool to do a job, seeing an immediate visual representation of what I am likely to expect is very helpful. I don't want to go through the full installation to view a demo and then immediately realise it was not remotely close to what I was expecting.

Generally I'd agree, but the link he posted is a single click, requires no install, no login, no nothing. Nevertheless, here I took a screenshot for you: https://i.imgur.com/63kPIh9.png
Post reply on HN