Monitoramento do streaming de baixa latência do Amazon IVS
Você pode monitorar os recursos do Amazon Interactive Video Service (IVS) usando o Amazon CloudWatch. O CloudWatch coleta e processa dados brutos do Amazon IVS e os transforma em métricas legíveis quase em tempo real. Essas estatísticas são mantidas por 15 meses, de maneira que você pode obter uma perspectiva histórica de como a aplicação da Web ou o serviço está se saindo. É possível definir alarmes para determinados limites e enviar notificações ou realizar ações quando esses limites são atingidos. Para obter mais detalhes, consulte o Guia do usuário do CloudWatch.
O timestamp em uma métrica representa o início do período em que os dados de métricas são acumulados. Por exemplo, suponhamos que você receba um soma de métricas LiveDeliveredTime
por minuto de 300 segundos à 01:02:00. Isso significaria que 5 minutos de vídeo foram entregues aos visualizadores durante o período de 1 minuto, de 01:02:00 às 01:02:59.
Para métricas designadas como de alta resolução, o primeiro ponto de dados aparece vários segundos após o início da transmissão. Recomendamos que você especifique um período de 5 segundos ao fazer as solicitações de métricas. (Consulte Resolução no Guia do usuário do Amazon CloudWatch.) Para outras métricas, os dados são emitidos em até 1 minuto do timestamp ao qual se referem.
As métricas de alta resolução são acumuladas ao longo do tempo. A resolução diminui efetivamente à medida que as métricas envelhecem. A programação é:
-
Métricas de 1 segundo permanecem disponíveis por 3 horas.
-
Métricas de 60 segundos permanecem disponíveis por 15 dias.
-
Métricas de 5 minutos permanecem disponíveis por 63 dias.
-
Métricas de 1 hora permanecem disponíveis por 455 dias (15 meses).
Para obter informações atuais sobre retenção de dados, procure por “período de retenção” nas Perguntas frequentes sobre o Amazon CloudWatch
Pré-requisitos
-
É necessário ter uma conta da AWS com permissões do IAM suficientes para interagir com as APIs do Stream Health e as métricas do CloudWatch. Para obter etapas específicas, consulte Conceitos básicos do streaming de baixa latência do IVS.
-
Você deve criar um canal e iniciar uma transmissão. Informações relevantes podem ser encontradas no Guia do usuário do streaming de baixa latência do IVS:
-
Para obter instruções sobre como criar um canal, consulte Create a Channel em Conceitos básicos do streaming de baixa latência do IVS.
-
Para obter instruções sobre como iniciar uma transmissão, consulte Set Up Streaming Software em Conceitos básicos do streaming de baixa latência do IVS.
-
Para obter detalhes sobre a configuração do codificador, consulte Configuração de transmissão do Amazon IVS.
-
Acessar dados da sessão de transmissão
Usando o endpoint listStreamSessions
, você pode acessar uma lista de transmissões que um canal teve por até 60 dias. Esta lista pode incluir uma sessão de transmissão ao vivo (denotada por um endTime
vazio).
Você pode obter os dados da sessão para uma transmissão específica por meio do endpoint getStreamSession
. Se você não especificar o parâmetro streamId
, o endpoint retornará a sessão mais recente. Além disso, você pode chamar periodicamente o endpoint para obter os últimos eventos de transmissão (até os 500 mais recentes).
Instruções do console
-
Abra o console do Amazon IVS
. (Você também pode acessar o console do Amazon IVS via Console de Gerenciamento da AWS
.) -
No painel de navegação, escolha Channels (Canais). (Se o painel de navegação estiver recolhido, primeiro abra-o escolhendo o ícone de hambúrguer.)
-
Escolha o canal para acessar a respectiva página de detalhes.
-
Role para baixo a página até ver a seção Sessões de transmissão.
-
Selecione o ID de transmissão da sessão que você deseja acessar para visualizar os detalhes da sessão, incluindo gráficos para as métricas de alta resolução do Amazon CloudWatch.
Como alternativa, se um ou mais canais já estiverem ativos:
-
Abra o console do Amazon IVS
. -
No painel de navegação, escolha Live channels (Canais ao vivo). (Se o painel de navegação estiver recolhido, primeiro abra-o escolhendo o ícone de hambúrguer.)
-
Selecione um canal ativo na lista para acessar os detalhes da sessão em uma visualização dividida.
Instruções do AWS SDK
Acessar dados de sessão de transmissão com o AWS SDK é uma opção avançada e exige que você baixe e configure o SDK na aplicação primeiro. As instruções para o AWS SDK usando JavaScript são descritas a seguir.
Pré-requisito: para usar o exemplo de código abaixo, você precisa carregar o AWS JavaScript SDK em sua aplicação. Para obter mais detalhes, consulte .Conceitos básicos do AWS SDK for JavaScript.
// This first call lists up to 50 stream sessions for a given channel. const AWS = require("aws-sdk"); const REGION = 'us-west-2'; let channelArn = USE_YOUR_CHANNEL_ARN_HERE; AWS.config.getCredentials(function(err) { if (err) console.log(err.stack); // credentials not loaded else { console.log("Access key:", AWS.config.credentials.accessKeyId); } }); AWS.config.update({region: REGION}); var ivs = new AWS.IVS(); // List Stream Sessions async function listSessions(arn) { const result = await ivs.listStreamSessions({"channelArn": arn}).promise(); console.log(result.streamSessions); } listSessions(channelArn); // Get Stream Session async function getSession(arn, id) { const result = await ivs.getStreamSession({"channelArn": arn, "streamId": id}).promise(); console.log(result); // This function polls every 3 seconds and prints the latest IVS stream events. setInterval(function(){ console.log(result.streamSession.truncatedEvents); }, 3000); } getSession(channelArn);
Instruções da CLI
Acessar dados de sessão de transmissão com a AWS CLI é uma opção avançada e exige que você baixe e configure a CLI em sua máquina primeiro. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.
-
Listar sessões de transmissão:
aws ivs list-stream-sessions --channel-arn <arn>
-
Obter dados de sessão de transmissão para uma transmissão específica usando seu
streamId
:aws ivs get-stream-session --channel-arn <arn> --stream-id <streamId>
Veja uma resposta de exemplo para a chamada get-stream-session
:
{ "streamSession": { "startTime": "2021-10-22T00:03:57+00:00", "streamId": "st-1FQzeLONMT9XTKI43leLSo1", "truncatedEvents": [ { "eventTime": "2021-10-22T00:09:30+00:00", "name": "Session Ended", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:09:30+00:00", "name": "Stream End", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:03:57+00:00", "name": "Stream Start", "type": "IVS Stream State Change" }, { "eventTime": "2021-10-22T00:03:50+00:00", "name": "Session Created", "type": "IVS Stream State Change" } ], "endTime": "2021-10-22T00:09:31+00:00", "ingestConfiguration": { "audio": { "channels": 2, "codec": "mp4a.40.2", "sampleRate": 48000, "targetBitrate": 160000 }, "video": { "avcLevel": "4.0", "avcProfile": "Baseline", "codec": "avc1.42C028", "encoder": "obs-output module (libobs version 27.0.1)", "targetBitrate": 3500000, "targetFramerate": 30, "videoHeight": 1080, "videoWidth": 1920 } }, "channel": { "name": "", "ingestEndpoint": "3f234d592b38.global-contribute.live-video.net", "authorized": false, "latencyMode": "LOW", "recordingConfigurationArn": "", "type": "STANDARD", "playbackUrl": "https://3f234d592b38.us-west-2.playback.live-video.net/api/video/v1/us-west-2.991729659840.channel.dY7LsluQX1gV.m3u8", "arn": "arn:aws:ivs:us-west-2:991729659840:channel/dY7LsluQX1gV" } } }
Filtrar transmissões por integridade
Para encontrar facilmente quais transmissões estão enfrentando problemas, você pode usar listStreams
para filtrar transmissões ao vivo por “integridade”.
Instruções do console
-
Abra o console do Amazon IVS
. (Você também pode acessar o console do Amazon IVS via Console de Gerenciamento da AWS
.) -
No painel de navegação, escolha Live channels (Canais ao vivo). (Se o painel de navegação estiver recolhido, primeiro abra-o escolhendo o ícone de hambúrguer.)
-
Selecione o campo de pesquisa para Filter by health (Filtrar por integridade).
-
Na lista suspensa, selecione filtrar por Health = STARVING (Integridade = FAMINTO).
Após a filtragem, você pode acessar a página de detalhes de um canal e selecionar a sessão de transmissão ao vivo do canal para acessar detalhes de configuração de entrada e eventos de transmissão.
Instruções da CLI
Usar a AWS CLI é uma opção avançada e exige que você baixe e configure a CLI em sua máquina primeiro. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.
Filtrar transmissões por integridade (por exemplo, STARVING
):
aws ivs list-streams --filter-by health=STARVING
Dimensão de integridade do CloudWatch para ConcurrentStreams
Você pode filtrar ConcurrentStreams
por uma Health
específica. Consulte Métricas do CloudWatch: streaming de baixa latência do IVS.
Acessar métricas do CloudWatch
O Amazon CloudWatch coleta e processa dados brutos do Amazon IVS e os transforma em métricas legíveis quase em tempo real. Essas estatísticas são mantidas por 15 meses, de maneira que você pode obter uma perspectiva histórica de como a aplicação da Web ou o serviço está se saindo. É possível definir alarmes para determinados limites e enviar notificações ou realizar ações quando esses limites são atingidos. Para obter mais detalhes, consulte o Guia do usuário do CloudWatch.
Observe que as métricas do CloudWatch são acumuladas ao longo do tempo. A resolução diminui efetivamente à medida que as métricas envelhecem. A programação é:
-
Métricas de 1 segundo permanecem disponíveis por 3 horas.
-
Métricas de 60 segundos permanecem disponíveis por 15 dias.
-
Métricas de 5 minutos permanecem disponíveis por 63 dias.
-
Métricas de 1 hora permanecem disponíveis por 455 dias (15 meses).
Ao chamar getMetricData
, é possível especificar um período de 1, 5 (recomendado), 10, 30 ou qualquer múltiplo de 60 segundos para métricas de alta resolução.
Instruções do console do CloudWatch
-
Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/
. -
Na navegação lateral, expanda a lista suspensa Metrics (Métricas) e, em seguida, selecione All metrics (Todas as métricas).
-
Na guia Procurar, usando o menu suspenso sem rótulo à esquerda, selecione a sua região “inicial”, onde os seus canais foram criados. Para obter mais informações sobre regiões, consulte Solução global, controle regional. Para obter uma lista das regiões compatíveis, consulte a página do Amazon IVS na Referência geral da AWS.
-
Na parte inferior da guia Procurar, selecione o namespace IVS.
-
Execute um destes procedimentos:
-
Na barra de pesquisa, insira o ID do recurso (parte do ARN,
arn:::ivs:channel/<resource id>
).Depois selecione IVS > Por canal.
-
Se o IVS aparecer como um serviço selecionável em Namespaces da AWS, selecione-o. Ele será listado se você usar o Amazon IVS e estiver enviando métricas para o Amazon CloudWatch. (Se o IVS não estiver listado, você não terá nenhuma métrica do Amazon IVS).
Em seguida, escolha um agrupamento de dimensões, conforme desejado. As dimensões disponíveis estão listadas em Métricas do CloudWatch abaixo.
-
-
Escolha as métricas a serem adicionadas ao gráfico. As métricas disponíveis estão listadas em Métricas do CloudWatch abaixo.
Você também pode acessar o gráfico CloudWatch da sessão de transmissão na página de detalhes da sessão de transmissão selecionando o botão View in CloudWatch (Visualizar no CloudWatch).
Instruções da CLI
Você também pode acessar as métricas usando a AWS CLI. Isso exige que você primeiro faça o download e configure a CLI em sua máquina. Para obter mais detalhes, consulte o Guia do usuário da Interface de Linhas de Comando da AWS.
Depois, para acessar as métricas do streaming de baixa latência do Amazon IVS usando a AWS CLI:
-
Em um prompt de comando, execute:
aws cloudwatch list-metrics --namespace AWS/IVS
Para obter mais informações, consulte Como usar métricas do Amazon CloudWatch no Guia do usuário do Amazon CloudWatch.
Métricas do CloudWatch: streaming de baixa latência do IVS
O Amazon IVS fornece as seguintes métricas no namespace da AWS/IVS.
Métrica | Dimensão | Descrição |
---|---|---|
|
Nenhum |
Uma contagem de visualizações simultâneas em todos os seus canais ao vivo. Uma exibição é uma sessão de exibição exclusiva fazendo download ou reproduzindo vídeo de forma ativa. (Para obter uma definição mais detalhada, consulte o Glossário do IVS.) Se os canais estiverem ativos, mas em conjunto não tiverem exibições, o valor dessa métrica será zero. Se nenhum canal estiver ao vivo, a métrica não terá pontos de dados. Unidade: contagem Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de visualizações simultâneas durante o intervalo configurado). |
|
|
Essa métrica fornece dados para um canal, não para um stream. Para ver as exibições simultâneas de uma sessão de streaming específica em determinado canal, avalie a métrica de Unidade: contagem Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de visualizações simultâneas durante o intervalo configurado). |
|
Nenhum |
É uma contagem dos seus canais que estão fazendo streaming ao vivo. Se nenhum canal estiver ao vivo, essa métrica não terá pontos de dados. Unidade: contagem Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de transmissões simultâneas durante o intervalo configurado). |
|
|
Filtra Unidade: contagem Estatísticas válidas: média, máximo, mínimo (respectivamente, o número médio, máximo ou mínimo de transmissões simultâneas para uma |
|
|
(Métricas de alta resolução) A quantidade de dados de áudio que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível. Unidade: bits por segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão de áudio durante o intervalo configurado) |
|
|
(Métricas de alta resolução) A quantidade de dados de áudio que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível. Unidade: bits por segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão de áudio durante o intervalo configurado) |
|
|
(Métricas de alta resolução) A quantidade de vídeo, áudio e metadados (somados de todas as faixas) que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível. Unidade: bits por segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão durante o intervalo configurado) |
|
|
(Métricas de alta resolução) Com que frequência os quadros de vídeo são recebidos pelo Amazon IVS quando você transmite. Unidade: contagem/segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de quadros de ingestão durante o intervalo configurado) |
|
|
(Métricas de alta resolução) Com que frequência os quadros de vídeo são recebidos pelo Amazon IVS quando você transmite. Unidade: contagem/segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de quadros de ingestão durante o intervalo configurado) |
|
|
(Métricas de alta resolução) A quantidade de dados de vídeo que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível. Uma taxa de bits mais alta pode melhorar a qualidade do vídeo, mas apenas até certo ponto. Unidade: bits por segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão de vídeo durante o intervalo configurado) |
|
|
(Métricas de alta resolução) A quantidade de dados de vídeo que o Amazon IVS recebe quando você transmite. Uma taxa de bits mais alta ocupa mais da largura de banda da Internet disponível. Uma taxa de bits mais alta pode melhorar a qualidade do vídeo, mas apenas até certo ponto. Unidade: bits por segundo Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de taxas de bits de ingestão de vídeo durante o intervalo configurado) |
|
|
(Métricas de alta resolução) O ponto na transmissão de vídeo em que todo o quadro é enviado, em vez de apenas as diferenças em relação ao quadro anterior. Unidade: segundos Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de intervalos de quadros principais durante o intervalo configurado) |
|
|
(Métricas de alta resolução) O ponto na transmissão de vídeo em que todo o quadro é enviado, em vez de apenas as diferenças em relação ao quadro anterior. Unidade: segundos Estatísticas válidas: média, máxima, mínima (respectivamente, o número médio, máximo ou mínimo de intervalos de quadros principais durante o intervalo configurado) |
|
Nenhum | Duração total do vídeo veiculado em tempo real para todos os visualizadores. Unidade: segundos Estatística válida: soma |
|
|
Unidade: segundos Estatística válida: soma |
|
|
Unidade: segundos Estatística válida: soma |
|
Nenhum | Duração do stream de vídeo em tempo real. Unidade: segundos Estatística válida: soma |
|
|
Unidade: segundos Estatística válida: soma |
|
Nenhum | Duração do vídeo gravado em tempo real. Unidade: segundos Estatística válida: soma |
|
|
Unidade: segundos Estatística válida: soma |