1. Entorno de preparación de la instalación
1, jdk 1.8 y superior; 2, elasticsearch-7.7.0; 3, logstash-7.7.0; 4, kibana-7.7.0; 5, versión de CentOS Linux 7.5.1804 (Core)
Aguanté tres hosts, Docker construyó una buena lámpara antes de recopilar información de registro
192.168.116.128:logstash
192.168.116.129:elasticsearch
192.168.116.130:kibana
Apague el firewall y selinux, o puede agregar reglas usted mismo
En segundo lugar, instale Elasticsearch
1. El entorno jdk debe estar instalado en los tres hosts. He demostrado un host aquí y se ha 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. Descargue la última versión de Elasticsearch.
Descargue el software o cárguelo en el servidor después de que se haya descargado. Lo descargué y lo cargué en el 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. Descomprima en el directorio especificado y cámbiele el nombre.
tar xf elasticsearch-6.4.2.tar.gz -C /usr/local
[root@master-node local]# mv elasticsearch-6.4.2 elasticsearch
4. Cree un elk de usuario normal para ejecutar 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. Cree un directorio de almacenamiento de datos de elasticsearch y otorgue los permisos al usuario de elk,
[root@master-node ~]# mkdir -p /data/elasticsearch
[root@master-node ~]#chown -R elk.elk /data/elasticsearch
6, modificar el archivo de configuración de 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 los parámetros relevantes del 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. Cambie de usuario elk para ejecutar elasticsearch
[root@master-node config]# su - elk
[elk@master-node ~]$ cd /usr/local/elasticsearch/
[elk@master-node elasticsearch]$ ./bin/elasticsearch -d
9. Verifique el estado de elasticsearch, lo siguiente significa un funcionamiento 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"
}
En tercer lugar, instale Logstash
Nota: instale en el host donde desea recopilar registros
1. Descomprímalo en el directorio / usr / local y cámbiele el nombre a 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 el archivo de configuración
[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 el archivo de configuración para ejecutar 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
Cuarto, instale kibana
1. Descomprima a / usr / local y cámbiele el nombre a 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 el archivo de configuración
[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. Agregue permisos al archivo /var/log/kibana.log
[root@master-node config]# touch /var/log/kibana.log
[root@master-node config]# chmod 777 /var/log/kibana.log
4. Ingrese / bin en el directorio de instalación para iniciar kibana.
[root@master-node kibana]# cd bin/
[root@master-node bin]# ./kibana --allow-root &
El tiempo de inicio es un poco largo, espere un tiempo.