As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
CloudWatchSintaxe de expressão de pesquisa do
Uma expressão de pesquisa válida tem o formato a seguir.
SEARCH(' {Namespace, DimensionName1, DimensionName2, ...} SearchTerm', 'Statistic', Period)
Por exemplo:
SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" ', 'Average', 300)
-
A primeira parte da consulta depois da palavra
SEARCH
, entre chaves, é o esquema de métrica a ser pesquisado. O esquema de métrica contém um namespace de métrica e um ou mais nomes de dimensão. A inclusão de um esquema de métrica em uma consulta de pesquisa é opcional. Se especificado, o esquema de métrica deve conter um namespace e pode conter um ou mais nomes de dimensão que são válidos nesse namespace.Você não precisa usar aspas dentro do esquema de métrica, a menos que um nome de dimensão ou namespace inclua espaços ou caracteres não alfanuméricos. Nesse caso, você deve colocar o nome que contém esses caracteres entre aspas duplas.
-
O
SearchTerm
também é opcional, mas uma pesquisa válida deve conter o esquema de métrica, oSearchTerm
ou ambos. OSearchTerm
geralmente contém um ou mais nomes de métrica ou valores de dimensão. OSearchTerm
pode incluir vários termos para serem pesquisados, tanto por correspondência parcial como por correspondência exata. Ele também pode conter operadores boolianos.O
SearchTerm
pode incluir um ou mais designadores, comoMetricName=
, conforme este exemplo, mas o uso de designadores não é obrigatório.O esquema de métrica e
SearchTerm
devem estar juntos entre aspas simples. -
O
Statistic
é o nome de qualquer estatística válida do CloudWatch Ele deve ser colocado entre aspas simples. Para obter mais informações, consulte Statistics. -
O
Period
é o período de agregação em segundos.
O exemplo anterior pesquisa o namespace AWS/EC2
para as métricas que têm InstanceId
como nome de uma dimensão. Ele retorna todas as métricas CPUUtilization
que encontra, com o gráfico mostrando a estatística Average
com um período de agregação de 5 minutos.
Limites da expressão de pesquisa
O tamanho máximo da consulta da expressão de pesquisa é de 1024 caracteres. Você pode ter até cinco expressões de pesquisa em um gráfico. Um gráfico pode exibir até 500 séries temporais.
CloudWatchExpressões de pesquisa do : tokenização
Quando você especifica um SearchTerm
, a função de pesquisa procura tokens, que são substrings geradas automaticamente pelo CloudWatch de nomes completos de
métrica, nomes de dimensão, valores de dimensão e namespaces. O CloudWatch gera tokens
diferenciados pela capitalização concatenada na string original. Os caracteres numéricos
também são usados como o início de novos tokens, e os caracteres não alfanuméricos
funcionam como delimitadores, criando tokens antes e depois dos caracteres não alfanuméricos.
Uma string contínua do mesmo tipo do caractere delimitador de token resulta em um token.
Todos os tokens são gerados em letras minúsculas. A tabela a seguir mostra alguns exemplos de tokens gerados.
String original | Tokens gerados |
---|---|
CustomCount1 |
|
SDBFailure |
|
Project2-trial333 |
|
CloudWatchExpressões de pesquisa do : correspondências parciais
Quando você especifica um SearchTerm
, o termo de pesquisa também é tokenizado. O CloudWatch localiza métricas com base
em correspondências parciais, que são correspondências de um único token gerado a
partir do termo de pesquisa para um único token gerado a partir de um namespace, nome
ou valor da dimensão ou nome da métrica.
As pesquisas de correspondência parcial de um único token não distinguem letras maiúsculas
de minúsculas. Por exemplo, o uso de qualquer um dos seguintes termos de pesquisa
pode retornar a métrica CustomCount1
-
count
-
Count
-
COUNT
No entanto, o uso de couNT
como um termo de pesquisa não localiza CustomCount1
, pois a capitalização no termo de pesquisa couNT
é tokenizada em cou
e NT
.
As pesquisas também podem corresponder a tokens compostos, que são vários tokens que
aparecem consecutivamente no nome original. Para corresponder a um token composto,
a pesquisa diferencia maiúsculas de minúsculas. Por exemplo, se o termo original for
CustomCount1
, pesquisas por CustomCount
ou Count1
serão bem-sucedidas, mas pesquisas por customcount
ou count1
não.
CloudWatchExpressões de pesquisa do : correspondências exatas
Você pode definir uma pesquisa para localizar apenas correspondências exatas do termo
de pesquisa usando aspas duplas ao redor da parte do termo de pesquisa que requer
uma correspondência exata. Essas aspas duplas são inseridas entre as aspas simples
usadas em torno de todo o termo de pesquisa. Por exemplo, SEARCH(' {MyNamespace}, "CustomCount1" ', 'Maximum', 120)
localiza a string exata CustomCount1
se ela existir como um nome de métrica, nome de dimensão ou valor da dimensão no
namespace chamado MyNamespace
. No entanto, as pesquisas SEARCH(' {MyNamespace}, "customcount1" ', 'Maximum', 120)
ou SEARCH(' {MyNamespace}, "Custom" ', 'Maximum', 120)
não localizam essa string.
Você pode combinar termos de correspondência parcial e termos de correspondência exata
em uma única expressão de pesquisa. Por exemplo, SEARCH(' {AWS/NetworkELB, LoadBalancer} "ConsumedLCUs" OR flow ', 'Maximum', 120)
retorna a métrica do Elastic Load Balancing chamada ConsumedLCUs
, bem como todas as métricas ou dimensões do Elastic Load Balancing que contêm o token
flow
.
O uso da correspondência exata também é uma boa maneira de localizar nomes com caracteres especiais, como caracteres não alfanuméricos ou espaços, conforme o exemplo a seguir.
SEARCH(' {"My Namespace", "Dimension@Name"}, "Custom:Name[Special_Characters" ', 'Maximum', 120)
CloudWatchExpressões de pesquisa do : excluir um esquema de métrica
Todos os exemplos mostrados até agora incluem um esquema de métrica entre chaves. As pesquisas que omitem um esquema de métrica também são válidas.
Por exemplo, SEARCH(' "CPUUtilization" ', 'Average', 300)
retorna todos os nomes de métrica, nomes de dimensão, valores de dimensão e namespaces
que são uma correspondência exata para a string CPUUtilization
. Nos namespaces de métrica do AWS, isso pode incluir métricas de vários serviços,
incluindo Amazon EC2, Amazon ECS, SageMaker e outros.
Para restringir essa pesquisa a apenas um serviço da AWS, a prática recomendada é
especificar o namespace e todas as dimensões necessárias no esquema de métrica, como
no exemplo a seguir. Embora isso restrinja a pesquisa ao namespace AWS/EC2
, ela ainda retornaria resultados de outras métricas se você tivesse definido CPUUtilization
como um valor da dimensão para essas métricas.
SEARCH(' {AWS/EC2, InstanceType} "CPUUtilization" ', 'Average', 300)
Como alternativa, você pode adicionar o namespace no SearchTerm
como no exemplo a seguir. No entanto, neste exemplo, a pesquisa corresponderia a
qualquer string AWS/EC2
, mesmo se ela fosse um valor ou nome de dimensão personalizados.
SEARCH(' "AWS/EC2" MetricName="CPUUtilization" ', 'Average', 300)
CloudWatchExpressões de pesquisa do : especificar nomes de propriedade na pesquisa
A pesquisa de correspondência exata por "CustomCount1"
a seguir retorna todas as métricas exatamente com esse nome.
SEARCH(' "CustomCount1" ', 'Maximum', 120)
Mas também retorna métricas com nomes de dimensão, valores de dimensão ou namespaces
de CustomCount1
. Para estruturar ainda mais sua pesquisa, você pode especificar o nome da propriedade
do tipo de objeto que deseja encontrar nas pesquisas. O exemplo a seguir pesquisa
todos os namespaces e retorna métricas chamadas CustomCount1
.
SEARCH(' MetricName="CustomCount1" ', 'Maximum', 120)
Você também pode usar pares nome/valor de dimensão e namespaces como nomes de propriedade, conforme os exemplos a seguir. O primeiro desses exemplos também ilustra que você pode usar nomes de propriedade com pesquisas de correspondência parcial.
SEARCH(' InstanceType=micro ', 'Average', 300)
SEARCH(' InstanceType="t2.micro" Namespace="AWS/EC2" ', 'Average', 300)
CloudWatchExpressões de pesquisa do : caracteres não alfanuméricos
Os caracteres não alfanuméricos servem como delimitadores e marcam onde os nomes de
métricas, as dimensões, os namespaces e os termos de pesquisa devem ser separados
em tokens. Quando os termos são tokenizados, os caracteres não alfanuméricos são removidos
e não aparecem nos tokens. Por exemplo, Network-Errors_2
gera os tokens network
, errors
e 2
.
O termo de pesquisa pode incluir qualquer caractere não alfanumérico. Se esses caracteres
aparecerem no termo de pesquisa, eles poderão especificar tokens compostos em uma
correspondência parcial. Por exemplo, todas as pesquisas a seguir localizariam métricas
chamadas Network-Errors-2
ou NetworkErrors2
.
network/errors network+errors network-errors Network_Errors
Quando você estiver fazendo uma pesquisa de valor exato, qualquer caractere não alfanumérico
usado na pesquisa exata deverá ser o caractere correto que aparece na string que está
sendo pesquisada. Por exemplo, se você quiser encontrar Network-Errors-2
, a pesquisa por "Network-Errors-2"
será bem-sucedida, mas uma pesquisa por "Network_Errors_2"
não.
Quando você realizar uma pesquisa de correspondência exata, os caracteres a seguir deverão ser recuados com uma barra invertida.
" \ ( )
Por exemplo, para encontrar o nome da métrica Europe\France Traffic(Network)
por correspondência exata, use o termo de pesquisa "Europe\\France Traffic\(Network\)"
CloudWatchExpressões de pesquisa do : operadores boolianos
A pesquisa oferece suporte ao uso dos operadores boolianos AND
, OR
e NOT
no SearchTerm
. Os operadores boolianos são inseridos entre aspas simples que você usa para colocar
todo o termo de pesquisa. Os operadores boolianos fazem distinção de maiúsculas e
minúsculas, portanto and
, or
e not
não são válidos como operadores boolianos.
Você pode usar o AND
explicitamente na pesquisa, como o SEARCH('{AWS/EC2,InstanceId} network AND packets', 'Average',
300)
. Não usar nenhum operador booliano entre os termos de pesquisa implicitamente os
pesquisa como se houvesse um operador do AND
e, portanto, o SEARCH('
{AWS/EC2,InstanceId} network packets ', 'Average', 300)
gera os mesmos resultados de pesquisa.
Use NOT
para excluir subconjuntos de dados dos resultados. Por exemplo, SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" NOT
i-1234567890123456 ', 'Average', 300)
retorna o CPUUtilization
para todas as suas instâncias, exceto para a instância i-1234567890123456
. Você também pode usar uma cláusula NOT
como o único termo de pesquisa. Por exemplo, o SEARCH( 'NOT Namespace=AWS ', 'Maximum',
120)
gera todas as suas métricas personalizadas (métricas com namespaces que não incluem
o AWS
).
Você pode usar várias expressões NOT
em uma consulta. Por exemplo, o SEARCH(' {AWS/EC2,InstanceId} MetricName="CPUUtilization" NOT "ProjectA" NOT
"ProjectB" ', 'Average', 300)
retorna o CPUUtilization
de todas as instâncias na região, exceto para aquelas com valores de dimensão do
ProjectA
ou do ProjectB
.
Você pode combinar operadores boolianos para realizar pesquisas mais eficientes e detalhadas, conforme os exemplos a seguir. Use parênteses para agrupar os operadores.
Os dois exemplos a seguir retornam todos os nomes de métricas que contêm ReadOps
de ambos os namespaces do EC2 e do EBS.
SEARCH(' (EC2 OR EBS) AND MetricName=ReadOps ', 'Maximum', 120)
SEARCH(' (EC2 OR EBS) MetricName=ReadOps ', 'Maximum', 120)
O exemplo a seguir restringe a pesquisa anterior a somente os resultados que incluem
ProjectA
, o que pode ser o valor de uma dimensão.
SEARCH(' (EC2 OR EBS) AND ReadOps AND ProjectA ', 'Maximum', 120)
O exemplo a seguir usa agrupamentos aninhados. Ele retorna métricas do Lambda para
Errors
de todas as funções, e Invocations
de funções com nomes que incluem as strings ProjectA
ou ProjectB
.
SEARCH(' {AWS/Lambda,FunctionName} MetricName="Errors" OR (MetricName="Invocations" AND (ProjectA OR ProjectB)) ', 'Average', 600)
CloudWatchExpressões de pesquisa do : usar expressões matemáticas
Você pode usar uma expressão de pesquisa dentro de expressões matemáticas em um gráfico.
Por exemplo, SUM(SEARCH(' {AWS/Lambda, FunctionName} MetricName="Errors" ', 'Sum', 300))
retorna a soma da métrica Errors
de todas as funções do Lambda
O uso de linhas separadas para a expressão de pesquisa e a expressão matemática pode
gerar resultados mais úteis. Por exemplo, suponha que você use as duas expressões
a seguir em um gráfico. A primeira linha exibe linhas Errors
separadas para cada uma das funções do Lambda O ID dessa expressão é e1
. A segunda linha adiciona outra linha que mostra a soma dos erros de todas as funções.
SEARCH(' {AWS/Lambda, FunctionName}, MetricName="Errors" ', 'Sum', 300) SUM(e1)