Ad Widget

Collapse

Monitorar arquivo XML

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • vitorsrosa
    Junior Member
    • May 2016
    • 20

    #1

    Monitorar arquivo XML

    Olá a todos!

    Eu tenho um sensor de temperatura no rack e eu gostaria de coletar os dados desse sensor.
    Este sensor é conectado na rede e tem uma interface web onde eu posso ver em tempo real a temperatura do ambiente onde ele está. O problema é que ele não tem um banco de dados e sempre gera um arquivo xml com as informações para ficar atualizando a cada segundo.
    Eu verifiquei este arquivo e ele possui uma linha exatamente assim:

    <PrimaryValue>33.3750 Deg C</PrimaryValue>

    Eu precisava coletar os dados impostos nessa linha pra que eu possa manter um historico de temperatura dentro do rack.
    Isso é possível?

    caso alguem queira mais informações do sensor, segue o link do manual dele:


    Desde já, eu agradeço.
  • eduwutzl
    Senior Member
    Zabbix Certified Specialist
    • Jul 2010
    • 314

    #2
    Você deverá usar um sensor personalizado com UserParameter ou External Check e construir em shellscript ou python um sensor que filtre ou trate esta informação pra você.

    Talvez nas versões mais novas do zabbix, você consiga tratar através do Preprocessing. Talvez a sessão de Configuração de itens também te ajude.

    Espero que ajude. Boa sorte


    Eduardo Wutzl da Silva
    SRE Engenharia de Monitoração e Observabilidade

    Comment

    • Pedro B
      Junior Member
      • Mar 2018
      • 12

      #3
      Bom dia!

      Você pode criar um external check o qual vai efetuar um curl na URL do XML, a partir disso você pode usar o Preprocessing XML Path para pegar somente o conteúdo dentro da tag <PrimaryValue></PrimaryValue>.

      Comment

      • eduwutzl
        Senior Member
        Zabbix Certified Specialist
        • Jul 2010
        • 314

        #4
        Olha que legal um outro script que fiz pra resolver isto.
        Vou inibir algumas partes do código OK?

        Code:
        #!/bin/bash
        #
        #VARS
        CURL=`which curl`
        ZBX_SENDER=`which zabbix_sender`
        DATA="data.json"
        DATA2="out.json"
        PROTO="https"
        URL="yourserverrest/rest/bpm/wle/v1/processes/search?searchFilter=Inic+Em+Filter=fin"
        
        $CURL --silent -o $DATA --user blood:superblood $PROTO://$URL
        
        cat  $DATA |python -m json.tool > $DATA2
        
        PIID=`cat $DATA2 |grep "piid" |sed 's/\"//' |sed 's/\"//'|sed 's/\"//' |sed 's/\"//' |sed 's/piid://' |sed 's/,//' |sed 's/ //g'`
        
        if [ -z $PIID ] ; then
                PIID="0"
                echo $PIID
        else
                echo $PIID
        fi
        Eu realmente espero que ajude
        Last edited by eduwutzl; 08-05-2018, 18:58.

        Eduardo Wutzl da Silva
        SRE Engenharia de Monitoração e Observabilidade

        Comment

        Working...