1. Ambiente de preparação da instalação
1, jdk 1.8 e superior; 2, elasticsearch-7.7.0; 3, logstash-7.7.0; 4, kibana-7.7.0; 5, CentOS Linux versão 7.5.1804 (Core)
Eu aguento três hosts, o docker constrói uma boa lâmpada antes de coletar as informações de log
192.168.116.128:logstash
192.168.116.129:elasticsearch
192.168.116.130:kibana
Desligue o firewall e o selinux, ou você mesmo pode adicionar regras
Em segundo lugar, instale o Elasticsearch
1. O ambiente jdk deve ser instalado em todos os três hosts. Eu demonstrei um host aqui e ele foi instalado.
[root@localhost src]# rpm -ivh jdk-8u131-linux-x64_.rpm
准备中... ################################# [100%]
软件包 jdk1.8.0_131-2000:1.8.0_131-fcs.x86_64 已经安装
2. Baixe a versão mais recente do Elasticsearch.Faça o
download do software ou carregue-o no servidor após ter sido baixado.Eu baixei e carreguei no servidor.
[root@localhost src]# ll elasticsearch-7.7.0-linux-x86_64.tar.gz
-rw-r--r--. 1 root root 314430566 5月 19 21:33 elasticsearch-7.7.0-linux-x86_64.tar.gz
3. Descompacte para o diretório especificado e renomeie-o
tar xf elasticsearch-6.4.2.tar.gz -C /usr/local
[root@master-node local]# mv elasticsearch-6.4.2 elasticsearch
4. Crie um elk de usuário comum para executar o elasticsearch
[root@master-node /]#groupadd elk
[root@master-node /]#useradd -g elk elk -m
[root@master-node local]# chown -R elk.elk /usr/local/elasticsearch/
[root@master-node local]# ll /usr/local/elasticsearch/
total 436
drwxr-xr-x 3 elk elk 4096 Oct 11 22:21 bin
drwxr-xr-x 2 elk elk 148 Sep 26 21:38 config
drwxr-xr-x 3 elk elk 4096 Sep 26 21:38 lib
-rw-r--r-- 1 elk elk 13675 Sep 26 21:30 LICENSE.txt
drwxr-xr-x 2 elk elk 6 Sep 26 21:38 logs
drwxr-xr-x 27 elk elk 4096 Sep 26 21:38 modules
-rw-r--r-- 1 elk elk 401465 Sep 26 21:38 NOTICE.txt
drwxr-xr-x 2 elk elk 6 Sep 26 21:38 plugins
-rw-r--r-- 1 elk elk 8511 Sep 26 21:30 README.textile
5. Crie um diretório de armazenamento de dados elasticsearch e dê ao usuário elk as permissões,
[root@master-node ~]# mkdir -p /data/elasticsearch
[root@master-node ~]#chown -R elk.elk /data/elasticsearch
6, modifique o arquivo de configuração do elasticsearch
[root@localhost src]# cd /usr/local/elasticsearch/config/
[root@localhost config]# cat elasticsearch.yml | grep ^[^#]
cluster.name: ELK-Cluster
node.name: node-1
path.data: /data/elasticsearch
path.logs: /usr/local/elasticsearch/logs
network.host: 192.168.116.129
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
7. Modifique os parâmetros relevantes do kernel
此处vm.max_map_count= 视报错信息修改的大一点
[root@localhost config]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@localhost config]# sysctl -p
[root@localhost config]# vim /etc/security/limits.conf
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
8. Alterne o usuário elk para executar o elasticsearch
[root@master-node config]# su - elk
[elk@master-node ~]$ cd /usr/local/elasticsearch/
[elk@master-node elasticsearch]$ ./bin/elasticsearch -d
9. Verifique o status de elasticsearch, o seguinte significa operação normal
[root@localhost config]# curl http://192.168.116.129:9200
{
"name" : "node-1",
"cluster_name" : "ELK-Cluster",
"cluster_uuid" : "UWxJP8whTXuvr7Vdn1Hl0A",
"version" : {
"number" : "7.7.0",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
"build_date" : "2020-05-12T02:01:37.602180Z",
"build_snapshot" : false,
"lucene_version" : "8.5.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
Terceiro, instale o Logstash
Observação: instale no host em que deseja coletar os logs
1. Descompacte-o no diretório / usr / local e renomeie-o para logstash
[root@master-node ~]# tar xf logstash-6.4.2.tar.gz -C /usr/local/
[root@master-node ~]# cd /usr/local/
[root@master-node local]# mv logstash-6.4.2 logstash
2. Modifique o arquivo de configuração
[root@localhost ~]# cd /usr/local/logstash/config/
[root@localhost config]# cat apache.conf
input {
file {
path => "/data/docker/httpd/logs/other_vhosts_access.log"
type => "apache-log"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => "192.168.116.129:9200"
index => "apache_log-%{+YYYY.MM.dd}"
}
}
3. Especifique o arquivo de configuração para executar o logstash
[root@localhost ~]# ./logstash -f /usr/local/logstash/config/apache.conf &
[root@localhost ~]# netstat -nlpt | grep 9600
tcp6 0 0 127.0.0.1:9600 :::* LISTEN 39739/java
Quarto, instale o kibana
1. Descompacte para / usr / local e renomeie para kibana
[root@master-node ~]# tar xf kibana-6.4.2-linux-x86_64.tar.gz -C /usr/local
[root@master-node ~]# cd /usr/local/
[root@master-node local]# mv kibana-6.4.2-linux-x86_64 kibana
2. Modifique o arquivo de configuração
[root@localhost ~]# cd /usr/local/kibana/config/
[root@localhost config]# cat kibana.yml | grep ^[^#]
server.port: 5601
server.host: "192.168.116.130"
elasticsearch.hosts: ["http://192.168.116.129:9200"]
logging.dest: /var/log/kibana.log
3. Adicione permissões ao arquivo /var/log/kibana.log
[root@master-node config]# touch /var/log/kibana.log
[root@master-node config]# chmod 777 /var/log/kibana.log
4. Digite / bin no diretório de instalação para iniciar o kibana
[root@master-node kibana]# cd bin/
[root@master-node bin]# ./kibana --allow-root &
O tempo de inicialização é um pouco longo, esperar um pouco