check_http só pode verificar um site de cada vez. Se você precisar verificar vários sites em uma única verificação de serviço, precisará escrever sua própria verificação para implementar a lógica. Isso poderia ser feito facilmente em um script de shell simples que chama check_http para cada host virtual e retorna o código de falha apropriado para o Nagios se qualquer uma das execuções check_http não for bem-sucedida. Esse script pode se parecer com o seguinte.
#!/bin/sh
for HOST in $* ; do
check_http -H $HOST [...other args...] >/dev/null
if [ $? -ne 0 ] ; then
echo "$HOST not responding"
exit 2
fi
done
echo "All hosts ok"
exit 0
Como alternativa, você pode usar a Dependências de serviço do Nagios para alcançar seu objetivo. Suponha, no momento, que você deseja verificar todos os seus hosts virtuais Apache, mas não ser inundado com uma notificação para cada um, se o processo do Apache não estiver disponível. Isso permitiria ver os detalhes de status de cada host virtual, permitir relatórios mais detalhados e permitir que você tenha diferentes opções de notificação e período de tempo.
Para implementar isso, você criaria uma verificação de serviço para cada host virtual e, em seguida, criaria uma verificação para o Apache, presumivelmente usando check_http para verificar através do endereço IP e se certificar de que algo está escutando na porta 80.
Em seguida, você criaria dependências de serviço para a verificação de serviço de cada host virtual e as configuraria para depender da verificação do Apache. Se a verificação do Apache falhar, todas as verificações do host virtual (que dependem da verificação do Apache) irão parar de enviar notificações e / ou executar verificações até que a verificação do Apache seja recuperada.