vsftpd does not create pid file required for monit
You can try this: monit: check process without pidfile
check process vsftpd matching vsftpd start program = "/etc/init.d/vsftpd start" stop program = "/etc/init.d/vsftpd stop"
Alternatively you can follow the guide I put together using aforementioned init file. Created RPM to keep the system consistent across updates (via fpm). New init file has modified service name vsftpd-pid so you can keep vsftpd stopped and vsftpd-pid running.
Remember to change your monit start and stop commands too.
More info here: http://bemehow.github.com/2012/11/15/monit-vsftpd/
Yes, this is normal (for any distro). vsftpd does not write out a pid file.
I created a replacement init script for vsftpd on Centos 5.4 that will create the PID files:
http://gist.github.com/508889