# Dec 1st, 2022: \[PT\] Elastic Agent 101

**URL:** <https://discuss.elastic.co/t/dec-1st-2022-pt-elastic-agent-101/319992>\
**Category:** Advent Calendar\
**Created:** [December 1, 2022, 8:00am UTC](https://discuss.elastic.co/t/dec-1st-2022-pt-elastic-agent-101/319992 "2022-12-01T08:00:30Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![AndersonQ](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/andersonq/32/112214_2.png) [@AndersonQ](https://discuss.elastic.co/u/AndersonQ)\
**Post date:** [December 1, 2022, 8:00am UTC](https://discuss.elastic.co/t/dec-1st-2022-pt-elastic-agent-101/319992/1 "2022-12-01T08:00:30Z")

</div>

![day1](https://us1.discourse-cdn.com/elastic/original/3X/c/4/c4bb3472ba2467fcb235552d4d18be5cb686728a.png)

Este artigo também está disponível [em inglês](https://discuss.elastic.co/t/316879).

Primeiro, o que é o Elastic Agent?

> Elatic Agent é uma forma única e unificada de adicionar monitoramento para logs, métricas e outros tipos de dados em um host. Ele também pode proteger hosts de ameaças, coletar dados do sistema operacional, encaminhar dados para serviços ou hardware remotos e muito mais.

Como o Elastic Agent faz isso tudo? Ele delega, a responsabilidade do Elastic Agent é rodar, administrar e configurar as aplicações necessárias para executar "as tarefas atribuídas a ele", como coletar logs, métricas ou proteger um host.

Uma [policy](https://www.elastic.co/guide/en/fleet/8.5/agent-policy.html) é a configuração do Elastic Agent, várias [integrações](https://www.elastic.co/guide/en/fleet/8.5/fleet-overview.html#unified-integrations) são adicionadas na policy, então o Elastic Agent analisa a policy para descobrir todas as aplicações necessárias para cumprir a policy.

O Elastic Agent será responsável por rodar, administrar e configurar cada aplicação necessárias. Por exemplo, se cria-se uma policy e adiciona-se a elas as integrações APM Server, Custom Logs e System Metrics, o Elastic Agent rodará o APM Server, Filebeat (para coletar os logs) e Metricbeat (para coletar métricas do sistema).

[Criar uma policy](https://www.elastic.co/guide/en/fleet/8.5/agent-policy.html#create-a-policy), [adicionar integrações](https://www.elastic.co/guide/en/fleet/8.5/add-integration-to-policy.html) e [instalar o Elastic Agent](https://www.elastic.co/guide/en/fleet/8.5/elastic-agent-installation.html) são processos muito bem documentados, veja os links para aprofundar-se nesses assuntos.

O que é menos conhecido são as funcionalidades do Elastic Agent que, como uma CLI (do inglês _Command Line Interface_, interface de linha de comando), oferece formas de investigar e diagnosticar problemas acontecendo com ele mesmo ou com alguma das aplicações que ele roda.  
Todos nós sabemos que alguma vezes as coisas não funcionam como esperamos e então temos que descobrir o que está acontecendo. É exatamente nesse momento que os comandos como CLI do Elastic Agent são úteis.

Primeiro, o comando `status` mostra o estado de cada uma das aplicações que o Elastic Agent está rodando e seu próprio estado.

```plaintext
elastic-agent status

Status: HEALTHY
Message: (no message)
Applications:
  * filebeat (HEALTHY)
                           Running
  * metricbeat (HEALTHY)
                           Running
  * filebeat_monitoring (HEALTHY)
                           Running
  * metricbeat_monitoring (HEALTHY)
                           Running

```

Os `_monitoring`[Beats](https://www.elastic.co/beats/) como o nome sugere, monitora o Elastic Agent e suas aplicações coletando métricas e os logs.

O próximo comando é `diagnostics`, muito mais técnico que `status`, ele também mostrará informações sobre as aplicações executadas sob o Agente Elástico:

```plaintext
elastic-agent diagnostics

elastic-agent id: 65a5bc58-d3fe-414a-bc55-9b2bb69c85f5 version: 8.5.2
               build_commit: c13f9157c438fc60cfbb822b385ea91bc91193cc build_time: 2022-11-17 21:16:12 +0000 UTC snapshot_build: false
Applications:
  * name: filebeat route_key: default
     process: filebeat id: bdd93dd6-47b8-41cb-a5eb-a4e73ca8d205 ephemeral_id: f9e7c229-73a4-40c0-ad5e-7d751071934b elastic_license: true
     version: 8.5.2 commit: 1ebd0940bd56943642ea8d63d1fe8227f86e7435 build_time: 2022-11-15 20:38:43 +0000 UTC binary_arch: amd64
     hostname: elastic-agent username: root user_id: 0 user_gid: 0
  * name: metricbeat route_key: default
     process: metricbeat id: 6146ca43-d3dc-43fc-864c-16f7c718931f ephemeral_id: c98424db-6ba9-4dab-b656-25965c82accc elastic_license: true
     version: 8.5.2 commit: 1ebd0940bd56943642ea8d63d1fe8227f86e7435 build_time: 2022-11-15 20:38:34 +0000 UTC binary_arch: amd64
     hostname: elastic-agent username: root user_id: 0 user_gid: 0
  * name: filebeat_monitoring route_key: default
     process: filebeat id: dd6d9f4e-0fc7-413e-a829-232d8fb9222b ephemeral_id: 43d99165-49a2-41ef-9a63-358f545bd5ec elastic_license: true
     version: 8.5.2 commit: 1ebd0940bd56943642ea8d63d1fe8227f86e7435 build_time: 2022-11-15 20:38:43 +0000 UTC binary_arch: amd64
     hostname: elastic-agent username: root user_id: 0 user_gid: 0
  * name: metricbeat_monitoring route_key: default
     process: metricbeat id: 014efcdf-40c2-4aad-916d-4468dc67ad48 ephemeral_id: 0e01dae8-86d5-4717-9594-0228479ba5c8 elastic_license: true
     version: 8.5.2 commit: 1ebd0940bd56943642ea8d63d1fe8227f86e7435 build_time: 2022-11-15 20:38:34 +0000 UTC binary_arch: amd64
     hostname: elastic-agent username: root user_id: 0 user_gid: 0

```

O comando `diagnostics` tem o sub-comando `collect`, que como o nome sugere, coleta praticamente tudo sobre o Elastic Agent e os programas que ele está executando. Ele reúne metadados, a policy, a configuração individual, que o Elastic Agent gera a partir da policy, para cada programa que está rodando e os logs.

Este é de longe o comando mais útil para investigações, principalmente quando quem está analisando os dados não tem acesso ao host onde o Elastic Agent está rodando. É uma das primeiras coisas que pedimos a nossos clientes quando eles procuram nosso suporte com um problema relacionado com o Elastic Agent ou qualquer uma das integrações.

O comando ìnspect` mostra a configuração atual. O que ele mostra é muito longo, pois é tudo que está sendo coletado do host. Então abaixo está uma versão resumida da saída do comando ìnspect`.

```plaintext
elastic-agent inspect

agent:
  download:
    source_uri: https://artifacts.elastic.co/downloads/
  monitoring:
    enabled: true
    logs: true
    metrics: true
    namespace: default
    use_output: default
fleet:
  hosts:
  - https://my.fleet-server.co:443
id: f0beede0-6f1e-11ed-aaed-9bf77350c160
inputs:
- data_stream:
    namespace: default
  id: logfile-system-17831582-e0d5-48b5-a72c-405396085de7
  meta:
    package:
      name: system
      version: 1.20.4
  name: system-1
  package_policy_id: 17831582-e0d5-48b5-a72c-405396085de7
  revision: 1
  streams:
  - data_stream:
      dataset: system.syslog
      type: logs
    exclude_files:
    - .gz$
    id: logfile-system.syslog-17831582-e0d5-48b5-a72c-405396085de7
    ignore_older: 72h
    multiline:
      match: after
      pattern: ^\s
    paths:
    - /var/log/messages*
    - /var/log/syslog*
    processors:
    - add_locale: null
  type: logfile
  use_output: default
output_permissions:
  default:
    _elastic_agent_checks:
      cluster:
      - monitor
    _elastic_agent_monitoring:
      indices:
      - names:
        - logs-elastic_agent.apm_server-default
        privileges:
        - auto_configure
        - create_doc
      - names:
        - metrics-elastic_agent.apm_server-default
        privileges:
        - auto_configure
        - create_doc
outputs:
  default:
    api_key: <REDACTED>
    hosts:
    - https://my.ES.co:443
    type: elasticsearch
revision: 1

```

Por fim, mas não menos importante, `elastic-agent help` mostra, como você já deve ter adivinhado, todos os comandos disponíveis no Elastic Agent.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 29, 2022, 8:01am UTC](https://discuss.elastic.co/t/dec-1st-2022-pt-elastic-agent-101/319992/2 "2022-12-29T08:01:08Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
