`;
throw new Error(`Erro na API dos Chamados: ${ResutadosZabix}`);
}
if (ResutadosZabix === 404) {
Elementohost.innerHTML = `
Status 404
Nenhum serviço encontrado
`;
throw new Error(`Erro na API dos Chamados: ${ResutadosZabix}`);
}
if (ResutadosZabix === 401) {
Elementohost.innerHTML = `
Status 404
Usuário não autenticado!
`;
throw new Error(`Erro na API dos Chamados: ${ResutadosZabix}`);
}
if (ResutadosZabix === 502) {
Elementohost.innerHTML = `
Status 404
Estamos realizando manutenções, volte mais tarde
`;
throw new Error(`Erro na API dos Chamados: ${ResutadosZabix} `);
}
if (ResutadosZabix === 504) {
Elementohost.innerHTML = `
Status 404
Estamos realizando manutenções, volte mais tarde
`;
throw new Error(`Erro na API dos Chamados: ${ResutadosZabix} `);
}
}
function ApresentarHosts(hosts) {
const filteredHosts = hosts.filter(host =>
host.metrics.some(metric => metric.key === "system.hostname")
);
const seletorEnseg = document.getElementById('Hostes');
const hostsPainel = document.getElementById('ItensHosts');
if (!seletorEnseg) return;
// Evita múltiplos eventos sendo adicionados ao select
seletorEnseg.innerHTML = ``;
filteredHosts.forEach(host => {
let hostName = host.metrics.find(metric => metric.key === "system.hostname")?.value || "Desconhecido";
seletorEnseg.innerHTML += ``;
});
Preinfo = "
Selecione um Host
";
HostsPainel.innerHTML = Preinfo;
// Removendo eventos anteriores antes de adicionar um novo
seletorEnseg.replaceWith(seletorEnseg.cloneNode(true));
document.getElementById('Hostes').addEventListener('change', function () {
const selectedHostName = this.value;
hostsPainel.innerHTML = ""; // Limpa o painel
const selectedHost = filteredHosts.find(host =>
host.metrics.some(metric => metric.key === "system.hostname" && metric.value === selectedHostName)
);
if (!selectedHost) return;
let hostContentPainelFixo = "";
let hostContentPainelMovel = "";
selectedHost.metrics.forEach(metric => {
if (metric.key === "icmpping") {
const valor = metric.value;
if (valor == 0) {
hostContentPainelFixo += `
Host Desativado
`; // Aplicação do Desativado dentro do item host
}
// Reação de aplicação de inserção para o caso do ping for 1
if (valor == 1) {
hostContentPainelFixo += `
Host Ativado
`; // Aplicação do ativo dentro do item host
}
}
if (metric.key === "vm.memory.size[total]") {
const valorMemoria = metric.value;
const totalGB = (valorMemoria / Math.pow(1024, 3)).toFixed(2);
hostContentPainelFixo += `
Total de Ram ${totalGB} GB
`
}
let hostContentArmazen = ""
// Suponha que metric.key pode ter diferentes letras de unidade
if (metric.key.startsWith("vfs.fs.dependent.size[")) {
// Expressão regular para capturar a letra da unidade
const match = metric.key.match(/vfs\.fs\.dependent\.size\[([A-Z]):,total\]/);
if (match) {
const driveLetter = match[1]; // Captura a letra do drive
const valorDisco = metric.value;
const totalGB = (valorDisco / Math.pow(1024, 3)).toFixed(2);
hostContentArmazen += `
Disco de Total - ${driveLetter}: ${totalGB} GB
`;
}
}
// Suponha que metric.key pode ter diferentes letras de unidade
if (metric.key.startsWith("vfs.fs.dependent.size[")) {
// Expressão regular para capturar a letra da unidade
const match = metric.key.match(/vfs\.fs\.dependent\.size\[([A-Z]):,used\]/);
if (match) {
const driveLetter = match[1]; // Captura a letra do drive
const valorDisco = metric.value;
const usedGB = (valorDisco / Math.pow(1024, 3)).toFixed(2);
hostContentArmazen += `
Disco em uso - ${driveLetter}: ${usedGB} GB
`;
}
}
hostContentPainelFixo += hostContentArmazen;
if (metric.key === "system.cpu.util") {
let Alinhadocpu = Math.floor(metric.value);
hostContentPainelMovel += `
CPU ${Alinhadocpu}%
`;
setTimeout(() => {
const Elementoshost_CPU = document.getElementById(`ElementosUtili_CPU_${Alinhadocpu}`);
if (Alinhadocpu == 100) {
Elementoshost_CPU.classList.add('Consumo_Limite');
}
//Maior ou igual á 75 ou Menor ou igual á 99
if (Alinhadocpu >= 75 && Alinhadocpu <= 99) {
Elementoshost_CPU.classList.add('Consumo_Alto');
}
//Maior ou igual á 30 ou Menor ou igual á 74
if (Alinhadocpu >= 30 && Alinhadocpu <= 74) {
Elementoshost_CPU.classList.add('Consumo_Medio');
}
if (Alinhadocpu >= 0 && Alinhadocpu <= 29) {
Elementoshost_CPU.classList.add('Consumo_Baixo');
}
}, 1);
}
if (metric.key === "vm.memory.util") {
let AlinhadoMemory = Math.floor(metric.value);
hostContentPainelMovel += `
Ram ${AlinhadoMemory}%
`;
setTimeout(() => {
const Elementoshost_Memory = document.getElementById(`ElementosUtili_Memory_${AlinhadoMemory}`);
if (AlinhadoMemory == 100) {
Elementoshost_Memory.classList.add('Consumo_Limite');
}
//Maior ou igual á 75 ou Menor ou igual á 99
if (AlinhadoMemory >= 75 && AlinhadoMemory <= 99) {
Elementoshost_Memory.classList.add('Consumo_Alto');
}
//Maior ou igual á 30 ou Menor ou igual á 74
if (AlinhadoMemory >= 30 && AlinhadoMemory <= 74) {
Elementoshost_Memory.classList.add('Consumo_Medio');
}
if (AlinhadoMemory >= 0 && AlinhadoMemory <= 29) {
Elementoshost_Memory.classList.add('Consumo_Baixo');
}
}, 1);
}
});
hostsPainel.innerHTML = `
${hostContentPainelMovel}
${hostContentPainelFixo}
`;
});
}
localStorage.setItem('Carregou_tela_Moni', 'true');
clearInterval(checkElements_Moni);
}
} catch (error) {
console.error('Erro dentro da tela home:', error);
clearInterval(checkElements_Moni);
}
}, interval_Moni);
} catch (error) {
console.error('Erro fora da tela home:', error);
}
}