部署ELFK

ELK+Filebeat日志分析系统 2.1 ELK组件介绍2.2 ELFK组件介绍上述组件中添加提供了一个分布式多用户能力的全文搜索引擎Elasticsearch的核心:1、接近实时(NRT)Elasticsearch是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)2、集群(cluster)一个集群就是由一个或者多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。 阅读详情

目录

ELFK= ES + logstash+filebeat+kibana

环境准备

所有节点

Elasticsearch 集群部署(在Node1、Node2节点上操作)

修改elasticsearch主配置文件

es 性能调优参数

启动elasticsearch是否成功开启

查看节点信息

Logstash 部署(在 Apache 节点上操作)

安装Apahce服务(httpd)

安装Java环境

安装logstash

安装 Kiabana

设置 Kibana 的主配置文件

创建日志文件,启动 Kibana 服务

创建索引

Filebeat+ELK 部署

在 apache 节点上操作

安装 Filebeat

设置 filebeat 的主配置文件

在 Logstash 组件所在节点上新建一个 Logstash 配置文件

Filter 插件

Filter常用插件的作用

示例1

示例2

示例3

将此正则写入配置文件对数据进行过滤

此时在进入kibana查看并添加索引

添加索引

查看添加字段


ELFK= ES + logstash+filebeat+kibana

环境准备

所有节点

systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0

Elasticsearch 集群部署(在Node1、Node2节点上操作)

安装elasticsearch—rpm包

#上传elasticsearch-6.7.2.rpm到/opt目录下
cd /opt
rpm -ivh elasticsearch-6.7.2.rpm

修改elasticsearch主配置文件

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注释,指定集群名字
cluster.name: my-elk-cluster
--23--取消注释,指定节点名字:Node1节点为node1,Node2节点为node2
node.name: node1
node.master: true		#是否master节点,false为否
node.data: true			#是否数据节点,false为否
--35--取消注释,指定数据存放路径
path.data: /var/lib/elasticsearch
--39--取消注释,指定日志存放路径
path.logs: /var/log/elasticsearch
--45--取消注释,避免es使用swap交换分区
bootstrap.memory_lock: false
--57--取消注释,设置监听地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--51--取消注释,ES 服务的默认监听端口为9200
http.port: 9200					#指定es集群提供外部访问的接口
transport.tcp.port: 9300		#指定es集群内部通信接口
--71--取消注释,集群发现通过单播实现,指定要发现的节点
discovery.zen.ping.unicast.hosts: ["node1:9300", "node2:9300"]

grep -v "^#" /etc/elasticsearch/elasticsearch.yml

es 性能调优参数

优化最大内存大小和最大文件描述符的数量

vim /etc/security/limits.conf
......

*  soft    nofile          65536
*  hard    nofile          131072
*  soft    memlock         unlimited
*  hard    memlock         unlimited
systemctl daemon-reexec

vim /etc/sysctl.conf
#一个进程可以拥有的最大内存映射区域数,参考数据(分配 2g/262144,4g/4194304,8g/8388608)
vm.max_map_count=262144

sysctl -p
sysctl -a | grep vm.max_map_count

启动elasticsearch是否成功开启

systemctl start elasticsearch.service
systemctl enable elasticsearch.service
netstat -antp | grep 9200

查看节点信息

浏览器访问 http://192.168.217.100:9200http://192.168.217.110:9200 查看节点 Node1、Node2 的信息

浏览器访问 http://192.168.217.100:9200/_cluster/health?prettyhttp://192.168.217.110:9200/_cluster/health?pretty看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行。

浏览器访问 http://192.168.217.100:9200/_cluster/state?pretty 检查群集状态信息。

Logstash 部署(在 Apache 节点上操作)

安装Apahce服务(httpd)

yum -y install httpd
systemctl start httpd

安装Java环境

yum -y install java
java -version

安装logstash

#上传软件包 logstash-6.7.2.rpm 到/opt目录下
cd /opt
rpm -ivh logstash-6.7.2.rpm                           
systemctl start logstash.service                      
systemctl enable logstash.service

ln -s /usr/share/logstash/bin/logstash /usr/local/bin/

安装 Kiabana

#上传软件包 kibana-6.7.2-x86_64.rpm 到/opt目录
cd /opt
rpm -ivh kibana-6.7.2-x86_64.rpm

设置 Kibana 的主配置文件

vim /etc/kibana/kibana.yml
--2--取消注释,Kiabana 服务的默认监听端口为5601
server.port: 5601
--7--取消注释,设置 Kiabana 的监听地址,0.0.0.0代表所有地址
server.host: "0.0.0.0"
--28--取消注释,配置es服务器的ip,如果是集群则配置该集群中master节点的ip
elasticsearch.url:  ["http://192.168.217.100:9200","http://192.168.217.110:9200"] 
--37--取消注释,设置在 elasticsearch 中添加.kibana索引
kibana.index: ".kibana"
--96--取消注释,配置kibana的日志文件路径(需手动创建),不然默认是messages里记录日志
logging.dest: /var/log/kibana.log

创建日志文件,启动 Kibana 服务

touch /var/log/kibana.log
chown kibana:kibana /var/log/kibana.log
systemctl start kibana.service
systemctl enable kibana.service
netstat -natp | grep 5601

创建索引

将 Apache 服务器的日志(访问的、错误的)添加到 Elasticsearch 并通过 Kibana 显示

vim /etc/logstash/conf.d/apache_log.conf

input {
    file{
        path => "/etc/httpd/logs/access_log"  #指定真确目录位置
        type => "access"
        start_position => "beginning"
    }
    file{
        path => "/etc/httpd/logs/error_log"   #指定错误日志目录
        type => "error"
        start_position => "beginning"
    }
}
output {
    if [type] == "access" {
        elasticsearch {
            hosts => ["192.168.217.100:9200","192.168.217.110:9200"]
            index => "apache_access-%{+YYYY.MM.dd}"
        }
    }
        if [type] == "error" {
        elasticsearch {
            hosts => ["192.168.217.100:9200","192.168.217.110:9200"]
            index => "apache_error-%{+YYYY.MM.dd}"
        }
    }
}
cd /etc/logstash/conf.d/
logstash -f apache_log.conf

此时浏览器访问http://192.168.217.120添加访问日志

浏览器访问 http://192.168.217.120:5601 登录 Kibana创建索引

Filebeat+ELK 部署

在 apache 节点上操作

安装 Filebeat

#上传软件包 filebeat-6.7.2-linux-x86_64.tar.gz 到/opt目录
tar zxvf filebeat-6.7.2-linux-x86_64.tar.gz
mv filebeat-6.7.2-linux-x86_64/ /usr/local/filebeat

设置 filebeat 的主配置文件

cd /usr/local/filebeat
vim filebeat.yml

filebeat.prospectors:

- type: log         #指定 log 类型,从日志文件中读取消息
  enabled: true
  paths:
    - /var/log/httpd/access_log       #指定监控的日志文件
      tags: ["apache_access"]		#设置索引标签
      fields:           #可以使用 fields 配置选项设置一些参数字段添加到 output 中
        service_name: apache
        log_type: access_log
        from: 192.168.217.120

--------------Elasticsearch output-------------------
(全部注释掉)

----------------Logstash output---------------------
output.logstash:
  hosts: ["192.168.217.120:5044"]      #指定 logstash 的 IP 和端口

#启动 filebeat 
nohup ./filebeat -e -c filebeat.yml > filebeat.out &
#-e:输出到标准输出,禁用syslog/文件输出
#-c:指定配置文件
#nohup:在系统后台不挂断地运行命令,退出终端不会影响程序的运行

在 Logstash 组件所在节点上新建一个 Logstash 配置文件

cd /etc/logstash/conf.d

vim filebeat.conf
input {
    beats {
        port => "5044"
    }
}
output {
    elasticsearch {
        hosts => ["192.168.217.100:9200","192.168.217.110:9200"]
        index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
    }
    stdout {
        codec => rubydebug
    }
}
#启动 logstash
logstash -f filebeat.conf

浏览器访问 http://192.168.217.120:5601 登录 Kibana,单击“Create Index Pattern”按钮添加索引“filebeat-*”,单击 “create” 按钮创建,单击 “Discover” 按钮可查看图表信息及日志信息。

 此时再去添加索

Filter 插件

而对于 Logstash 的 Filter,这个才是 Logstash 最强大的地方。Filter 插件也非常多,我们常用到的 grok、date、mutate、mutiline 四个插件。

对于 filter 的各个插件执行流程,可以看下面这张图:

Filter常用插件的作用

grok :对若干个大文本字段进行再分割成一些小字段

date:对数据中的时间格式进行统一和格式化

mutate:对一些无用的字段进行剔除,或添加字段

mutiline :对多行数据进行统一编排,多行拆分

grok 插件

匹配格式:(?<字段名>正则表达式)

这里就要用到 logstash 的 filter 中的 grok 插件。filebeat 发送给 logstash 的日志内容会放到message 字段里面,logstash 匹配这个 message 字段就可以了。配置项如下所示:

示例1

(?<remote_addr>%{IPV6}|%{IPV4})(?<other_info>.+)
#对数据进行分割ip字段名为remote_addr, 其他字段名为other_info

示例2

(?<remote_addr>%{IPV6}|%{IPV4} )[\s\-]+\[(?<log_time>.+)\](?<other_info>.+)
#添加匹配时间字段

示例3

#分割多个字段
(?<remote_addr>%{IPV6}|%{IPV4})[\s\-]+\[(?<log_time>.+)\]\s+\"(?<http_method>\S+)\s+(?<url-path>.+)\"\s+(?<rev_code>\d+)(?<other_info>.+)

将此正则写入配置文件对数据进行过滤

cd /etc/logstash/conf.d/
cp filebeat.conf filter.conf
vim filter.conf

input {
    beats {
        port => "5044"
    }
}
filter {
  grok {
     match =>["message","(?<remote_addr>%{IPV6}|%{IPV4} )[\s\-]+\[(?<log_time>.+)\]\s+\"(?<http_method>\S+)\s+(?<url-path>.+)\"\s+(?<rev_code>\d+)(?<other_info>.+)"]
  }
}
output {
    elasticsearch {
        hosts => ["192.168.217.100:9200","192.168.217.110:9200"]
        index => "filter-%{+YYYY.MM.dd}"
    }
    stdout {
        codec => rubydebug
    }
}
 logstash -f filter.conf#启动

此时在进入kibana查看并添加索引

添加索引

查看添加字段

关系代数表达式优化步骤 关系代数表达式优化步骤 本篇主要讲解怎么画查询语法树并对其优化,因为我在学关系代数的语法树的时候,在网上找不到比较详细的教法或者技巧,最后通过答案反推原理,所以想写一篇技巧来描述一下这类题的解题方法。 先上书内讲解 1、构造查询树 第一步:把用高级语言定义的查询转换为关系代数表达式 ★ 以 SELECT子向对应投影操作,以FROM字向对应笛卡尔积以 WHERE子句对应选择操作,生成原始查询树 ★ SQL语句转化为原始查询树 第二步:把关系代数表达式转换为查询树。 注: 查询树是一种表示关系代数表达式的树形结 阅读详情

相关推荐

Springboot整合ELFK记录(docker安装部署ELFK)

Springboot整合ELFK(docker安装部署ELFK) 前言:日志对于一个程序的重要程度不用多说,正好之前部署了一套分布式日志解决方案(通过查阅大佬教程做此记录分享^ v ^) - ELFK(Elasticsearch+Logstash+FileBeat+Kibana) 简单流程:Filebeat 会定时监听事先指定的日志文件,如果日志文件有变化,会将数据推送至 Logstash,Logstash通过配置进行过滤筛选存入es,最终通过 Kibana 将数据呈现出来。 一. 环境准备 准备服务器:目

forever_xw_的博客 2398

基于AVL-BOOST软件增压器匹配研究

基于AVL-BOOST软件增压器匹配研究

日志可视化方案:ELK+filebeat

点击关注公众号,利用碎片时间学习一、ELK+filebeat系统介绍ELK是指Elasticsearch,Logstash 和 Kibana。集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。ElasticSearch(简称ES),是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析。Logstash,是一个数据收集引擎,主要用于进行数据收集、解析,并将数据发送给ES...

Java笔记虾 2161

FileBeat+Elasticsearch(集群)

ELK集群搭建 基本注意事项和要求 首先环境一定要一样 Jdk版本一定要一样 明确设置那个节点是主节点,那个节点是数据节点node.master属性(主节点属性设置为true,数据节点设置为false,当然主节点也可以存储数据) xpack.ml.enabled: false 如果不需要使用machine learning功能,则可以在elasticsearch.yml中设置禁用: 异常org...

孤君只待两相月 8009

Filebeat 根据type配置将数据直接送到的es的不同索引

Filebeat 根据type配置将数据直接送到的es的不同索引

叱咤少帅的博客 1万+

ELFK部署

由于logstash会大量占用系统的内存资源,一般我们会使用filebeat替换logstash收集日志的功能,组成ELFK架构。或用fluentd替代logstash组成EFK(elasticsearch/fluentd/kibana),由于fluentd是由Go语言开发的,一般在K8S环境中使用较多。登录kibana, 添加“filebeat-*”索引后在“Discover”中查看filebeat日志收集情况。(2)logstash进行过滤、格式化等操作,满足过滤条件的数据将发送给ES。

weixin_58376680的博客 1191

部署ELFK+zookeeper+kafka架构

本文主要详细阐释了如何部署ELFK + zookeeper +kafka 集群,希望对你有帮助!

十七拾的博客 2222

ELFK集群部署

ELFK集群部署

m0_71931851的博客 400

ELFK日志系统部署及注意事项

ELFK是Elasticsearch、Logstash、Filebeat、Kibana的简称,是目前最流行的开源日志分析平台。Elasticsearch:分布式搜索引擎,用于存储日志数据,提供强大的全文检索和分析功能Logstash:日志收集处理工具,用于过滤和转换日志,支持多种输入输出源Filebeat:轻量级日志收集器,用于收集文件日志,资源占用少,可靠性高Kibana:可视化平台,用于展示和分析日志,提供丰富的图表和仪表盘功能。

打杂的运维 1022

分布式应用:ELFK集群部署

ELFK集群环境下,Logstash 组件所在节点的/etc/logstash/conf.d目录下,不需要创建system.conf配置文件,即Logstash不需要收集系统日志,因为系统日志将由filebeat收集后发送给Logstash。(安装filebeat后,Logstash会创建filebeat.conf配置文件获取filebeat传来的数据)。filebeat配置filebeat基本命令#启动 filebeat#-e:输出到标准输出,禁用syslog/文件输出#-c:指定配置文件。

cronaldo91的博客 699

ELFK 8.12.2 部署 -- docker部署方式⚽

ELFK 8.12.2 部署 -- docker部署方式⚽

liu_chen_yang的博客 4375

Filebeat+Logstash+Es+Kibana 搭建记录

整体结构图 : 1服务器2台: 1.1 (121.40.165.59): Filebeat-6.3.2 Logstash-6.3.2 Kibana-6.3.2 1.2 (47.99.139.182): ES -6.3.2 2搭建: 2.1 Filebeat: 官网下载压缩包,解压在 /usr/local/filebeat 目录下, 编辑目录下 filebeat.yml 文件: filebeat.inputs: - type: tcp enabled: true max_message_size:

weixin_42545702的博客 842

使用filebeat采集文件到es中

继上一篇logstash采集日志。 之前用logstash做日志采集,但是发现logstash很占用机器资源导致机器运行有点慢。查询资料表明logstash使用Java编写,插件是使用jruby编写,对机器的资源要求会比较高,网上有一篇关于其性能测试的报告。之前做过和filebeat的测试对比。在采集日志方面,对CPU,内存上都要比前者高很多。那么果断使用filebeat作为替代方案。走起! ...

木子金丰的博客 2万+

【ELK 使用指南 1】ELK + Filebeat 分布式日志管理平台部署

ELK详解(组件和工作原理);ELK部署ELFK部署

这是博客的简介的简介 6959

ELK+Filebeat 部署安装

ELK+Filebeat介绍 ELK是Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称(但是后期出现的filebeat(beats中的一种)可以用来替代logstash的数据收集功能,比较轻量级)。市面上也被成为Elastic Stack。 Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。Filebeat的工作方式如下:启动Filebe

zyy247796143的博客 5531

ELK+FileBeat日志分析系统

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

yunxi115的博客 1087
上一篇: ELK企业级日志分析系统
下一篇: EFLFK
sukapulai
博客等级 码龄5年 20粉丝 81原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值