Você pode definitivamente fazê-lo com o Nagios com um comando de verificação personalizado, e seria fácil. Essa é uma força do Nagios, que é fácil de estender. Além disso, você pode escrever (ou encontrar de terceiros, publicamente disponível, etc) verificações personalizadas que são configuráveis com parâmetros. Em outras palavras, você poderia escrever esse script uma vez e depois reutilizá-lo para verificações semelhantes.
E para o que você descreve, seria fácil com o Nagios. Você poderia definitivamente escrever apenas algumas linhas de perl para implementar o plug-in de comando de verificação customizado para os itens 1, 3 e 4; Eu já posso ver o código na minha cabeça (um ls com o ctime para o # 1, um ls e o strftime para o # 3, e realmente apenas um ls para o # 4). Cheques personalizados são realmente muito fáceis de escrever. Dê uma olhada na documentação; é extremamente amigável. e 1/3/4 basta pegar algumas limas e comparar datas. Eu não posso garantir a mesma facilidade de # 2 desde que eu não fiz realmente isso. Mas tenho certeza que há um módulo POP fácil de usar no CPAN, e que apenas contar quantas mensagens estão em uma pasta não é mais do que um punhado de linhas com ele.
Ah, sim, e antes de se preocupar em escrever essas verificações personalizadas, na verdade, você poderia dar uma olhada (consulte o link nagios exchange @ bem como o Google) para ver se alguém já escreveu um plugin publicamente disponível para tornar isso mais fácil.