EFK-instalação e implantação (monitorar logs nginx)

arredores:

centos7

IP do host instalar software
192.168.153.179 jdk, zookeeper, kafka, filebeat, elasticsearch
192.168.153.178 jdk, zookeeper, kafka, logstash
192.168.153.177 jdk, zookeeper, kafka , kibana

Iniciar implantação:

1. Modifique o nome do host

Operação sequencial em três plataformas

[root@localhost ~]# hostname kafka01
[root@localhost ~]# hostname kafka02
[root@localhost ~]# hostname kafka03
2. Modifique o arquivo hosts

Execute a mesma operação em três

[root@kafka01 ~]# tail -n 3 /etc/hosts
192.168.153.179 kafka01
192.168.153.178 kafka02
192.168.153.177 kafka03
3. Sincronização de tempo

Execute a mesma operação em três

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

Execute a mesma operação em três

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

Execute a mesma operação em três máquinas: no mesmo diretório

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

Realize a mesma operação nas três unidades.
Descompacte, mova e modifique o nome do arquivo no arquivo de configuração

[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 o arquivo zoo.cfg

Execute a mesma operação em três

[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. Crie um diretório de dados

Execute a mesma operação em três

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

Execute sequencialmente em três 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. Execute o serviço zookeeper

Execute a mesma operação em três

[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 o status do zookeeper

Execute a mesma operação em três

[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

Execute a mesma operação em três

[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

O número é o número da linha
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

host 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: // (nome do host kafka01, kafka02, kafk03): 9092 #respectively kafka01 02 03
  • zookeeper.connect = 192.168.10.130: 2181,192.168.10.131: 2181,192.168.10.132: 2181 #Esta linha tem o mesmo conteúdo
14. Inicie o Kafka

Execute a mesma operação em três

[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. Crie um tópico

Operação do 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.

Explicação:

  • - Alta disponibilidade do fator de replicação 2 (número especificado de réplicas)
  • -Partições 3 (especifique o número de partições do tópico) para melhorar a simultaneidade
  • --Topic wg007 especifica um tópico
16. Produtor simulado

Operação do host Kafka01

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

Operação do 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 a simulação

Digite a em kafka01 para verificar se uma
entrada kafka01 aparece em 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. Veja o tópico atual

Operação do host Kafka01

[root@kafka01 ~]# /usr/local/kafka/bin/kafka-topics.sh --list --zookeeper 192.168.153.179:2181
__consumer_offsets
wg007
20. Instale o filebeat (coletar logs)

Instalação do 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

A operação do host Kafka01
renomeie o nome do arquivo filebeat.yml para filebeat.yml.bak
escreva um arquivo filebeat.yml sozinho

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

Configure como segue

[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

operação kafka01

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

Operação do 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

Operação 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. Faça upload de arquivos e caminhos de arquivos regulares do nginx e conclua a configuração

Operação do 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 o logstash

Operação 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

operação kafka01

[root@kafka01 ELK三剑客]# pwd
/usr/local/src/ELK三剑客
[root@kafka01 ELK三剑客]# rpm -ivh elasticsearch-6.6.2.rpm
28, modifique o arquivo de configuração do elasticsearch

operação 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, comece a elasticsearch

operação 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

operação kafka03

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

operação 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"]
  • server.port: 5601
  • #kibanaService Port
  • server.host: “192.168.153.177”
  • #kibanaService IP do host
  • elasticsearch.hosts: ["http://192.168.153.179:9200"]
    #elasticsearch service host IP
32, movimento kibana

operação 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 ferramentas de medição de pressão e serviços nginx

operação kafka01

[root@kafka01 ~]# yum -y install httpd-tools epel-release && yum -y install nginx
34, inicie o nginx e teste de pressão

operação kafka01

[root@kafka01 ~]# nginx
[root@kafka01 ~]# ab -n100 -c100 http://192.168.153.179/index.html
35, veja o í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) entrar na operação da interface gráfica

Exibir índice
Insira a descrição da imagem aqui

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Os logs do nginx de monitoramento de instalação e implantação do EFK agora estão completos!

Acho que você gosta

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