Instalación e implementación de EFK (monitorear registros de nginx)

alrededores:

centos7

IP de host instalar software
192.168.153.179 jdk, guardián del zoológico, kafka, filebeat, elasticsearch
192.168.153.178 jdk, cuidador del zoológico, kafka, logstash
192.168.153.177 jdk, cuidador del zoológico, kafka , kibana

Iniciar implementación:

1. Modifique el nombre de host

Operación secuencial en tres plataformas

[root@localhost ~]# hostname kafka01
[root@localhost ~]# hostname kafka02
[root@localhost ~]# hostname kafka03
2. Modifique el archivo de hosts

Realice la misma operación en tres

[root@kafka01 ~]# tail -n 3 /etc/hosts
192.168.153.179 kafka01
192.168.153.178 kafka02
192.168.153.177 kafka03
3. Sincronización horaria

Realice la misma operación en tres

[root@kafka01 ~]# ntpdate pool.ntp.org
19 Sep 14:00:48 ntpdate[11588]: adjust time server 122.117.253.246 offset 0
4. Apague el firewall

Realice la misma operación en tres

[root@kafka01 ~]# systemctl stop firewalld
[root@kafka01 ~]# setenforce 0
5. Instale jdk

Realice la misma operación en tres máquinas: en el mismo directorio

[root@kafka01 ELK三剑客]# pwd
/usr/local/src/ELK三剑客
[root@kafka01 ELK三剑客]# rpm -ivh jdk-8u131-linux-x64_.rpm
6. Instalar zookeeper

Realice la misma operación en las tres unidades.
Descomprima, mueva y modifique el nombre del archivo bajo el archivo de configuración

[root@kafka01 EFK]# pwd
/usr/local/src/EFK
[root@kafka01 EFK]# tar xf zookeeper-3.4.14.tar.gz 
[root@kafka01 EFK]# mv zookeeper-3.4.14 /usr/local/zookeeper
[root@kafka01 EFK]# cd /usr/local/zookeeper/conf/
[root@kafka01 conf]# mv zoo_sample.cfg zoo.cfg 
7. Edite el archivo zoo.cfg.

Realice la misma operación en tres

[root@kafka01 conf]# pwd
/usr/local/zookeeper/conf
[root@kafka01 conf]# tail -n 3 zoo.cfg 
server.1=192.168.153.179:2888:3888
server.2=192.168.153.178:2888:3888
server.3=192.168.153.177:2888:3888
8. Cree un directorio de datos

Realice la misma operación en tres

[root@kafka01 conf]# pwd
/usr/local/zookeeper/conf
[root@kafka01 conf]# mkdir /tmp/zookeeper
9. Configurar myid

Ejecutar secuencialmente en tres plataformas

[root@kafka01 conf]# echo "1" > /tmp/zookeeper/myid
[root@kafka02 conf]# echo "2" > /tmp/zookeeper/myid
[root@kafka03 conf]# echo "3" > /tmp/zookeeper/myid
10. Ejecute el servicio de cuidador del zoológico

Realice la misma operación en tres

[root@kafka01 conf]# /usr/local/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
11. Ver el estado del cuidador del zoológico

Realice la misma operación en tres

[root@kafka01 conf]# /usr/local/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: follower

2 seguidores
1 líder

12, kafka barato

Realice la misma operación en tres

[root@kafka01 EFK]# pwd
/usr/local/src/EFK
[root@kafka01 EFK]# tar xf kafka_2.11-2.2.0.tgz 
[root@kafka01 EFK]# mv kafka_2.11-2.2.0 /usr/local/kafka
13. Edite /usr/local/kafka/config/server.properties

El número es el número de línea
kafka01 host

21 broker.id=0
36 advertised.listeners=PLAINTEXT://kafka01:9092
123 zookeeper.connect=192.168.153.179:2181,192.168.153.178:2181,192.168.153.177:2181

anfitrión kafka02

21 broker.id=1
36 advertised.listeners=PLAINTEXT://kafka02:9092
123 zookeeper.connect=192.168.153.179:2181,192.168.153.178:2181,192.168.153.177:2181

kafka03

21 broker.id=2
36 advertised.listeners=PLAINTEXT://kafka03:9092
123 zookeeper.connect=192.168.153.177:2181,192.168.153.178:2181,192.168.153.177:2181
  • broker.id = # respectivamente 0 1 2
  • advertised.listeners = PLAINTEXT: // (nombre de host kafka01, kafka02, kafk03): 9092 #respectivamente kafka01 02 03
  • zookeeper.connect = 192.168.10.130: 2181,192.168.10.131: 2181,192.168.10.132: 2181 #Esta línea tiene el mismo contenido
14. Inicie Kafka

Realice la misma operación en tres

[root@kafka01 ~]# /usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties 
[root@kafka01 ~]# ss -nltp|grep 9092
LISTEN     0      50          :::9092                    :::*                   users:(("java",pid=23352,fd=105))
15. Crea un tema

Operación del host Kafka01

[root@kafka01 ~]# /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper 192.168.153.179:2181 --replication-factor 2 --partitions 3 --topic wg007
Created topic wg007.

Explicación:

  • - Factor de replicación 2 (número especificado de réplicas) alta disponibilidad
  • -Particiones 3 (especifique el número de particiones del tema) para mejorar la concurrencia
  • --Topic wg007 especificar un tema
16. Productor simulado

Operación del host Kafka01

[root@kafka01 ~]# /usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.153.179:9092 --topic wg007
>
17, consumidores simulados

Operación del host Kafka02

[root@kafka02 ~]# /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.153.179:9092 --topic wg007 --from-beginning
18. Inicie la simulación

Ingrese un en kafka01 para verificar si aparece una
entrada kafka01 en kafka02

[root@kafka01 ~]# /usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.153.179:9092 --topic wg007
>a
>

vista kafka02

[root@kafka02 ~]# /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.153.179:9092 --topic wg007 --from-beginning
a
19. Ver el tema actual

Operación del host Kafka01

[root@kafka01 ~]# /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 192.168.153.179:2181
__consumer_offsets
wg007
20. Instalar filebeat (recopilar registros)

Instalación del host Kafka01

[root@kafka01 EFK]# pwd
/usr/local/src/EFK
[root@kafka01 EFK]# rpm -ivh filebeat-6.8.12-x86_64.rpm 
21, editor filebeat.yml

Operación del host Kafka01
cambie el nombre del archivo filebeat.yml a filebeat.yml.bak
escriba un archivo filebeat.yml usted mismo

[root@kafka01 filebeat]# pwd
/etc/filebeat
[root@kafka01 filebeat]# mv filebeat.yml filebeat.yml.bak
[root@kafka01 filebeat]# vim filebeat.yml

Configure de la siguiente manera

[root@localhost filebeat]# pwd
/etc/filebeat
[root@localhost filebeat]# cat filebeat.yml
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
  fields:
    log_topics: nginx007

output.kafka:
  enabled: true
  hosts: ["192.168.153.179:9092","192.168.153.178:9092","192.168.153.177:9092"]
  topic: nginx007
22, iniciar filebeat

operación kafka01

[root@kafka01 ~]# systemctl start filebeat
23, instale logstash

Operación del host Kafka02

[root@kafka02 ELK三剑客]# pwd
/usr/local/src/ELK三剑客
[root@kafka02 ELK三剑客]# rpm -ivh logstash-6.6.0.rpm 
24. Edite /etc/logstash/conf.d/nginx.conf

Operación Kafka02

[root@kafka02 conf.d]# pwd
/etc/logstash/conf.d
[root@kafka02 conf.d]# cat nginx.conf 
input{
    
    
	kafka{
    
    
		bootstrap_servers => ["192.168.153.179:9092,192.168.153.178:9092,192.168.153.177:9092"]
		group_id => "logstash"
		topics => "nginx007"
		consumer_threads => 5
	}

}
filter {
    
     
	json{
    
    
		source => "message"
	}
	
	mutate {
    
    
		remove_field => ["host","prospector","fields","input","log"]
	}
	grok {
    
    
		match => {
    
     "message" => "%{NGX}" }
	}

}

output{
    
    
	elasticsearch {
    
    
		hosts => "192.168.153.179:9200"
		index => "nginx-%{+YYYY.MM.dd}"
	}
	#stdout {
    
    
        #        codec => rubydebug
       #}
}
25. Cargue los archivos y rutas de archivo relacionados regulares de nginx y complete la configuración

Operación del host Kafka02

[root@kafka02 src]# pwd
/usr/local/src
[root@kafka02 src]# ls
alter  EFK  ELK三剑客  nginx_reguler_log_path.txt  nginx_reguler_log.txt
[root@kafka02 src]# cat nginx_reguler_log_path.txt 
/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns
[root@kafka02 src]# mv nginx_reguler_log.txt /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/nginx
[root@kafka02 src]# cat /usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-patterns-core-4.1.2/patterns/nginx
NGX %{
    
    IPORHOST:client_ip} (%{
    
    USER:ident}|- ) (%{
    
    USER:auth}|-) \[%{
    
    HTTPDATE:timestamp}\] "(?:%{WORD:verb} (%{NOTSPACE:request}|-)(?: HTTP/%{NUMBER:http_version})?|-)" %{
    
    NUMBER:status} (?:%{
    
    NUMBER:bytes}|-) "(?:%{URI:referrer}|-)" "%{GREEDYDATA:agent}"
26, inicie logstash

Operación Kafka02

[root@kafka02 conf.d]# systemctl start logstash
[root@kafka02 conf.d]# ss -nltp|grep 9600
LISTEN     0      50        ::ffff:127.0.0.1:9600                    :::*                   users:(("java",pid=18470,fd=137))
27, instale elasticsearch

operación kafka01

[root@kafka01 ELK三剑客]# pwd
/usr/local/src/ELK三剑客
[root@kafka01 ELK三剑客]# rpm -ivh elasticsearch-6.6.2.rpm
28, modificar el archivo de configuración de elasticsearch

operación kafka01

[root@kafka01 ~]# grep -v "#" /etc/elasticsearch/elasticsearch.yml
cluster.name: nginx
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.153.179
http.port: 9200
29, inicie elasticsearch

operación kafka01

[root@kafka01 ~]# systemctl start elasticsearch
[root@kafka01 ~]# systemctl enable elasticsearch
Created symlink from /etc/systemd/system/multi-user.target.wants/elasticsearch.service to /usr/lib/systemd/system/elasticsearch.service.
[root@kafka01 ~]# ss -nltp|grep 9200
LISTEN     0      128     ::ffff:192.168.153.179:9200                    :::*                   users:(("java",pid=27812,fd=205))
[root@kafka01 ~]# ss -nltp|grep 9300
LISTEN     0      128     ::ffff:192.168.153.179:9300                    :::*                   users:(("java",pid=27812,fd=191))
30, kibana barato

operación kafka03

[root@kafka03 ELK三剑客]# pwd
/usr/local/src/ELK三剑客
[root@kafka03 ELK三剑客]# yum -y install kibana-6.6.2-x86_64.rpm
31. Configurar /etc/kibana/kibana.yml

operación kafka03

[root@kafka03 ~]# grep -Ev '#|^$' /etc/kibana/kibana.yml 
server.port: 5601
server.host: "192.168.153.177"
elasticsearch.hosts: ["http://192.168.153.179:9200"]
  • puerto.servidor: 5601
  • #kibanaService Puerto
  • server.host: "192.168.153.177"
  • #kibanaService IP de host
  • elasticsearch.hosts: ["http://192.168.153.179:9200"]
    IP del host del servicio #elasticsearch
32, movimiento kibana

operación kafka03

[root@kafka03 ~]# systemctl start kibana
[root@kafka03 ~]# ss -nltp|grep 5601
LISTEN     0      128    192.168.153.177:5601                     *:*                   users:(("node",pid=16965,fd=18))
33. Instale herramientas de medición de presión y servicios nginx

operación kafka01

[root@kafka01 ~]# yum -y install httpd-tools epel-release && yum -y install nginx
34, inicie nginx y prueba de presión

operación kafka01

[root@kafka01 ~]# nginx
[root@kafka01 ~]# ab -n100 -c100 http://192.168.153.179/index.html
35, ver el índice
kafka01操作
[root@kafka01 ~]# curl -X GET http://192.168.153.179:9200/_cat/indices?v
health status index            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   nginx-2020.09.20 cBEQUbJxTZCbiLWfJbOc-w   5   1        105            0      169kb          169kb
36, kibana (http: // ip: 5601) ingrese la operación de la interfaz gráfica

Ver índice
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
¡Los registros de nginx de monitoreo de implementación e instalación de EFK ahora están completos!

Supongo que te gusta

Origin blog.csdn.net/qq_49296785/article/details/108680226
Recomendado
Clasificación