Um exportador de Prometheus para máquinas do Windows.
| Nome | Descrição | Ativado por padrão |
|---|---|---|
| anúncio | Serviços de domínio do Active Directory | |
| ADCs | Serviços de certificado do Active Directory | |
| ADFs | Serviços da Federação do Active Directory | |
| cache | Métricas de cache | |
| CPU | Uso da CPU | ✓ |
| cpu_info | Informações da CPU | |
| cs | Métricas "Sistema de Computador" (Propriedades do Sistema, NUM CPUs/Memória Total) | |
| recipiente | Métricas de contêiner | |
| DiskDrive | Métricas de DiskDrive | |
| dfsr | Métricas DFSR | |
| DHCP | Servidor DHCP | |
| dns | Servidor DNS | |
| intercâmbio | Métricas de troca | |
| FileTime | Métricas de FileTime | |
| fsrmquota | Microsoft File Server Resource Manager (FSRM) Coletor de cotas | |
| Hyperv | Hosts hyper-v | |
| Iis | Sites e aplicativos do IIS | |
| licença | Status da licença do Windows | |
| Logical_disk | Discos lógicos, E/S de disco | ✓ |
| logon | Sessões de logon do usuário | |
| memória | Métricas de uso de memória | ✓ |
| McLuster | Métricas de mscluster | |
| MSMQ | Filas MSMQ | |
| mssql | Métricas de objetos de desempenho do servidor SQL | |
| NetFramework | .NET Métricas de estrutura | |
| líquido | E/S da interface de rede | ✓ |
| OS | Métricas OS (memória, processos, usuários) | ✓ |
| PageFile | PageFile Métricas | |
| performancecounter | Métricas de contador de desempenho personalizadas | |
| físico_disk | Métricas de disco físico | ✓ |
| impressora | Métricas da impressora | |
| processo | Métricas por processo | |
| REMOTE_FX | Métricas do Protocolo Remotefx (RDP) | |
| agendado_task | Métricas de tarefas agendadas | |
| serviço | Métricas do estado de serviço | ✓ |
| SMB | Servidor SMB | |
| SMBCLIENT | Cliente de SMB | |
| smtp | IIS SMTP Server | |
| sistema | Chamadas do sistema | ✓ |
| TCP | Conexões TCP | |
| terminal_services | Serviços de Terminal (RDS) | |
| TextFile | Leia as métricas Prometheus de um arquivo de texto | |
| zona térmica | Informações térmicas | |
| tempo | Serviço de tempo do Windows | |
| UDP | Conexões UDP | |
| atualizar | Serviço de atualização do Windows | |
| VMware | Contadores de desempenho instalados pelo agente convidado da VMware |
Consulte a documentação vinculada em cada colecionador para obter mais informações sobre métricas relatadas, definições de configuração e exemplos de uso.
O windows_exporter exporá todas as métricas dos colecionadores ativados por padrão. Esta é a maneira recomendada de coletar métricas para evitar erros ao comparar métricas de diferentes famílias.
Para uso avançado, o windows_exporter pode ser passado uma lista opcional de colecionadores para filtrar as métricas. O parâmetro collect[] pode ser usado várias vezes. Na configuração do Prometheus, você pode usar essa sintaxe na configuração de Scrape.
params:
collect[]:
- foo
- bar
Isso pode ser útil para ter diferentes servidores Prometheus coleta métricas específicas de nós.
Windows_exporter aceita sinalizadores para configurar certos comportamentos. Os que configuram o comportamento global do exportador estão listados abaixo, enquanto os específicos do colecionador são documentados na respectiva documentação do coletor acima.
| Bandeira | Descrição | Valor padrão |
|---|---|---|
--web.listen-address | Host: Porta para exportador. | :9182 |
--telemetry.path | Caminho da URL para a superfície de métricas coletadas. | /metrics |
--telemetry.max-requests | Número máximo de solicitações simultâneas. 0 para desativar. | 5 |
--collectors.enabled | Lista de colecionadores separados por vírgula. Use [defaults] como um espaço reservado que é expandido contendo todos os colecionadores ativados por padrão. " | [defaults] |
--collectors.print | Se for verdade, imprima colecionadores e saídas disponíveis. | |
--scrape.timeout-margin | Segundos para subtrair o tempo limite permitido pelo cliente. Sintonize para permitir cargas gerais ou altas. | 0.5 |
--web.config.file | Uma configuração da web para configurar TLS e AUTH | Nenhum |
--config.file | Usando um arquivo de configuração de Path ou URL | Nenhum |
--config.file.insecure-skip-verify | Pule o TLS ao carregar o arquivo de configuração do URL | falso |
--log.file | Arquivo de saída das mensagens de log. Um dos [stdout, stderr, eventlog, <caminho para registrar arquivo>] NOTA: O instalador do MSI adicionará um argumento padrão ao serviço instalado, configurando isso para o EventLog | stderr |
A versão mais recente pode ser baixada na página de lançamentos.
Cada versão fornece um instalador .msi. O instalador configurará o Windows_exporter como um serviço do Windows, além de criar uma exceção no firewall do Windows.
Se o instalador for executado sem parâmetros, o exportador será executado com configurações padrão para colecionadores, portas etc. ativados, etc.
O instalador fornece um arquivo de configuração para personalizar o exportador.
O arquivo de configuração
--config.file .Os seguintes parâmetros estão disponíveis:
| Nome | Descrição |
|---|---|
ENABLED_COLLECTORS | Como o sinalizador --collectors.enabled , forneça uma lista separada por vírgula de colecionadores habilitados |
CONFIG_FILE | Use o sinalizador --config.file para especificar um arquivo de configuração. Se vazio, nenhum arquivo de configuração será definido. O Valor Especial config.yaml Defina o caminho para o config.yaml na instalação dir |
LISTEN_ADDR | O endereço IP para vincular. Padrões para uma string vazia. (qualquer endereço local) |
LISTEN_PORT | A porta para vincular. Padrões para 9182 . |
METRICS_PATH | O caminho para servir métricas. Padrões para /metrics |
TEXTFILE_DIRS | Use o sinalizador --collector.textfile.directories para especificar um ou mais diretórios, separados por vírgulas, onde o coletor deve ler arquivos de texto contendo métricas |
REMOTE_ADDR | Permite definir endereços IP remotos separados por vírgula para a exceção do firewall do Windows (permita a lista). Padrões para uma string vazia (qualquer endereço remoto). |
EXTRA_FLAGS | Permite passar bandeiras completas da CLI. Padrões para uma string vazia. Para --collectors.enabled e --config.file , use as propriedades especializadas ENABLED_COLLECTORS e CONFIG_FILE |
ADDLOCAL | Ativa os recursos do instalador do Windows_Exporter. Valores suportados: FirewallException |
REMOVE | Desative os recursos do instalador do Windows_Exporter. Valores suportados: FirewallException |
Os parâmetros são enviados ao instalador via msiexec . No PowerShell, o --% deve ser aprovado antes de definir propriedades.
Exemplo de invocações:
msiexec / i < path - to - msi - file > --% ENABLED_COLLECTORS=os,iis LISTEN_PORT=5000Exemplo de coletor de serviço com uma consulta personalizada.
msiexec / i < path - to - msi - file > --% ENABLED_COLLECTORS=os,service EXTRA_FLAGS="--collectors.exchange.enabled=""ADAccessProcesses"""Defina um arquivo de configuração.
msiexec / i < path - to - msi - file > --% CONFIG_FILE="D:config.yaml"Em algumas versões mais antigas do Windows, pode ser necessário envolver os valores dos parâmetros com cotações duplas para obter o comando de instalação analisando corretamente:
msiexec / i C:UsersAdministratorDownloadswindows_exporter.msi --% ENABLED_COLLECTORS="ad,iis,logon,memory,process,tcp,textfile,thermalzone" TEXTFILE_DIRS="C:custom_metrics"Para instalar o exportador com a criação de uma exceção do firewall, use o seguinte comando:
msiexec / i < path - to - msi - file > --% ADDLOCAL=FirewallException As versões PowerShell 7.3 e acima requerem psnativeCommanduMumPassining para ser definido como Legacy ao usar --% EXTRA_FLAGS :
$PSNativeCommandArgumentPassing = ' Legacy '
msiexec / i < path - to - msi - file > ENABLED_COLLECTORS = os , service --% EXTRA_FLAGS="--collectors.exchange.enabled=""ADAccessProcesses""" O Windows_exporter pode ser executado como um contêiner do Docker. A imagem do docker está disponível em
docker.io/prometheuscommunity/windows-exporterghcr.io/prometheus-community/windows-exporter A imagem do docker é marcada com a versão do exportador. A tag latest também está disponível e aponta para a versão mais recente.
Além disso, um flavors hostprocess com -hostprocess como sufixo é baseado no https://github.com/microsoft/windowshost-process-containers-base-image, projetado para ser executado como um contêiner de processo host do Windows. O tamanho dessas imagens é menor que o padrão.
Veja as etapas detalhadas a serem instaladas no Windows Kubernetes aqui.
windows_exporter suporta versões do Windows Server 2016 e posteriormente, e o Windows versão 10 e 11 da área de trabalho (21H2 ou posterior).
O Windows Server 2012 e 2012r2 é suportado apenas como melhor esforço, mas não é garantido para funcionar.
go get -u github.com/prometheus/promu
go get -u github.com/prometheus-community/windows_exporter
cd $env:GOPATH/src/github.com/prometheus-community/windows_exporter
promu build -v
.windows_exporter.exe
As métricas de Prometheus serão expostas no host: 9182
Windows_exporter fornece os seguintes pontos de extremidade HTTP:
/metrics : expõe métricas no formato de texto do Prometheus./health : retorna 200 OK quando o exportador está em execução./debug/pprof/ : expõe os pontos de extremidade do PPROF. Somente, se --debug.enabled estiver definido. .windows_exporter.exe --collectors.enabled "service" --collector.service.include="windows_exporter"
.windows_exporter.exe --collectors.enabled "process" --collector.process.include="firefox.+"
Quando existem vários processos com o mesmo nome, o WMI representa aqueles após a primeira instância como process-name#index . Então, para obter todos eles, em vez de apenas o primeiro, a expressão regular deve usar .+ . Consulte o processo para obter mais informações.
--collectors.enabled argument Usando [defaults] com --collectors.enabled Argumento que é expandido com todos os colecionadores padrão.
.windows_exporter.exe --collectors.enabled "[defaults],process,container"
Isso permite o processo adicional e os coletores de contêineres no topo dos padrões.
Os arquivos de configuração da YAML podem ser especificados com o sinalizador --config.file . Por exemplo .windows_exporter.exe --config.file=config.yml . Se você estiver usando o caminho absoluto, cite o caminho, por exemplo .windows_exporter.exe --config.file="C:Program Fileswindows_exporterconfig.yml"
Também é possível carregar a configuração de um URL. Por exemplo .windows_exporter.exe --config.file="https://example.com/config.yml"
Se você precisar pular a verificação do TLS, poderá usar o sinalizador --config.file.insecure-skip-verify . Por exemplo .windows_exporter.exe --config.file="https://example.com/config.yml" --config.file.insecure-skip-verify
collectors :
enabled : cpu,net,service
collector :
service :
include : windows_exporter
log :
level : warnUm exemplo de arquivo de configuração pode ser encontrado aqui.
Os valores dos arquivos de configuração podem ser misturados com sinalizadores de CLI. Por exemplo
.windows_exporter.exe --collectors.enabled=cpu,logon
log :
level : debugOs sinalizadores da CLI desfrutam de uma prioridade mais alta sobre os valores especificados no arquivo de configuração.
Sob o MIT