I also see a problem with the log name. This is because of regional settings. for a quick fix replace
set logname=%dir%\blat-%date%.log
with
set logname=%dir%\blat.log
Let me know if this helps…
I also see a problem with the log name. This is because of regional settings. for a quick fix replace
set logname=%dir%\blat-%date%.log
with
set logname=%dir%\blat.log
Let me know if this helps…
Tip for running The Dude as administrator:
On the server (applies only to Windows 2003!)
Click on the ‘Local Server’ button on the top left
Make sure Enable on localhost is tick’t and the run mode is ‘as service’ and click ‘Apply’
You’ll get disconnected but the client should reconnect in a few seconds.
Now when you go to the services (start → administrative tools → services) you should see a new service named ‘The Dude Server’. Double click that, go to the ‘log on’ tab and change the log on info to the administrator with the correct password. Since you are on a SBS2003 server you have to use the domain admin account (domainname\administrator) because there are no local accounts. after changing the info restart the service.
You are now running the Dude as a service under the admin account.
Remark!: When using Windows 2008+ there are security restrictions preventing you from creating a service from the Dude client and connecting to the correct instance of that service. This can be solved by right clicking the Dude icon, go to the compatibility tab and selecting ‘Run this program as an administrator’ and only use this from now on.
SPOT ON!
You got it right - it works!!
The email notification just came through and it looks really nice and easy to understand - well done for writing this little script.
One last question - we would like to monitor our clients servers but to do it all from main server at our office (so we got SBS2003 at our office and need to add about 7 other remote servers that sit at our clients different offices), can you please direct me to a link which has a step by step instruction of how to monitor remote servers (for CPU, Disc Space, service Outage etc’)?
Thanks again for your help !!
I was expecting that question since your username is suggesting that your company is doing IT services support for other companies ![]()
You have to use Agent configuration. I also use this at our company. I used the manual at this page to figure it out: http://wiki.mikrotik.com/wiki/Manual:The_Dude/Agents
Some remarks from my side learned through deploying this:
You can only use 1 version (3.6 for example) for the main server and all the client servers
on the agent (server of your client running The Dude)
Above settings make the remote monitoring more secure and tiny.
On the server on your premises configure the agent through the settings → agents tab and
Some other tips I have for remote supporting clients is to use Syslog Agent (http://syslogserver.com/syslogagent.html) to send event logs to your main server (you have to open the correct port in the firewall for that at your main server) and use syslog rules (settings → syslog) to have alerting. Also a good idea is to utilize the maximum potential of the SNMP for alerting and monitoring and also set up SNMP-Trap services. SNMP-Trap services is a bit more complex because it requires an external tool that translates the traps to the eventlog.
Yes, you got it right again.. we are a IT support company.. ![]()
I did see the link you provided already, I guess I’m not that good as you are because I didn’t manage to get it to work on our server.
This is what I did so far:
It seems that the remote agent is not connecting..

Usually this either the firewall on the client side or the way that your main server is connected to the internet.
Since you have SBS2003 on both sides, I have 2 questions for you:
Do you have ISA server on the client’s SBS server, or is it the standard edition?
Do you have ISA server on your local main server?
I found the problem, the user/pass I changed were the wrong one.
It’s all working now.
I will now follow your other suggestion to allow access only from the main dude server.
You have been a GREAT HELP!!
Thanks again for your amazing support.. ![]()
Would it be ok to contact you again in the future (via this thread) if I have any issues?
Maytal
Your welcome! ![]()
I’m happy that I can share my knowledge with other IT supporters…
Feel free to contact me! I’m sure we’ll also be helping other with this thread.
Roland.
Hi Roland,
I am going over your list and have some issues with two of the changes you suggested we should do:
Thanks
Maytal
Allowing a single IP to connect to an open port, depends on the type of firewall you are using. In for example a Cisco ASA you can set the allowed remote address to a specific adress/24 in stead of allowing 0.0.0.0/0 to connect. In ISA server a similar action is possible. Maybe if you can give me a direction on what firewall, I can give you a hint.
Most firewall’s work in a 2 step mode. First step is the Firewall, setting the open ports and allowed remote addresses. Theb the firewall passes the allowed traffic trough to the NAT module. The NAT module leads the traffic to the appropriate internal IP address and port
example:
external source → external IP:incomming port → firewall → NAT → internal IP:destination port
ok:
82.58.120.1 → 62.128.25.1:2211 → Allowed? Yes! → NAT translate → 192.168.1.100:2211
not ok:
82.58.120.2 → 62.128.25.1:2211 → Allowed? No! → Block
The agent (Dude installation running on the client’s machine) will not actively monitor or alert on any machines or devices. You will have to configure all machines/probes on the main server and select the appropriate agent that will do the monitoring for the main.
for example, I have a router with ip 192.168.1.1 that I wish to monitor at my client. I also have a server with IP 192.168.1.100 that has The Dude installed. From my main server I configured this Dude installation of my client as an agent. On my client’s server I do NOT monitor the router 192.168.1.1, but instead I add it to a separate map in my main server at my company, but select the agent at the client to do the monitoring as a delegate. So no devices are configured at the client’s server acting as agent, but only on the main server at my company.
Hope that this sheds some light on what I mean, if not, no problem, just ask what’s unclear, I’m happy to help.
Hi, yes, all is clear.
I understand about the firewall, but I though you can also limit access (to allow only single IP remote access) from the dude itself.
On the remote server, I have allowed 0.0.0.0/0 - which enabled the main server to connect.
But, when I change the 0.0.0.0/0 to 10.0.0.0/24 (which is my main server local IP range) - the remote server connection drops.
I have also tested it locally, allowing and denying access to the web-interface of the dude, and it works fine, but it wont work if I do it from the ‘allowed networks’ (in the ‘server’ tab under ‘server configuration’ window).
You have to fill in the external IP address of the main server if you want to do it that way, since that’s the source address (through NAT). You can check that when the main sever is connected by viewing the tab ‘Active’ under ‘Admins’ on the client’s Dude installation.
But the more secure way is to configure it in the firewall, because when you configure it at the client’s Dude installation, a potential hacker is already past the first security step.
Ok we’ve installed and configured the Dude on our server and also on our client’s server.
The dude can connect to our client’s server and see all the equipment on their network but the only problem we have right now is getting the probes (cpu, disk & memory) to work on any of the servers or desktops. They are currently showing as being down.
We’ve enabled SNMP on all servers and also on the firewall using the guide below.
http://www.poorperformance.com/wiki/index.php?title=Install%2C_Enable_and_Configure_SNMP_on_Windows#Firewall_Port_Settings
Are there any additional settings in the Dude that we need change or set?
Any help is appreciated!
Many thanks
Hi!
When I look at the manual for configuring SNMP on a Windows machine, I see that they want you to configure that only the local machine can connect. This setup isn’t going to work because external SNMP requests are ignored. In the properties of the SNMP service go to the tab Security and add the hostname or IP address of the Dude server at the client at the Accept SNMP packets from these hosts part. Restart the SNMP service after aplying the changes.
Also I would like to recommend NOT to use the Public community string as it is the first string a hacker would try on a machine. It is only a read-only string but giving away valuable system information for free to a hacker is not ok, in my opinion. So generate a random 8 or more character community name and use that for this client. Don’t forget to create the correct listener at The Dude’s side that has a corresponding read string (under Settings → SNMP → profiles)
Roland.
Excellent post!
I currently use our Exchange server for notifications (push mail, better accesss…) and I’ve now added Gmail as well. Is it possible to somehow configure notifications that Gmail will only be used if our Exchange is down?
Not that I know. But what you can do, is that you create a probe that checks the Exchange server and when it’s down the alert is send trough the Gmail account…
I did just that ![]()
sorry for jumping it
but - its not working for me
I did like you said but I get no mail
when I press test on the Dude , i can see O.K at the line
this is a capture of the CMD
maybe need to change the SMTPServer?
hipe you can help me
Thanks ,

Nope, the smtp server is correct (localhost), the error is in the subject line as suggested by Blat. Did you check that you added enough quotes in the command part in the notification?:
C:\blat\emailblat.cmd "Monitor: [Device.NetMaps] map - [Device.Name] probe [Probe.Name] is now [Service.Status]" "Hi there!||This is TheDude from the monitoring server reporting:||at: [TimeAndDate]|on map: [Device.NetMaps]|Device: [Device.Name]|Probe: [Probe.Name]|Status: [Service.Status]|Problem Description: [Service.ProblemDescription]|Changed since: [Service.TimeSinceChanged]|Last time up: [Service.TimeLastUp]"
what do you mean?
all I did is add new notification in the Dude
like so:
“c:\Program Files\Dude\blat\emailblat.cmd” “Service [Probe.Name] on [Device.Name] is now [Service.Status]” “Service [Probe.Name] on [Device.Name] is now [Service.Status] ([Service.ProblemDescription])”
when I run the command you wrote
I get SNMP error
thanks,
