Ir para conteúdo

Rodrigo Biaggio

Members
  • Total de itens

    29
  • Registro em

  • Última visita

Posts postados por Rodrigo Biaggio


  1. Pessoal, alguém consegue me ajudar? Eu preciso pegar os dados de um array, mas não estou conseguindo. 

     

    <!DOCTYPE html>
    <!-- Inicio do html -->
    <html lang="pt">
    <!-- Inicio do head -->
    
    <head>
        <meta charset="utf-8">
        <script src='https://kit.fontawesome.com/a076d05399.js'></script>
        <link rel="icon" type="imagem/png" href="images/dynatrace.png" />
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
        <script src="https://unpkg.com/@popperjs/core@2/dist/umd/popper.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
        <script src="https://unpkg.com/@popperjs/core@2"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
        <meta http-equiv="x-ua-compatible" content="ie=edge">
        <!-- CSS Customizado -->
        <link href="css/ambiente-monitorado.css" rel="stylesheet">
    </head>
    <!-- Fim do head -->
    <!-- Inicio do body -->
    
    <body>    
        <header>
            <title>Dynatrace Managed</title>
            <!-- Inicio do nav fixado no topo-->
            <div id="nav">
                <nav class="navbar navbar-inverse navbar-fixed-top">
                    <!-- Inicio div container-fluid -->
                    <div class="container-fluid">
                        <div class="navbar-header">
                            <!-- Imagem do logo da Dynatrace a esquerda -->
                            <a class="navbar-brand" href="#"><img id="imagem-logo-dynatrace" src="images/dynatrace.png" width="30px" height="30px" alt="Logo Principal" title="Logo Dynatrace"></a>
                        </div>
                        <!-- Inicio ul nav com opções das páginas -->
                        <ul class="nav navbar-nav nav-custom">
                            <li><a href="index.html">Home</a></li>
                            <li class="active"><a href="ambiente-monitorado.html">Ambientes Monitorados</a>
                            <li><a href="arquitetura.html">Arquitetura Dynatrace</a></li>
                            <li><a href="#">Downtime</a></li>
                            <li><a href="#">Indicadores</a></li>
                            <li><a href="como-funciona.html">Licenças</a></li>
                            <li><a href="#">Métricas</a></li>
                        </ul>
                        <!-- Fim ul nav com opções das páginas -->
                        <!-- Inicio ul nav da diretia, com search e login -->
                        <ul class="nav navbar-nav navbar-right nav-custom">
                            <!-- Icone e botão login -->
                            <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
                            <!-- Inicio form do search -->
                            <form class="navbar-form navbar-left" action="/action_page.php">
                                <div class="input-group">
                                    <!-- Input do search -->
                                    <input type="text" class="form-control" placeholder="Search" name="search">
                                    <div class="input-group-btn">
                                        <!-- Botão de submit do search -->
                                        <button class="btn btn-default" type="submit">
                                            <!-- Icone do search -->
                                            <i class="glyphicon glyphicon-search"></i>
                                        </button>
                                    </div>
                                    <!-- Fim div input-group-btn -->
                                </div>
                                <!-- Fim div input-group -->
                            </form>
                            <!-- Fim form do search -->
                        </ul>
                        <!-- Fim ul nav da diretia, com search e login -->
                    </div>
                    <!-- Fim div container-fluid -->
                </nav>
            </div>
            <!-- Fim do nav fixado no topo-->
        </header>     
        <div id="div-main">
            <div id="div-botoes-pesquisa">
                <button class="button-title btn btn-info" id="button-buscar-licencas-ambiente" data-toggle="tooltip" aria-pressed="false"><i class="fas fa-bezier-curve fa-2x" aria-hidden="true" title="Por Ambiente"></i></button>
                <button class="button-title btn btn-info" id="button-buscar-licencas-servidor"><i class="fas fa-server fa-2x" aria-hidden="true" title="Por Servidor"></i></button><br><br>
                <input class="form-control mr-sm-2" type="text" id="input-search-host-group" name="filtro" placeholder="Filtrar"> 
            </div>
            <div id="div-mostra-total-licencas"></div>
            <div id="div-table-licencas" class="div-table-licencas table-responsive">
                <table class="table table-striped table-hover table-bordered" id="table-licencas">
                    <thead>
                        <tr>
                            <th class="linha-titulo-tabela">Problema</th>
                            <th class="linha-titulo-tabela">Camada Impactada</th>
                            <th class="linha-titulo-tabela">Status</th>
                            <th class="linha-titulo-tabela">Tipo Erro</th>
                            <th class="linha-titulo-tabela">Usuários Impactados</th>
                        </tr>
                    </thead>
                    <tbody id="table-body">
                    </tbody>
                </table>
            </div>
            <div id="demo"></div>
        </div> 
        <script src="js/api-get-problems.js"></script>
        <script src="js/disable-button.js"></script>
        <script src="js/filtrar-search-licencas.js"></script>
    </body>
    <!-- Fim do body -->
    </html>
    <!-- Fim do html -->
    $(document).ready(function() {
        const Url='';
        $("#button-buscar-licencas-ambiente").click(function(){
            $.ajax({
                url: Url,
                type:"GET",
                success: function(result){
                    console.log(result);
                    var problema =  result.problems;
                    var userimpactado = result.problems.impactAnalysis;                     
                    $.each(problema, function(i, value) {
                        console.log('The value at arr[' + i + '] is: ' + value.displayId);
                        var newRow = $('<tr class="linha-table">');
                        var cols = "";
                        cols += '<td class="displayId" id="displayId">' + value.displayId + '</td>';
                        cols += '<td class="impactLevel" id="impactLevel">' + value.impactLevel + '</td>';
                        cols += '<td class="status" id="status">' + value.status + '</td>';
                        cols += '<td class="title" id="title">' + value.title + '</td>';
                        cols += '<td class="estimatedAffectedUsers" id="estimatedAffectedUsers">' + value.impactAnalysis.impacts.estimatedAffectedUsers + '</td>';
                        newRow.append(cols);
                        $("#table-licencas").append(newRow); 
                    });                       
               },
            error:function(error){
                console.log('Error ${error}')
                
            }
        });
    });
    });

    Preciso pegar as informações dos campos 

    • estimatedAffectedUsers: 
    • numberOfPotentiallyAffectedServiceCalls: 
     
    Cada value.displayId pode ter 1 ou mais impactedEntity.
     
    impactAnalysis: {
    impacts: [
    {
    impactType: "SERVICE",
    impactedEntity: {
    entityId: {
    id: "SERVICE-034769111916BA3B",
    type: "SERVICE"
    },
    name: ""
    },
    estimatedAffectedUsers: 0,
    numberOfPotentiallyAffectedServiceCalls: 4496
    },
    {
    impactType: "APPLICATION",
    impactedEntity: {
    entityId: {
    id: "APPLICATION-A8D06FDBBA2EE7F6",
    type: "APPLICATION"
    },
    name: ""
    },
    estimatedAffectedUsers: 2
    },
    {
    impactType: "SERVICE",
    impactedEntity: {
    entityId: {
    id: "SERVICE-B7A98E7FDD81118A",
    type: "SERVICE"
    },
    name: "online-importer-server-v*"
    },
    estimatedAffectedUsers: 0,
    numberOfPotentiallyAffectedServiceCalls: 775
    },
    {
    impactType: "SERVICE",
    impactedEntity: {
    entityId: {
    id: "SERVICE-D773255CD13D8968",
    type: "SERVICE"
    },
    name: ""
    },
    estimatedAffectedUsers: 1,
    numberOfPotentiallyAffectedServiceCalls: 34
    }
    ]
     

  2. Senhores(a), por favor, alguém consegue me ajudar a entender como posso fazer para colocar o conteúdo abaixo, dentro de uma DIV, separando ou criando como se fosse uma tabela com o campo HostGroup e Licenças? 

     

    {"GFUnificado":14,"APIGateway":22,"OSBSegregado1":202,"Portal":14,"OAM":30,"MicroServicos":68,"Loja":58.5,"60-Lojas":46,"-Callcenter":37,"360-Dealers":24,"SOAMecsol":30,"MeuEmpresas":40,"OSBFarm4":89,"Prisma":8,"EricssonRevenueManager":50.75,"N":80,"Atl":10,"OSBEAI":2,"Next":208.5}

     

    Segue meu código:

     

    <!DOCTYPE html>
    
    <html lang="pt-br">
        <title>API Management</title>
        <head>
            <meta charset="8">
        </head>
        <body>
            <script>
                var urlapi = 'http://xxxxx.xxxx;   
                function fazerRequisicao(){
                   var url = urlapi + document.getElementById('hostgroup').value;
                   //var url = urlapi;
                   var xhttp = new XMLHttpRequest();
                   xhttp.open("GET", url, false);
                   xhttp.send();
                   var obj = JSON.parse(xhttp.responseText);
                   var data_map = new Map();
                   var index = 0;
                   for (i = 0; i < obj.length; i++) {
                    if(data_map.has(obj[i].hostGroup.name)) {
                        data_map.set(obj[i].hostGroup.name, data_map.get(obj[i].hostGroup.name) + +obj[i].consumedHostUnits);
                    } else {
                        data_map.set(obj[i].hostGroup.name, +obj[i].consumedHostUnits);
                    }
                   }
                   const objConverted = Object.fromEntries(data_map);
                   var myJSON = JSON.stringify(objConverted);
                   document.getElementById("div-responsetext").innerHTML = myJSON;
                }
                var len = myJSON.hostGroup.name.length, aryHostGroup = [];
            </script>  
            <button onclick="fazerRequisicao();">Pesquisar</button>
            <input type="text" id="hostgroup" style="width: 100px;">
            <hr/>
            <div id="div-responsetext"></div>
        </body>
    </html>

     

     


  3. Senhores, conseguem me ajudar a evoluir na questão abaixo??

     

    Tenho esse código simples, aonde chamo uma API e percorro um array e pego apenas um campo e faço a soma. Só que preciso retornar além do campo "consumedHostUnits" e o campo "name", conforme print.

     

    json.PNG.d95fc24a5b9c020580b5a9f90176987a.PNG

     

    Alguém poderia me dar uma luz, como fazer isso? 

     

    O resultado seria mostrando 

     

    Name: APIGateway | ConsumedHostsUnits: 2

     

    Segue o HTML:

     

    <!DOCTYPE html>
    <html lang="pt-br">
        <title>API Management</title>
        <head>
            <meta charset="8">
        </head>
        <body>
            <script>
                var urlapi = '';    
                function fazerRequisicao(){
                   var url = urlapi + document.getElementById('hostgroup').value;
                   //var url = urlapi;
                   var xhttp = new XMLHttpRequest();
                   xhttp.open("GET", url, false);
                   xhttp.send();
                   
                   var arrayElements = xhttp.responseText.split(',');
                   var i;
                   var sumComsumed = 0.0;
                    for (i = 0; i < arrayElements.length; i++) {
                        if(arrayElements[i].includes("consumedHostUnits")) {
                            sumComsumed = sumComsumed + +arrayElements[i].split(":")[1];
                        }
                    }
                    document.getElementById("div-responsetext").innerHTML = sumComsumed;
                }
            </script>
            
            <button onclick="fazerRequisicao();">Pesquisar</button>
            <input type="text" id="hostgroup" style="width: 100px;">
            <hr/>
            <div id="div-responsetext"></div>
        </body>
    </html>
    

    Obrigado.

     

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.