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”

  1. Olá, necessito muito implementar essa monitoria no ambiente aqui da empresa na qual eu trabalho. Configurei tudo de acordo com esse guia (muito bom por sinal), mas tenho o seguinte retorno na ferramenta Zabbix:

    Received value [Input Error: There is no file extension in “C:\Program”] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]

    Poderiam me ajudar com esse erro?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *