当前位置:   article > 正文

ElK架构初步设计流程即使用方法介绍_packetbeat 区分v4和v6的流量

packetbeat 区分v4和v6的流量

ElK架构初步设计流程即使用方法介绍

1、Elastic Stack

在这里插入图片描述

Elasticsearch

Elasticsearch 基于java,是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引
副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash

Logstash 基于java,是一个开源的用于收集,分析和存储日志的工具。

Kibana

Kibana 基于nodejs,也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch
提供的日志分析友好的 Web 界面,可以汇总、分析和搜索重要数据日志。

Beats

Beats是elastic公司开源的一款采集系统监控数据的代理agent,是在被监控服务器上以客户端形式运行的数据收集
器的统称,可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活
动。
Beats由如下组成:

  • Packetbeat:是一个网络数据包分析器,用于监控、收集网络流量信息,Packetbeat嗅探服务器之间的流量, 解析应用层协议,并关联到消息的处理,其支 持ICMP (v4 and v6)、DNS、HTTP、Mysql、PostgreSQL、 Redis、MongoDB、Memcache等协议;
  • Filebeat:用于监控、收集服务器日志文件,其已取代 logstash forwarder;
  • Metricbeat:可定期获取外部系统的监控指标信息,其可以监控、收集 Apache、HAProxy、MongoDB MySQL、Nginx、PostgreSQL、Redis、System、Zookeeper等服务;

2、搭建elk架构

前提:下载elasticsearch、kibana、Logstash、filebeat、nginx等,创建新用户。ps:elasticsearch、kibana等不支持root启动。

2、1 elasticsearch搭建
解压到新用户文件夹,此文件夹归属于新用户而不是root
配置:

vim /elasticsearch/conf/elasticsearch.yml
  • 1

在这里插入图片描述在这里插入图片描述在这里插入图片描述

vim /etc/security/limits.conf 
  • 1

添加
在这里插入图片描述


  • 1
vim /etc/sysctl.conf

添加vm.max_map_count=655360

执行以下命令生效:
sysctl -p

关闭防火墙:systemctl stop firewalld.service
Cd /elasticsearch/bin
./elasticsearch
启动
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

2、2 elasticsearch-head插件
在google商店中安装elasticsearch-head,连接ip:9100
``
在这里插入图片描述

2、3安装kibana
解压到新文件夹

vim kibana/config/kibana.yml
将server.host,elasticsearch.url修改成所在服务器的ip地址
  • 1
  • 2

在这里插入图片描述

Kibana的默认端口是5601

开启防火墙:systemctl start firewalld.service

开启5601端口:firewall-cmd --permanent --zone=public --add-port=5601/tcp

重启防火墙:firewall-cmd –reload

启动kbana  
cd /kabana/bin
./kabana

关闭防火墙可在windows下浏览
浏览器访问:http://192.168.25.131:5601
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2、4安装filebeat

解压到指定文件

cd filebeat-6.5.4-linux-x86_64
#创建如下配置文件 
itcast.yml 
filebeat.inputs: 
  - type: stdin  
  - enabled: true
setup.template.settings:  
  index.number_of_shards: 3 
  output.console:  
  	pretty: true  
  	enable: true   
  #启动filebeat ./filebeat -e -c itcast.yml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

连接elasticsearch
在这里插入图片描述
在这里插入图片描述

内置了很多的module,但是都没有启用,如果需要启用需要进行enable操作:
./filebeat modules enable nginx #启动 
./filebeat modules disable nginx #禁用

进入moudels.d进行配置nginx

- module: nginx
  # Access logs
  access:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/usr/local/nginx/logs/access.log"]

  # Error logs
  error:
    enabled: true

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
    var.paths: ["/usr/local/nginx/logs/error.log"]
    #

  # Ingress-nginx controller logs. This is disabled by default. It could be used in Kubernetes environments to parse ingress-nginx logs
  ingress_controller:
    enabled: false

    # Set custom paths for the log files. If left empty,
    # Filebeat will choose the paths depending on your OS.
   # var.paths: 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

配置itcast,然后启动,可以分词Logstash也可以。
在这里插入图片描述2、5安装logstash
解压

#第一个logstash示例 
bin/logstash -e 'input { stdin { } } output { stdout {} }'

基本配置如下
input { 
#输入  stdin
 { ... } 
 #标准输入 }
filter {
 #过滤,对数据进行分割、截取等处理    
 ... }
output { #输出    
stdout { ... }
 #标准输出 }


例如#vim itcast-pipeline.conf
input {
   file {
         path => "/itcast/logstash/logs/app.log"      		start_position => "beginning"}}
filter {
    mutate {
          split => {"message"=>"|"
          }}}
output {    stdout { codec => rubydebug } }

#启动 ./bin/logstash -f ./itcast-pipeline.conf

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

3、elk综合构建

在这里插入图片描述

nginx产生日志
通过Filebeat读取日志文件中的内容,并且将内容发送给Logstash
Logstash接收到内容后,进行处理,如分割操作,然后将内容发送到Elasticsearch中
Kibana会读取Elasticsearch中的数据,并且在Kibana中进行设计Dashboard,最后进行展示

#fb_nginx.yml

filebeat.inputs:
#- type: log  
#  enabled: true
#  paths:
#    - /urs/local/nginx/logs/*.log
#  tags: ["nginx"]
setup.template.settings:
  index.number_of_shards: 3
output.logstash:
  hosts: ["192.168.118.164:5044"]
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
#setup.kibana:  
#  host: "192.168.118.164:5601"

#output.console:  
#  pretty: true  
#  enable: true
~
./filebeat -c -e fb_nginx.yml 执行                   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
Logstash配置
#Logstash_nginx.yml

 input {
  beats {
    port=> 5044
  }
}


filter {
  mutate{
    split => {"message" => " " }
  }
}

output {
  elasticsearch {
    hosts => ["192.168.118.164:9200"]
  }
}
./bin/logstash -f logstash_nginx.yml
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

启动kibana设置自定义页面
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/828039
推荐阅读
相关标签
  

闽ICP备14008679号