Você está na página 1de 40

Santos Joao Pires Dos / jpsantos@sefaz.es.gov.

br

Especialista Elastic Stack


Instalação e Configuração
2

Objetivos
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
3
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Objetivos do treinamento

Inciando o Elasticsearch e
1 Verificando logs

Estrutura de diretórios do
2 Elasticsearch

Configurando o arquivos
3 elasticsearch.yml

Configurando o arquivos
4
JVM.yml
4
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Objetivos do treinamento

Pacotes de Distribuições X
5 Pacotes de Binários
5

Pacotes de Distribuições X Pacotes de Binários


Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
6
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Pacotes de distribuições X binários


Distribuição RPM e DEB Binários(Zip)


Já testado para as distribuições ●
Descompactar e usar

Segue o padrão systemd ●
Dependendo da distribuição

Estrutura de conf e executáveis será necessário ajustar
dentro do padrão da distribuição variáveis Java

Administração simples ●
Flexibilidade de instalação em

Atualização simples diretórios específicos.

Administração mais complexa
que pacotes.

Atualização simples
7
Licenças e subscrição
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
8
Licenças e subscrição
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
9
Licenças e subscrição
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
10
Licenças e subscrição
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
11
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Licenças e Subscrição

✔ Fonte: https://www.elastic.co/subscriptions
12

Estrutura de diretórios do Elasticsearch


Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
13
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e arquivos


Acesse /etc/elasticsearch
Arquivos do Elastic
Principais arquivos:


elasticsearch.yml

jvm.yml


log4j2.properties


elasticsearch.keystore

role_mapping.yml

users

user_roles
14
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Elasticsearch.yml
Responsável pela configuração e comportamento do Elasticsearch.
Nele definimos:

Tipo de nodes: Data, Client, Master, Ingest ou Tribe

Configurações do cluster.

Parâmetros de rede como porta e Ips de escuta

Path para armazenamento dos índices

Comportamento do Discovery para busca de nodes no cluster

Parâmetro de Gateway para recuperação após um restart full do cluster
15
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


JVM.yml
Responsável pela configuração e comportamento do Java Virtual Machine/JVM.
Nele definimos:

Tamanho da Heap Size da JVM

Comportamento do Garbage Collector.

Otimizações de JVM

Parâmetro de Debug, OutOfMemory e heap dumps
16
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


log4j2.properties
Responsável pela configuração e comportamento dos logs do Elasticsearch.
Nele definimos:

Nível de informação dos logs

Politica de estratégias dos logs.

Formato de Rotacionamento.

Elementos a ser logado.
17
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Roles.yml, roles_mapping.yml users e users_roles

Esses arquivos são usados em conjunto com o X-PACK da Elasticsearch e tem a função
de garantir a segurança do acesso aos índices do Elastic


O arquivo roles.yml define o comportamento do usuário dentro dos índices definindo o
nível de acesso e politica de acesso.

O roles_mapping.yml é utilizado para mapear um usuário com o serviço de diretório
como LDAP ou Active Directory.

user e user_roles são também usados em conjunto com o X-PACK para armazenar
mapeamentos baseado em arquivo e deve ser publicado em cada node do cluster.

OBS: O plugin X-PACK não é objeto desse treinamento e iremos abordá-lo apenas
para fins de conhecimento
18
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e arquivos


Acesse
Binários do Elastic /usr/share/elasticsearch

Principais Diretórios:


bin

plugins


modules

lib
19
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório bin e command line tools

Esse diretório prove scripts para linha de comando e realiza diversas tarefas no
elasticsearch. O arquivo principal é o “elasticsearch” que inicializa a instância do Elastic.

O comando “elasticsearch-certutil” simplifica a criação de certificados para uso com o


TLS (Transport Layer Security) no Elastic Stack.

O comando “elasticsearch-migrate” migra os usuários e funções existentes baseados em


arquivos para o nativo do Elastic Stack (versões passadas scritps de users eram
armazenados em arquivos)

O comando “elasticsearch-saml-metadata” pode ser usado para gerar um arquivo de


metadados do provedor de serviços SAML 2.0. Muito utilizado para SingleSignOn ou SSO
20
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório bin e command line tools

O comando “elasticsearch-setup-passwords” define as senhas para os usuários internos


doElastc, kibana, logstash_system, beats_system e apm_system.

Em alguns casos, o índice Lucene ou o translog de uma cópia de shards podem ser
corrompidos. O comando “elasticsearch-shard” permite remover partes corrompidas do
Shard se uma boa cópia do Shard não puder ser recuperada automaticamente ou
restaurada a partir do backup. Atenção: Você perderá os dados corrompidos ao executar o
elasticsearch-shard. Use-a em ultimo caso!

O comando “elasticsearch-syskeygen” gera um arquivo system_key, que você pode usar


para criptografar dados sensíveis simetricamente.
21
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório bin e command line tools

Em caso de desatre e você não pode recuperar com o Elastic com êxito, você pode querer
recuperar os dados que fazem parte do shared, porém essa ação tem o custo de perda de
dados contidos no translog. Para isso a ferramenta de linha de comando é “elasticsearch-
translog”. Porém deve ser utilizada em último caso.

Se você usar a autenticação de usuário baseada em arquivo, o comando “elasticsearch-


users” permitirá que você adicione e remova usuários, atribua funções de usuário e
gerencie senhas.

O comando “elasticsearch-sql-cli” ainda encontra-se em versão beta mas está disponível


para ser utilizado permitindo usar a sintax SQL diretamente no Elastic
22
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório bin e command line tools

O comando “elasticsearch-croneval” é utilizando em conjunto com o plugin Watcher que


permite você agendar execuções de triggers para alguma ação.

O demais arquivos desse diretório configura variáveis de ambiente do X-PACK


23
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório plugins

O diretório de plugins do Elastic armazena os plugins instalados para o Elaticsearch. Para


isso temos o comando “elasticsearch-plugin” que realizar essa tarefa.

Esses plugins permite o elasticsearch estender funcionalidades. Para fazer a instalação de


um plugin basta digitar o comando abaixo apontando para qual plugin deseja instalar:

1 # sudo bin/elasticsearch-plugin install ingest-geoip


24
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório Logs do Elasticsearch

O diretório de logs do Elastic por padrão fica localizando em /var/logs/elasticsearch. Nesse


diretório temos os logs padrão do Elasticsearch em elasticsearch.log. Também temos
“elasticsearch_deprecation.log” para funcionalidades que serão depreciadas, o
“elasticsearch_index_indexing_slowlog.log” que registra as operações de lentidão na
indexação de índices, o “elasticsearch_index_search_slowlog.log” que registra
lentidão nas operações de busca de dados e o “elasticsearch_access.log” que registra
os acesso de dados e é utilizado em conjunto do plugin Shield
25
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Estrutura de diretório e seus arquivos


Diretório de armazenamento de índices do Elasticsearch
O diretório de /var/lib/elasticsearch é o local
padrão onde são armazenados os índices do
Elasticsearch.

Conforme a figura ao lado é criado um id para o


índice e dentro deles temos as instâncias do
Shards Lucene quem são as Shards.
26

Configurando o arquivos elasticsearch.yml


Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
27
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Configurando o elasticsearch.yml
Parâmetros inciais

1 # vi /etc/elasticseach/elasticsearch.yml


cluster.name: meu_cluster
Configura o nome do cluster e todos os node devem pertencer a esse cluster

node.name: node-master
Nome do node dentro do cluster

node.attr.rack: rack_01
Garante que as replicas estejam em hardwares diferentes caso esteja usando VMS garantindo
que em caso de falha do hardware as replicas estejam em outro rack ou servidor.

path.data: /var/lib/elasticsearch
Local onde os índices serão armazenados
28
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Configurando o elasticsearch.yml
Parâmetros inciais

1 # vi /etc/elasticseach/elasticsearch.yml


path.logs: /var/log/elasticsearch
Local onde será armazenado dos logs do Elasticsearch

bootstrap.memory_lock: true
Habilita o bloqueio de memoria para operações na Heap como Garbage Collector

network.host: 192.168.0.1
Define em qual IP o Elasticsearch irá responder

http.port: 9200
Define em qual porta o Elasticsearch irá reponder
29
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Configurando o elasticsearch.yml
Parâmetros inciais

1 # vi /etc/elasticseach/elasticsearch.yml


discovery.zen.ping.unicast.hosts: ["host1", "host2"]

Permite localizar de forma estática os nodes master

gateway.recover_after_nodes: 3

Configura o critério de recover caso o cluster tenha sido reiniciado totalmente
30

Configurando o arquivos JVM.options


Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
31
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Configurando o elasticsearch.yml
Parâmetros inciais

1 # vi /etc/elasticseach/jvm.options

# Xms represents the initial size of total heap space


# Xmx represents the maximum size of total heap space
-Xms1g
-Xmx1g

A recomendação é metade da memoria total do servidor limitado a

! 32GB. Não coloque a Heap acima de 32GB pois isso pode nas operações
de Garbage Collector onerar o desempenho do Elasticsearch
32
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Configurando o elasticsearch.yml
Parâmetros inciais

1 # vi /etc/elasticseach/jvm.options

8:-XX:+PrintGCDetails – Imprime detalhes do GC


8:-XX:+PrintGCDateStamps – Imprime Data
8:-XX:+PrintTenuringDistribution
8:-XX:+PrintGCApplicationStoppedTime – Imprime tempo de parada de aplicação na execução do GC
8:-Xloggc:/var/log/elasticsearch/gc.log – Diretório dos logs do GC
8:-XX:+UseGCLogFileRotation – Rotação dos Logs do GC
8:-XX:NumberOfGCLogFiles=32 – Numero de logs armazenados
8:-XX:GCLogFileSize=64m – Tamanho do log do GC para ser rotacionado.
33
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Inciando o Elasticsearch e verificando os logs


34
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Iniciando o Elasticsearch

Start e Stop do daemon


Habilitando o elasticsearch para iniciar durante o boot
1 # systemctl enable elasticsearch

Iniciando o Elasticsearch
2 # systemctl start elasticsearch

Parando o Elasticsearch
3 # systemctl stop elasticsearch
35
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Iniciando o Elasticsearch

Status e processos do Elasticsearch


Status do elasticsearch
1 # systemctl status elasticsearch

Verificando as portas do Elasticsearch


2 # netstat -lntp | grep 9200
# netstat -lntp | grep 9300

Verificando o processo do Elasticsearch


3 # ps -ef | grep elastic
36
Laboratório
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
37

Revisão
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br
38
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Objetivos do treinamento

Inciando o Elasticsearch e
1 Verificando logs

Estrutura de diretórios do
2 Elasticsearch

Configurando o arquivos
3 elasticsearch.yml

Configurando o arquivos
4
JVM.yml
39
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Objetivos do treinamento

Pacotes de Distribuições X
5 Pacotes de Binários
40

Fim
Santos Joao Pires Dos / jpsantos@sefaz.es.gov.br

Você também pode gostar