Full-Monitoring / oluas_proxmox

Consumindo a API do Proxmox com HTTP Agent

Home Page:https://full-monitoring.github.io/oluas_proxmox/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PROXMOX 6.3-2 + ZABBIX 5.0.14 + GRAFANA 8.1.1

Usando item HTTP AGENT

image

image

print

print

print

Criar Token API

Sobre o Template Zabbix

Adicione suas macros no host

image

Macros LLD

{#NAME} -> $.name
{#TYPE} -> $.type
{#VMID} -> $.vmid
{#STORAGE} -> $.storage
{#NODE} -> $.node

Contador de vms, storages e nodes (total)

$.body.data[?(@.type == 'qemu')].length()
$.body.data[?(@.type == 'storage')].length()
$.body.data[?(@.type == 'node')].length()

Contador de vms (ligadas)

$.[?(@.status == 'running')].length()

Contador de vms (deligadas)

$.[?(@.status == 'stopped')].length()

Filtros de contagem dos protótipos de itens tipo vm

$.[?(@.name == '{#NAME}')].status.first()
$.[?(@.name == '{#NAME}')].uptime.first()
$.[?(@.name == '{#NAME}')].cpu.first()
$.[?(@.name == '{#NAME}')].maxcpu.first()
$.[?(@.name == '{#NAME}')].mem.first()
$.[?(@.name == '{#NAME}')].maxmem.first()
$.[?(@.name == '{#NAME}')].netin.first()
$.[?(@.name == '{#NAME}')].netout.first()

Item de calculo de porcentagem de memória ram da vm

100*last("vm.mem[{#NAME}]")/last("vm.maxmem[{#NAME}]")

Alterando valores de retorno de status da vm de running ou stopped para 1 ou 0

if (value == 'running'){
    return 1;
} else {
    return 0;
}

filtros de contagem dos protótipos de itens tipo storage

$.[?(@.storage == '{#STORAGE}')].disk.first()
$.[?(@.storage == '{#STORAGE}')].maxdisk.first()
$.[?(@.storage == '{#STORAGE}')].status.first()

filtros de contagem dos protótipos de itens tipo storage

$.[?(@.storage == '{#STORAGE}')].disk.first()
$.[?(@.storage == '{#STORAGE}')].maxdisk.first()
$.[?(@.storage == '{#STORAGE}')].status.first()

Alterando valores de retorno de status do node de available para 1

if (value == 'available'){
    return 1;
} else {
    return 0;
}

Item de calculo de porcentagem de armazenamento do storage

100*last("storage.disk[{#STORAGE}]")/last("storage.maxdisk[{#STORAGE}]")

Contador de storages disponíveis ou inidiponíveis

$.[?(@.status == 'available')].length()
$.[?(@.status == 'unavailable')].length()

filtros de contagem dos protótipos de itens tipo node

$.[?(@.node == '{#NODE}')].disk.first()
$.[?(@.node == '{#NODE}')].maxdisk.first()
$.[?(@.node == '{#NODE}')].uptime.first()
$.[?(@.node == '{#NODE}')].mem.first()
$.[?(@.node == '{#NODE}')].maxmem.first()
$.[?(@.node == '{#NODE}')].maxcpu.first()
$.[?(@.node == '{#NODE}')].status.first()
$.[?(@.node == '{#NODE}')].cpu.first()

Item de calculo de porcentagem de memoria ram e disco do node

100*last("node.mem[{#NODE}]")/last("node.maxmem[{#NODE}]")
100*last("node.disk[{#NODE}]")/last("node.maxdisk[{#NODE}]")

Alterando valores de retorno de status do node de online e offiline para 1 ou 0

if (value == 'online'){
    return 1;
} else {
    return 0;
}