- Use os dados de utilização de CPU e memória para medir as necessidades de recursos dos servidores multijogador, para que você possa calcular corretamente o número ideal de servidores de jogo em um SKU (tipo) específico de máquina virtual
- Use os contadores de rede para detectar um ambiente de rede irregular, como tentativas de ataques DDoS ou outros congestionamentos de rede
Uso
As métricas de VM de um build podem ser habilitadas de duas maneiras, dependendo de como o build é criado:- Usando o Game Manager, você pode marcar a caixa de seleção “Virtual machine metrics” na página “New Build” do Game Manager.
- Usando a API do PlayFab Multiplayer Servers, você pode definir a propriedade IsEnabled como TRUE nos seguintes objetos de API.
- InstrumentationConfiguration na chamada à API CreateBuildWithManagedContainer para um build Windows com contêineres
- InstrumentationConfiguration na chamada à API CreateBuildWithProcessBasedServer para um build Windows baseado em processo
- LinuxInstrumentationConfiguration na chamada à API CreateBuildWithCustomContainer para um build Linux
Windows
No Windows, a coleta de métricas de VM é um recurso do orquestrador de contêineres/processos existente do PlayFab, chamado VmAgent. O VmAgent executa periodicamente (a cada 10 segundos) uma tarefa que consulta os seguintes contadores de desempenho do sistema.- Megabytes disponíveis
- % de tempo do processador
- % de tempo do usuário
- Leituras de disco/s (para a unidade D:)
- Gravações de disco/s (para a unidade D:)
- Bytes recebidos/s
- Bytes enviados/s
Linux
No Linux, usamos o agente de código aberto telegraf para coletar e processar métricas. O telegraf coleta métricas a cada 10 segundos e as emite para nosso agente coletor interno a cada 60 segundos. Para referência, você pode ver abaixo o conteúdo do arquivo de configuração telegraf.conf que usamos. Para obter mais detalhes, acesse a documentação oficial do telegraf. Também usamos um utilitário interno chamadotelegraf-geneva-processor, que emite o valor da diferença para métricas no nível de contador, como a métrica net_bytes_recv. Emitir o valor da diferença em vez do valor real do contador resulta em uma visualização melhor nos gráficos fornecidos pelo Game Manager.
- cpu_usage_system
- cpu_usage_user
- memory_available_percent
- net_bytes_recv_diff (bytes de rede recebidos em eth0)
- net_bytes_sent_diff (bytes de rede enviados em eth0)
- diskio_reads_diff (número de leituras em sdb)
- diskio_writes_diff (número de gravações em sdb)
