Para recursos semelhantes aos do Amazon Timestream para, considere o Amazon Timestream LiveAnalytics para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.
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á.
Criação e conexão com uma instância Timestream para InfluxDB
Este tutorial cria uma instância do Amazon EC2 e uma instância de banco de dados do Amazon Timestream para InfluxDB. O tutorial mostra como gravar dados na instância de banco de dados pela instância do EC2 usando o cliente Telegraf. Como prática recomendada, este tutorial cria uma instância de banco de dados privada em uma nuvem privada virtual (VPC). Na maioria dos casos, outros recursos na mesma VPC, como instâncias do EC2, podem acessar a instância de banco de dados, mas recursos fora da VPC não podem acessá-la.
Depois de concluir o tutorial, haverá uma sub-rede pública e privada em cada zona de disponibilidade na sua VPC. Em uma zona de disponibilidade, a instância do EC2 estará na sub-rede pública e a instância de banco de dados estará na sub-rede privada.
nota
Não há cobrança pela criação de uma AWS conta. No entanto, ao concluir este tutorial, você poderá incorrer em custos com os AWS recursos que usa. Se esses recursos não forem mais necessários após a conclusão do tutorial, você poderá excluí-los.
O diagrama a seguir mostra a configuração quando a acessibilidade é pública.
Atenção
Não recomendamos usar 0.0.0.0/0 para acesso do HTTP, pois isto faria com que fosse possível que todos os endereços IP acesassem sua instância pública do InfluxDB via HTTP. Essa abordagem não é aceitável mesmo por um período curto em um ambiente de teste. Autorize apenas um endereço IP específico ou um intervalo de endereços para acessar suas instâncias do InfluxDB usando HTTP para acesso à interface do usuário da web ou à API.
Este tutorial cria uma instância de banco de dados executando o InfluxDB com o Console de gerenciamento da AWS. Vamos nos concentrar apenas no tamanho da instância de banco de dados e no identificador da instância de banco de dados. Usaremos a configuração padrão para as outras opções de configuração. A instância de banco de dados criada por este exemplo será privada.
Outras configurações que você pode definir incluem disponibilidade, segurança e registro em log. Para criar uma instância de banco de dados pública, você deve optar por tornar sua instância Acessível publicamente na seção Configuração de conectividade. Para informações sobre como criar instâncias de banco de dados, consulte Criar uma instância de banco de dados.
Se a sua instância não estiver acessível publicamente, faça o seguinte:
Crie um host na VPC da instância por meio do qual você pode direcionar o tráfego.
Configure o encaminhamento SSH para a instância. Para obter mais informações, consulte Amazon EC2 Instance Port Forwarding with
. AWS Systems Manager Para que o certificado funcione, adicione a seguinte linha ao arquivo
/etc/hostsda máquina do seu cliente:127.0.0.1. Esse é o endereço DNS de sua instância.Conecte-se à sua instância usando o nome de domínio totalmente qualificado, por exemplo, https://<DNS>:8086.
nota
O localhost não consegue validar o certificado porque o localhost não faz parte do certificado SAN.
O diagrama a seguir mostra a configuração quando a acessibilidade é privada:
Pré-requisitos
Antes de começar, conclua as etapas nas seguintes seções:
-
Cadastre-se para criar uma AWS conta.
-
Crie um usuário administrativo.
Etapa 1: criar uma instância do Amazon EC2
Crie uma instância do Amazon EC2 que você usará para se conectar ao banco de dados.
-
Faça login no Console de gerenciamento da AWS e abra o console do Amazon EC2 em. https://console.aws.amazon.com/ec2/
-
No canto superior direito do Console de gerenciamento da AWS, escolha a AWS região na qual você deseja criar a instância do EC2.
-
Escolha Painel EC2 e Executar instância.
-
Quando a página Iniciar uma instância abrir, escolha as configurações a seguir:
-
Em Nome e tags, insira
ec2-database-connectpara o Nome. -
Em Imagens de aplicativos e sistemas operacionais (imagem de máquina da Amazon), selecione Amazon Linux e, depois, AMI do Amazon Linux 2023. Mantenha as seleções padrão nas outras opções.
-
Em Instance type (Tipo de instância), escolha t2.micro.
-
Em Key pair (login) (Par de chaves (login)), escolha um Key pair name (Nome do par de chaves) para usar um par de chaves existente. Para criar um par de chaves para a instância do Amazon EC2, escolha Create new key pair (Criar um novo key pair), depois use a janela Create key pair (Criar par de chaves) para criá-lo. Para mais informações sobre criar um novo par de chaves, consulte Criar um par de chaves para sua instância do Amazon EC2 no Guia do usuário do Amazon Elastic Compute Cloud.
-
Para Permitir tráfego SSH de, em Configurações de rede, selecione a origem das conexões SSH com a instância do EC2. Você pode escolher My IP (Meu IP) se o endereço IP exibido estiver correto para conexões SSH. Caso contrário, determine o endereço IP a ser usado para se conectar a instâncias do EC2 em sua VPC usando Secure Shell (SSH). Para determinar seu endereço IP público, em uma janela ou guia diferente do navegador, é possível usar o serviço em checkip.amazonaws.com/
. Um exemplo de endereço IP: 192.0.2.1/32. Em muitos casos, você pode se conectar por meio de um provedor de serviços de Internet (ISP) ou atrás de um firewall sem um endereço IP estático. Em caso afirmativo, determine o intervalo de endereços IP utilizado por computadores cliente.Atenção
Não recomendamos usar 0.0.0.0/0 para acesso SSH, pois isto faria com que fosse possível que todos os endereços IP acesassem sua instância pública do EC2 usando SSH. Essa abordagem não é aceitável mesmo por um período curto em um ambiente de teste. Autorize somente um endereço IP específico ou um intervalo de endereços para acessar suas instâncias do EC2 usando SSH.
-
Etapa 2: criar uma instância de banco de dados do InfluxDB
O componente básico do Amazon Timestream para InfluxDB é a instância do banco de dados. Este ambiente é onde você executa seus bancos de dados do InfluxDB.
Neste exemplo, você vai criar uma instância de banco de dados executando o mecanismo de banco de dados InfluxDB com uma classe de instância de banco de dados db.influx.large.
-
No canto superior direito do console do Amazon Timestream para InfluxDB, escolha a região da AWS na qual você deseja criar a instância de banco de dados.
-
No painel de navegação, escolha Bancos de dados InfluxDB.
-
Escolha Criar banco de dados InfluxDB.
-
Na seção Configurações de implantação, selecione Cluster com réplicas de leitura. Escolha Exibir opções de assinatura para iniciar uma assinatura do complemento de leitura da réplica. Para obter mais informações, consulte Leia o licenciamento de réplicas por AWS Marketplace.
-
Na seção Credenciais do banco de dados, insira KronosTest -1 como nome do cluster de banco de dados.
-
Forneça os parâmetros básicos de configuração do InfluxDB: nome de usuário inicial, nome inicial da organização, nome inicial do bucket e senha.
Importante
Não será possível exibir a senha do usuário novamente. Você não poderá acessar sua instância e obter um token de operador sem sua senha. Caso você não a registre, talvez seja necessário alterá-la. Consulte Criação de um novo token de operador para sua instância do InfluxDB.
Se for necessário alterar a senha do usuário depois que a instância de banco de dados estiver disponível, será possível modificar a instância de banco de dados para fazer isso. Para ter mais informações sobre a modificação de uma instância de banco de dados, consulte Atualizar instâncias de banco de dados.
-
Na seção Configuração da instância, selecione a classe de instância de banco de dados db.influx.large.
-
Na seção Configuração de armazenamento, selecione Influx IO Included (3K) para o Tipo de armazenamento.
-
Na seção Configuração de conectividade, selecione IPv4o tipo de rede. Certifique-se de que sua instância do InfluxDB esteja na mesma sub-rede da sua instância EC2 recém-criada. Em Acesso público, selecione Não acessível publicamente para tornar sua instância de banco de dados privada.
-
Nas seções Configurações de failover e Configurações do grupo de parâmetros, mantenha os valores padrão.
-
Configure seus logs nas Configurações de entrega de logs e crie tags (opcional). Para obter mais informações sobre logs, consulte Configuração para visualizar logs do InfluxDB em instâncias do Timestream Influxdb. Para mais detalhes sobre como adicionar tags, consulte Adicionar tags e rótulos a recursos.
-
Escolha Criar banco de dados InfluxDB.
-
Na lista Bancos de dados, selecione o nome da nova instância do InfluxDB para mostrar seus detalhes. A instância de banco de dados permanecerá no status Criando até estar pronta para ser usada.
Você pode se conectar à instância de banco de dados quando o status muda para Disponível. Dependendo da classe da instância de banco de dados e da quantidade de armazenamento, pode levar até 20 minutos para que a nova instância esteja disponível.
Importante
No momento, você não pode modificar as configurações de computação (tipos de instância) e armazenamento (tipos de armazenamento) das instâncias existentes.
Etapa 3: acesse a UI do InfluxDB
Para acessar a UI do InfluxDB a partir de uma instância de banco de dados privada do Timestream para InfluxDB, você deve se conectar de dentro da mesma sub-rede e grupo de segurança. Uma forma de facilitar essa conexão é criar um bastion host dentro da sub-rede privada.
Um bastion host é um servidor para fins especiais que atua como um ponto de entrada seguro para sistemas críticos, protegendo sua rede do acesso externo. Ele serve como um gateway entre sua rede interna segura e o mundo externo.
nota
Para instâncias de banco de dados do Timestream para InfluxDB com acesso público, você pode acessar a UI do InfluxDB por meio do botão UI do InfluxDB na página de detalhes da instância no console. Observe que esse botão será desativado para instâncias que não estão acessíveis ao público.
Se você tiver uma instância de banco de dados pública, conecte-se à interface do usuário do InfluxDB por meio do console e continue em Etapa 4: envie dados do Telegraf para sua instância do InfluxDB.
Siga estas etapas para criar e configurar seu bastion host:
-
Criar um bastion host: para criar um bastion host, você pode iniciar uma nova instância do EC2 ou usar uma existente. Certifique-se de que a instância tenha a configuração de rede necessária para acessar o grupo de segurança que você usou para criar o Timestream privado para a instância do InfluxDB que você está tentando acessar.
-
Conecte-se à UI do InfluxDB: depois de criar um bastion host, você pode usar o endpoint exibido no console para se conectar à interface do usuário do InfluxDB. O endpoint será do formato
<db-identifier>-<*>.timestream-influxdb.<region>.on.aws. Na China, será<db-identifier>-<*>.timestream-influxdb.<region>.on.amazonwebservices.com.rproxy.govskope.ca.cn. -
Configure seu bastion host para encaminhamento local: Para configurar o encaminhamento local, use o gerenciador de sessões AWS Systems Manager (SSM). Execute o comando a seguir,
bastion-ec2-instance-idsubstituindo-o pelo ID da sua instância bastion host,endpointpelo endpoint exibido no console acima eport-numberpelo número da porta que você deseja usar:aws ssm start-session --targetbastion-ec2-instance-id\ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["endpoint"], "portNumber":["port-number"], "localPortNumber":["port-number"]}'Você pode ser solicitado a instalar o. SessionManagerPlugin Para obter mais detalhes, consulte Instalar o plugin do gerenciador de sessão para a AWS CLI.
-
Acesse a interface do usuário do InfluxDB: Depois de concluir as etapas acima, você pode acessar a interface do usuário do InfluxDB em http://localhost:.
port-numberVocê precisará reconhecer a mensagem “não seguro”. -
Ativar a validação do nome de domínio: para ativar a validação do nome de domínio, adicione a seguinte linha ao seu arquivo
/etc/hosts(Linux),/private/etc/hosts(Mac) ouC:\Windows\System32\drivers\etc(Windows).127.0.0.1endpoint Agora você pode acessar a interface do usuário do InfluxDB usando https://
endpoint:.port-number
Etapa 4: envie dados do Telegraf para sua instância do InfluxDB
Agora você pode começar a enviar dados de telemetria para sua instância de banco de dados InfluxDB usando o agente Telegraf. Neste exemplo, você instalará e configurará um agente Telegraf para enviar métricas de desempenho para sua instância de banco de dados InfluxDB.
-
Depois de se conectar à interface do InfluxDB, você verá uma nova janela do navegador com um prompt de login. Insira as credenciais que você usou anteriormente para criar sua instância de banco de dados InfluxDB.
-
No painel de navegação à esquerda, clique no ícone de seta e selecione Tokens de API.
-
Para esse teste, escolha Gerar token de API. Selecione Token de API de acesso total na lista suspensa.
nota
Para cenários de produção, recomendamos criar tokens com acesso específico aos buckets necessários, criados para necessidades específicas do Telegraf.
-
Seu token aparecerá na tela.
Importante
Certifique-se de copiar e salvar o token, pois ele não será exibido novamente.
-
Conecte-se à instância do EC2 que você criou anteriormente, seguindo as etapas em Conectar à sua instância do Linux usando SSH no Guia do usuário do Amazon Elastic Compute Cloud.
Recomendamos que você se conecte à sua instância do EC2 utilizando SSH. Se o utilitário cliente SSH estiver instalado no Windows, Linux ou Mac, você poderá se conectar à instância utilizando o seguinte formato de comando:
ssh -i location_of_pem_file ec2-user@ec2-instance-public-dns-namePor exemplo, suponha que
ec2-database-connect-key-pair.pemesteja armazenado em/dir1no Linux e que o DNS IPv4 público para sua instância do EC2 sejaec2-12-345-678-90.compute-1.amazonaws.com. Seu comando SSH teria a seguinte aparência:ssh -i /dir1/ec2-database-connect-key-pair.pem ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com -
Instale a versão mais recente do Telegraf em sua instância. Para fazer isso, use o seguinte comando:
cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo [influxdata] name = InfluxData Repository - Stable baseurl = https://repos.influxdata.com/stable/\$basearch/main enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key EOF sudo yum install telegraf -
Configure sua instância do Telegraf.
nota
Se o telegraf.conf não existir ou não contiver uma seção
timestream, você poderá gerar uma com:telegraf —section-filter agent:inputs:outputs —input-filter cpu:mem —output-filter timestream config > telegraf.conf-
Edite o arquivo de configuração normalmente localizado em
/etc/telegraf.sudo nano /etc/telegraf/telegraf.conf -
Configure os plug-ins de entrada para CPUs métricas de memória e uso do disco.
[[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.mem]] [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] -
Configure o plug-in de saída para enviar dados para sua instância de banco de dados InfluxDB e salvar suas alterações.
[[outputs.influxdb_v2]] urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"] token = "<your_telegraf_token" organization = "your_org" bucket = "your_bucket" timeout = "5s" -
Configure o destino do Timestream.
# Configuration for sending metrics to Amazon Timestream. [[outputs.timestream]] ## Amazon Region and credentials region = "us-east-1" access_key = "<AWS key here>" secret_key = "<AWS secret key here>" database_name = "<timestream database name>" # needs to exist ## Specifies if the plugin should describe on start. describe_database_on_start = false mapping_mode = "multi-table" # allows multiple tables for each input metrics create_table_if_not_exists = true create_table_magnetic_store_retention_period_in_days = 365 create_table_memory_store_retention_period_in_hours = 24 use_multi_measure_records = true # Important to use multi-measure records measure_name_for_multi_measure_records = "telegraf_measure" max_write_go_routines = 25
-
-
Habilitar e iniciar o serviço Telegraf.
$ sudo systemctl enable telegraf $ sudo systemctl start telegraf
Etapa 5: excluir a instância do Amazon EC2 e a instância de banco de dados InfluxDB
Depois de explorar os dados gerados pelo Telegraf usando sua instância de banco de dados InfluxDB com a UI do InfluxDB, exclua suas instâncias de banco de dados EC2 e InfluxDB para que você não seja mais cobrado por elas.
Como excluir a instância do EC2:
Faça login no Console de gerenciamento da AWS e abra o console do Amazon EC2 em. https://console.aws.amazon.com/ec2/
-
No painel de navegação, escolha Instâncias.
-
Marque a caixa de seleção ao lado do nome da instância do EC2 e selecione Estado da instância. Escolha Encerrar (excluir) instância.
-
Quando a confirmação for solicitada, escolha Encerrar (excluir).
Para obter informações sobre excluir uma instância EC2, consulte Encerrar instâncias do Amazon EC2 no Guia do usuário do Amazon Elastic Compute Cloud.
Como excluir uma instância de banco de dados sem instantâneo de banco de dados final:
-
No painel de navegação, escolha Bancos de dados InfluxDB.
-
Selecione a instância de banco de dados que você deseja excluir. Escolha Delete (Excluir).
-
Confirme a exclusão e selecione Excluir.