Placas de captura¶
A seção Placas de captura responde às perguntas que antes se resolviam lendo a configuração a olho e indo até o servidor: quais placas estão nas máquinas do cluster, quantas portas elas têm, que sinal há nessas portas, qual stream já as ocupou e se alguma placa está superaquecendo.

O que se mostra de uma placa¶
| Coluna | Significado |
|---|---|
| Nó | o streamer em que a placa está instalada. A seção mostra o cluster inteiro |
| Modelo, Número de série | como a própria placa os declara. O número de série é a chave com que a placa é endereçada na configuração do stream |
| Barramento | o endereço PCIe e, abaixo dele, o link até a placa: largura e velocidade |
| Firmware | a variante de firmware: é ela que define a distribuição das portas |
| Temperatura, Ventiladores | as leituras dos sensores da placa. A seção não aplica limiares nem julga se «está quente» — isso é tarefa do sistema de monitoramento |
O link PCI Express é marcado como reduzido se a placa está instalada em um slot com menos linhas do que ela própria suporta. O link é comum a todas as portas da placa, portanto define o limite de banda para todas ao mesmo tempo. Um link reduzido não desativa nenhuma porta: ele reduz o número de fluxos que a placa consegue entregar. Um fluxo 2160p50 ocupa cerca de 1,1 GB/s: um slot x4 Gen 3 transporta cerca de 3,5 GB/s, ou seja, três fluxos assim; um slot x4 Gen 2, a metade, ou seja, um.
A variante de firmware define quantos canais a placa tem, quais deles são entradas e quais são saídas, e o que passa por eles: SDI ou ASI. Na captura de tela a DTA-2178 está na variante «2x (12G-SDI+3G-SDI/ASI) with Genlock»: dos seus oito canais, as portas 2 e 5 são entradas, as portas 1 e 6 são saídas e as outras quatro são saídas internas. Outra variante de firmware distribuiria os mesmos oito conectores de outra forma, portanto a direção de uma porta não pode ser deduzida do seu número. A lista completa de variantes de cada modelo está na documentação da DekTec.
A variante de firmware não se troca pela interface: é uma regravação da placa com o utilitário da DekTec e um desligamento, e durante a regravação a captura para em todas as portas da placa.
Portas¶
A linha de uma placa se expande em uma tabela de portas.

O estado de uma porta é nomeado com uma palavra de um vocabulário fechado, porque atrás de cada palavra há uma ação diferente do operador:
| Estado | O que significa | O que fazer |
|---|---|---|
| não é entrada | a variante de firmware fez da porta uma saída ou uma porta de outro tipo | remanejar o cabo ou regravar a placa |
| livre | porta de entrada não atribuída a nenhum stream | pode ser atribuída |
| atribuída a um stream | porta de entrada nomeada na configuração aplicada do streamer | nada; o nome do stream está ao lado como link |
| retida por um processo travado | o processo de captura dessa porta não terminou nem ao fechar sua entrada padrão nem com SIGKILL |
resolve-se no host |
| retida por um processo alheio | pelo firmware a porta é entrada, na nossa tabela está livre ou é nossa, e a captura responde «porta ocupada» | procurar quem a retém de fora |
| estado desconhecido para esta versão | o streamer é mais novo que o painel e nomeou um estado para o qual o painel não tem palavra | não atribuir o stream — a porta bem pode estar ocupada; atualizar o painel |
Na seção não há um «ocupada» genérico: cada estado tem a sua própria ação, e a tabela a nomeia.
À parte do estado está a direção. A marca «não pode ser entrada» junto a ela não fala do que ocupa a porta agora, mas de que a variante de firmware não a fez entrada. Uma saída comum não leva a marca: o firmware pode passá-la a entrada. Uma saída interna a leva sempre: o firmware a entregou a uma porta vizinha. Só uma regravação muda isso, veja acima.
Duas classes de porta não recebem sinal nenhum e nem sempre têm conector no suporte:
- genlock — entrada de referência: por ela a placa toma o sinal de referência, não o sinal a gravar;
- virtual — não há conector algum; com ele a placa declara a própria referência livre, ou seja, o estado «não está presa a nada».
A coluna Tipo mostra para que tipo de sinal a porta está configurada agora: sd_sdi, hd_sdi, 3g_sdi ou 12g_sdi. É uma configuração, não o limite da porta: uma porta livre guarda o último valor, e assim que um sinal 12G é ligado a uma porta com hd_sdi o tipo muda sozinho.
A coluna Linha diz o que a placa vê na porta agora mesmo:
- resolução e frequência — há sinal, e é este. A letra depois da frequência é o nível do sinal 3G, A ou B;
- «sem sinal» — uma porta de entrada em que a placa não vê nada;
- «desconhecido» — a placa não informou o estado da linha. Saídas, genlock e a porta virtual nunca o têm, e isso não significa ausência de sinal.
Se a placa escala o sinal por conta própria (recebe 12G e entrega 3G para cima) ou detecta na linha um tipo de sinal diferente daquele para o qual a porta está configurada, isso é indicado por uma nota ao lado. Sem essa marca, a divergência entre o padrão da linha e a resolução do stream é lida como um defeito que não existe.
A porta e o stream se ligam nos dois sentidos¶
Da linha de uma porta sai um link para a ficha do stream que a ocupou. O link inverso — «Ver em placas de captura» — está na seção de entrada do stream, ao lado do campo do número de série.
Dali mesmo se escolhem a placa e a porta: os campos da seção SDI (DekTec) tomam seus valores desse mesmo inventário. Os detalhes estão em Captura SDI.
A atribuição é conferida com o firmware, mas a configuração não é rejeitada por isso: ela tem de se aplicar tanto antes de a placa ser instalada quanto em outro streamer. Um stream atribuído a uma porta que, segundo o último instantâneo, não é entrada recebe esse fato nas estatísticas da sua entrada. É isso que explica a recusa «porta ocupada» sem nenhum processo retendo a porta.
Quando as placas não aparecem¶
A seção distingue três «vazios» diferentes porque as ações são diferentes:
- Não há placas. A sondagem ocorreu e não havia placas na máquina. Esses streamers não aparecem na lista de forma alguma.
- Inventário desconhecido. A sondagem falhou. O streamer é listado em uma linha à parte com a causa e há quanto tempo foi a última sondagem bem-sucedida.
- Streamer inacessível. Não há comunicação com o próprio streamer. Também em uma linha à parte, com sua própria causa.
Uma sondagem malsucedida nomeia sua causa:
- o sondador não está instalado — o pacote
dektec-bridgenão está no host; - não coube no tempo — a sondagem não terminou dentro do prazo;
- terminou com erro — código de saída diferente de zero;
- respondeu algo ilegível — não foi possível ler sua saída;
- causa desconhecida para esta versão — o streamer nomeou uma causa para a qual o painel não tem palavra.
Os dados são coletados pelo dektec_probe, uma chamada única e não um daemon: o streamer o executa uma vez por minuto, lê o JSON da sua saída e deixa o processo terminar. O sondador não abre portas de forma alguma, então não pode atrapalhar a captura. Ele é instalado pelo pacote dektec-bridge junto com o dektec_ingest; a ausência do pacote no host é um estado normal, no qual a seção diz «inventário desconhecido» em vez de mostrar um parque vazio.
O que vai para o monitoramento¶
Para o Prometheus vão três séries: capture_card_info com os dados estáticos da placa nos rótulos, capture_card_temperature_celsius e capture_card_fan_rpm. A chave de junção é o número de série, e não o endereço no barramento: uma placa é trocada de slot, e o histórico por bus/slot se cortaria embora a placa seja a mesma.
A temperatura e as rotações vão para o monitoramento sempre, não só quando os valores são preocupantes: uma série que aparecesse só com o superaquecimento não se distinguiria da ausência de dados.
Uma placa de refrigeração passiva não tem série de rotações de forma alguma. Não são zero rotações: «não há ventilador» e «o ventilador parou» são coisas diferentes e não devem ser confundidas.
Das portas não há séries: seu estado não muda entre scrapes e não gera alertas, e o estado de linha de uma porta ocupada já viaja pelo lado do stream.