Zabbix: Monitorando Jobs de Backups do CA ARCServe

Olá Pessoal,

Devido a dúvida de alguns da comunidade Zabbix. Venho compartilhar o monitoramento dos Jobs do ARCServe Backup, este monitoramento é feito através do comando ca_qmgr do próprio servidor de Backup, que lista a fila e o estado dos jobs.

Utilizei um script VBS para esta tarefa, chamado de check_Arcserve_jobstatus.vbs, a qual verifica os estado dos Jobs. Este script foi utilizado pela comunidade do Nagios, como havia prazo para entregar este monitoramento, foi preciso agilizar o processo de monitoramento, sem reinventar a roda, por isto optei por utilizar o mesmo, que atendeu adequadamente a necessidade.

No entanto, é importante frisar, que não tenho conhecimento em VB Script, por essa razão não tive tempo hábil de fuçar no script e modifica-lo para torna-lo dinâmico com LLD (Low Level Discovery), o que tornaria o mesmo mais atraente.

1. Preparando o cenário

Crie uma pasta chamada Scripts dentro do diretório corrente do servidor de backup (CA ARCServe). Todo o monitoramento dos Jobs é feito exatamente neste mesmo servidor. A estrutura do diretório deve ficar da seguinte forma:

c:\Zabbix\Scripts

Em seguida copie o script abaixo dentro de C:\Zabbix\Scripts\check_Arcserve_jobstatus.vbs com seu editor de texto favorito.

iCritical = 0
iWarning = 0
iSuccess = 0
 
strCmd = CMD("""C:\Program Files\CA\ARCserve Backup\ca_qmgr.exe"" -list")
 
Lines = Split(strCmd, vbCrLf)
 
for each Line in Lines
        iPos = inStr(Line, "READY")
        if (iPos) then
                select case (Trim(Mid(Line, iPos + 42, 15)))
                case "FINISHED"
                        iSuccess = iSuccess + 1
                case "FAILED", "RUN FAILED", "CRASHED"
                        iCritical = iCritical + 1
                case "INCOMPLETE", "CANCELLED"
                        iWarning = iWarning + 1
                end select
        end if
next
 
Out = ""
 
if (iCritical) then
        Out = iCritical
end if
if (iWarning) then
        Out = iWarning
end if
if (iSuccess) then
        Out = iSuccess
end if
if (iCritical = 0) and (iWarning = 0) and (iSuccess = 0) then
        Out = 3
end if
 
WScript.StdOut.WriteLine (Out)
 
function CMD(byRef cmdLine)
        set oShell = WScript.CreateObject("WScript.Shell")
    set oExec = oShell.Exec(cmdLine)
 
    ret = oExec.StdOut.Readall()
    set oExec = nothing: Set oShell = nothing
 
        CMD = ret
end function

Edite o arquivo zabbix_agentd.conf dentro de C:\Zabbix\conf (ou o diretório onde encontra o seu arquivo de configuração) e adicionado na última linha o parâmetro necessário para que funcione o monitoramento dos Jobs de Backup.

UserParameter=job.backup.status,cscript //NoLogo C:\Zabbix\Scripts\check_Arcserve_jobstatus.vbs

Devido a questões de restrições e/ou políticas de segurança, o usuário SYSTEM, mesmo usuário proprietário dos serviços do Windows, o mesmo não tinha permissão para execução de scripts, por tanto caso você passe pela mesma situação, será necessário alterar o usuário que inicia e executa o serviço para um usuário que tenha permissões adequadas para executar este script e iniciar o serviço do agente zabbix.

Acesse o services.msc do Windows Server, e clique em propriedades do serviço Zabbix Agent, e informe a conta as permissões. No print abaixo consta o Domain Admin, no entanto, não recomendo o uso do mesmo para este cenário.

Após este ajuste é necessário reiniciar o serviço do agente zabbix para aplicar as alterações.

Em seguida crie um template no zabbix da seguinte da seguinte forma: Acesse Configurações > Templates:

Após entrar em Templates, clique em “Criar Template” e preencha o mesmo como no modelo abaixo e clique em add:

Após criar o template, clique em Administração > Geral, e em seguida selecione “Mapeamento de Valores”, e preencha os mesmos da seguinte forma (Lembre-que segui o mesmo modelo do Nagios, por tanto, pra ficar mais claro o resultado do monitoramento, essa é a forma mais intuitiva):

Volte em templates, e clique no template recém criado, entre em Aplicações e cria a aplicação “Jobs Backups”.

Após criar a aplicação, clique em itens, e crie o item abaixo de monitoramento dos Jobs e Backup.

E por fim, clique em Triggers, e crie o threshold da seguinte forma:

Feito o template, pode adicionar o mesmo no Host (Servidor de Backup CA ARCServe), e após alguns instantes já é possível monitora-lo, visualizando a coleta em Monitoramento > Dados Recentes:

Em caso de alarme, a trigger será acionada no zabbix da seguinte forma:

Pessoal espero que isso lhes ajude. De qualquer forma, forte abraço e grato pela atenção!

Fonte: CA ARCserve Backup r12 Number of Job Error Check

4 ideias sobre “Zabbix: Monitorando Jobs de Backups do CA ARCServe”