-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remote agent #528
Comments
@amastelek Push based notifications are available in the mightly image tag, see here: #279 The metrics data sounds more of a "Health and Status", instead of an Uptime Status which is Uptime-Kuma |
still since we have push now.. we can actually monitor if a host runs out of memory or has a high cpu load. I think we should gather simple commands/scripts to make this happen (without the need of an agent). |
Hello, I continue this topic to talk about the For this case, I think an agent is necessary. For exemple, I will take a For this case, I imagine this feature. I made the POC with bash IP=$(docker inspect drone-runner | jq '.[].NetworkSettings.Networks.bridge.IPAddress' -r)
PORT=$(docker inspect drone-runner | jq '.[].NetworkSettings.Ports' | jq 'keys []' -r | cut -d "/" -f 1)
URI="http://$IP:$PORT/healthz"
CODE=$(curl -s -o /dev/null -w "%{http_code}" $URI)
if [[ $CODE == 200 ]]; then
curl https://UPTIME_KUMA_URL/api/push/lB95pTNgVI?msg=OK &> /dev/null
fi I could edit this project to create the agent but I do not really know if this pattern is ok and how to implement this feature. Let's discuss about it :) TL;DR : How to monitor not exposed service without the ability to edit this service to add a push notification ? I think this feature could create an agent that register to the master when starting. On the dashboard, we can choose a method and specify an agent if we need it to make the check (e.g. PING this url with Agent #1). For performing the action, in the case an agent has been specified, the master will contact the agent to execute the query instead of executing itself. When the agent received the answer, it forward it to the master. What do you think ? |
@Tchoupinax |
and I must say I really see a big potential in all sizes of companys.. as they often have "monitoring for everything" but in the end it's never as good as a specific monitor for specific usecases. |
Is this repository already exists ? (can I have the link ? :D) I do not really understand your reasoning, uptime-kuma is a monitoring for everything : it accepts HTTP, TCP, Ping... a lot of protocol and it supports a lot of service for notifications. The purpose of agent is just to extend the capability for not exposed service. The push notification feature is the right way, but incomplete as my sense... To complete this, the project misses agents, in my sens always; I'm asking and expose my idea because I do not know if it is good. I can create an agent like the code I published, but It could be integrated to the project as a native feature and I think it could be better for configuring and handle all your monitoring. We have just to improve a little the push notification feature, make an agent and modify the UI to specify an agent. If I understand your idea : why uptime kuma supports so many notifcation type ? Kuma could only send a webhook and tells "if you want to notify on XX, please use our agent for this usecase". But it is simpler to select your notification type on the list and click on "valid". I really need think agent could be a good part of this project but I would love to read your explanation if you think it is not the case. |
I don't see enough improvement in bloating uptime-kuma for this. there are limitless amounts of agents.. so including them in the UI is quite useless as soon as the numbers build up |
I need to monitor servers that are hidden from the network where Kuma is running. However I have, what we call, a jump server that has access to these hidden servers. The jump server can see both the hidden and Kuma. In this case a passthrough agent would be nice... |
Great solution, don't need a agent in a local computer, with a simple script we can do it. For example, I adjust your script to this:
|
Not exactly remote agents but I've created a small script on top of uptime kuma to do "replication" at database layer through restic https://github.com/Sid-Sun/replicator-kuma there are a few quirks though |
This part of the issue is resolved. |
I have a request for a remote agent, This can be a docker one that can be loaded on any operating system.
The remote agent polls a tcp port on the uptime kuma server, e.g. 3010. It measures the latency and then posts it to the server using JSON. That post can include additional metrics such as CPU usage, hard disk health, wifi signal strength, etc.
When a new monitor is created on the server it generates a random unique key. That key is used as a parameter in the remote agent and is embedded in the JSON posting the metrics.
This will allow monitoring of systems behind a firewall such as work from home users. Even servers and desktops in a normal work environment being monitored by a cloud vps.
The text was updated successfully, but these errors were encountered: