Com a evolução da TI novos termos foram aparecendo, como a própria cultura DevOps e mais atualmente o termo SRE (), e faz parte desse mundo o monitoramento através dos Logs, e um dos stacks preferidos desse mundo é o ELK.

Porém o armazenamento constante dos logs no Elasticsearch aacaba resultando em um problema com o espaço de disco. Por isso a implementação do Curator se faz importante, precisamos deletar os índices de forma automática para manter nosso ambiente ELK saudável.

Para isso precisamos garantir que um indice novo seja criado todo dia, o Logstash por padrão já faz isso. Como o assunto desse artigo é apenas o Curator eu vou mostrar como configurar o Curator em um container do Docker, usando docker-compose.

No nosso docker-compose.yml vamos utilizar um container Python, fazendo a instalação do Curator e mapeando os arquivos de configuração do Curator:

curator:
   image:

No arquivo curator.yml, vamos utilizar a seguinte configuração:

---
client:
  hosts:
    - 127.0.0.1
  port: 9200
  url_prefix:
  use_ssl: False
  certificate:
  client_cert:
  client_key:
  ssl_no_validate: False
  http_auth:
  timeout: 30
  master_only: False

logging:
  loglevel: INFO
  logfile:
  logformat: default
  blacklist: ['elasticsearch', 'urllib3']

No arquivo delete_indices.yml, vamos utilizar a seguinte configuração:

---
actions:
  1:
    action: delete_indices
    description: >-
      Delete indices older than 45 days (based on index name), for logstash-
      prefixed indices. Ignore the error if the filter does not result in an
      actionable list of indices (ignore_empty_list) and exit cleanly.
    options:
      ignore_empty_list: True
      timeout_override:
      continue_if_exception: False
      disable_action: False
    filters:
    - filtertype: pattern
      kind: prefix
      value: logstash-
      exclude:
    - filtertype: age
      source: name
      direction: older
      timestring: '%Y.%m.%d'
      unit: days
      unit_count: 10
      exclude:

 Para testar a configuração, podemos usar a opção –dry-run:

curator ./delete_index.yml --config ./curator.yml --dry-run
2017-04-09 17:27:46,075 INFO      Preparing Action ID: 1, "delete_indices"
2017-04-09 17:27:46,080 INFO      Trying Action ID: 1, "delete_indices": Delete indices older than 45 days (based on index name), for logstash- prefixed indices. Ignore the error if the filter does not result in an actionable list of indices (ignore_empty_list) and exit cleanly.
2017-04-09 17:27:46,538 INFO      DRY-RUN MODE.  No changes will be made.
2017-04-09 17:27:46,538 INFO      (CLOSED) indices may be shown that may not be acted on by action "delete_indices".
2017-04-09 17:27:46,538 INFO      Action ID: 1, "delete_indices" completed.
2017-04-09 17:27:46,538 INFO      Job completed.

Comentários

comentários