Jump to content

Recommended Posts

Posted

Hello everyone,

I am making a program that is able to deploy commands and scripts to other work computers with a client installed.  It pretty much entirely runs off of FTP and flag files; not the most efficient and/or incredible solution, but it works for what I need.

What I would love to do is create some sort of "heartbeat" monitor for the clients, that could report in real time if they are offline, or that a required task hasn't run, or whatever.  The client systems have a vast array of different types of network equipment, so normal TCP stuff that requires port forwarding isn't really an option for me.  I've been exploring ways to do it through the file flag system that everything else uses, but that is extremely slow and clunky for real time updates.

I don't even know if this is possible.  Does anyone have any ideas on a way this could be accomplished, even just a simple "yeah this computer is online" check or something?

Thank you in advance!!!

Posted

I do something similar but I use an SQL server.  the clients run a heartbeat function every 5 seconds that updates a datetime fields for their logged in ad account.

my management app will show as offline if a heartbeat is > 11 seconds old.

All my commands are written into the server and the clients read the fields when the update their heartbeat to see if there is something for them to run.

Posted (edited)
4 hours ago, maloysius said:

...  Does anyone have any ideas on a way this could be accomplished, even just a simple "yeah this computer is online" check or something? ...

I don't know how much tolerance is allowed to your "realtime" concept, but if a lapse of "a few" seconds is not too long and if a ping result can be an option for you to check the "heartbeat" of clients then this example can do for you (https://www.autoitscript.com/forum/topic/156395-versatile-multi-ping/?do=findComment&comment=1208840), it can check, more or less, about one hundred clients in about 5 seconds. (approximate order of magnitude)
if a simple ping is not enough, then you could try this other tool to "monitor" the status of 'more conditions' on clients (https://www.autoitscript.com/forum/topic/192157-multi-task-easily-run-and-mange-many-processes) see the example of use. It works about in the same way of the previous and both do not require the presence of sw installed on the clients that are instead polled 'passively'.

hope it can be of use.

 

Edited by Chimp
changed link

 

image.jpeg.9f1a974c98e9f77d824b358729b089b0.jpeg Chimp

small minds discuss people average minds discuss events great minds discuss ideas.... and use AutoIt....

Posted

Thanks for the ideas @BigDaddyO and @Chimp!

Unfortunately, SQL isn't really an option I have, and the pinging options won't work because I need to ping a particular computer in an entirely different network.  So I think I would have to have some kind of software on the server and client computers that could send and receive basic messages, without having to use ping or change any type of network settings/ports (since the client base has a widely varying bunch of network equipment).

I was thinking maybe trying some sort of instant message UDF that communicates via IRC to a web server, which would be great...although I have not found something as of yet that is reliable enough to depend on, or that even accomplishes what I need.

What do you think?  Or any other ideas on other things I could check out?

Thank you kindly!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...