Home » Scripts » Ideas about FTP monitoring


Welcome to contoso.se! My name is Anders Bengtsson and this is my blog about Azure infrastructure and system management. I am a senior engineer in the FastTrack for Azure team, part of Azure Engineering, at Microsoft.  Contoso.se has two main purposes, first as a platform to share information with the community and the second as a notebook for myself.

Everything you read here is my own personal opinion and any code is provided "AS-IS" with no warranties.

Anders Bengtsson

MVP awarded 2007,2008,2009,2010

My Books
Service Manager Unleashed
Service Manager Unleashed
Orchestrator Unleashed
Orchestrator 2012 Unleashed
Inside the Microsoft Operations Management Suite

Ideas about FTP monitoring

You can monitor a IIS FTP site with the Internet Information Services (IIS) Management Pack. But that management pack only monitor the FTP from the server side. I received a couple of questions how to monitor a FTP from the client side. You can do that with a vbscript, but if you are not that into scripting you can solve it like this:

You can setup a port check. TCP Port check easy to add with the monitoring wizard under management pack templates.

You can also create a FTP.EXE script that logon to your FTP server and perform a number of commands. ftp.exe is a built-in FTP tool in Windows. If you run it with the -s: parameter you can specify a script. You can also use the -d parameter to turn on debug and then the dump the result to a logfile with >>ftpcheck.log. That logfile you can check with a rule or monitor from Ops Mgr. Example

ftp.exe -d -s:ftpscript.ftp >>ftp_log.log

You can run the complete command from a Timed Commands/Execute a command rule. You can then create a Alert Generating Rules/Event Based/Generic Text Log (Alert) rule to monitor that ftp_log.log file. In this post you can read how to setup a rule to check a logfile. Your ftpscript.ftp file can look like this

send contoso-test-file.txt
get contoso-test-file.txt

As you can see, it is normal FTP commands inside that file. If you want to only test download a file from a FTP and dont want to check the ftp_log.txt file, you can check when the downloaded file was last updated, according to this post. You can also use this script to search your logfile for words, and generate events.