【ELK日志收集系统】

这篇具有很好参考价值的文章主要介绍了【ELK日志收集系统】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、概述

1.作用

2.为什么使用?

二、组件

1.elasticsearch

1.1 作用

1.2 特点

2.logstash

2.1 作用

2.2 工作过程

2.3 INPUT

2.4 FILETER

2.5 OUTPUTS

3.kibana

三、架构类型

1.ELK

2.ELKK

3.ELFK

4.ELFKK

四、案例 - 构建ELK集群

1.环境配置

2.安装node1与node2节点的elasticsearch

2.1 安装

2.2 配置

2.3 启动elasticsearch服务

2.4 查看节点信息

3.在node1安装elasticsearch-head插件

3.1 安装node

3.2 拷贝命令

3.3 安装elasticsearch-head

3.4 修改elasticsearch配置文件

3.5 启动elasticsearch-head

3.6 访问

3.7 在node1的终端中输入:

4.node1服务器安装logstash

5.ogstash日志收集文件格式(默认存储在/etc/logstash/conf.d)

​编辑

6.node1节点安装kibana

7.企业案例


一、概述

ELK由三个组件构成

1.作用

  • 日志收集
  • 日志分析
  • 日志可视化

2.为什么使用?

  • 日志对于分析系统、应用的状态十分重要,但一般日志的量会比较大,并且比较分散。
  • 如果管理的服务器或者程序比较少的情况我们还可以逐一登录到各个服务器去查看、分析。但如果服务器或者程序的数量比较多了之后这种方法就显得力不从心。基于此,一些集中式的日志系统也就应用而生。目前比较有名成熟的有,Splunk(商业)、FaceBook 的Scribe、Apache的Chukwa Cloudera的Fluentd、还有ELK等等。

二、组件

1.elasticsearch

1.1 作用

  • 日志分析
  • 开源的日志收集、分析、存储程序

1.2 特点

  • 分布式
  • 零配置
  • 自动发现
  • 索引自动分片
  • 索引副本机制
  • Restful风格接口
  • 多数据源
  • 自动搜索负载

2.logstash

2.1 作用

  • 日志收集
  • 搜集、分析、过滤日志的工具

2.2 工作过程

  • 一般工作方式为c/s架构,Client端安装在需要收集日志的服务器上,Server端负责将收到的各节点日志进行过滤、修改等操作,再一并发往Elasticsearch上去
  • Inputs → Filters → Outputs
  • 输入-->过滤-->输出

2.3 INPUT

  • File:从文件系统的文件中读取,类似于tail -f命令
  • Syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析
  • Redis:从redis service中读取
  • Beats:从filebeat中读取

2.4 FILETER

  • Grok:解析任意文本数据,Grok 是 Logstash 最重要的插件。它的主要作用就是将文本格式的字符串,转换成为具体的结构化的数据,配合正则表达式使用。
  • 官方提供的grok表达式:logstash-patterns-core/patterns at main · logstash-plugins/logstash-patterns-core · GitHub
  • Grok在线调试:Grok Debugger
  • Mutate:对字段进行转换。例如对字段进行删除、替换、修改、重命名等。
  • Drop:丢弃一部分Events不进行处理。
  • Clone:拷贝Event,这个过程中也可以添加或移除字段。
  • Geoip:添加地理信息(为前台kibana图形化展示使用)

2.5 OUTPUTS

  • Elasticsearch:可以高效的保存数据,并且能够方便和简单的进行查询。
  • File:将Event数据保存到文件中。
  • Graphite:将Event数据发送到图形化组件中,踏实一个当前较流行的开源存储图形化展示的组件。

3.kibana

  • 日志可视化
  • 为Logstash和ElasticSearch在收集、存储的日志基础上进行分析时友好的Web界面,可以帮助汇总、分析和搜索重要数据日志。

三、架构类型

1.ELK

es
logstash
kibana

2.ELKK

es
logstash
kafka
kibana

3.ELFK

es
logstash        重量级、占用系统资源较多
filebeat          轻量级、占用系统资源较少
kibana

4.ELFKK

es
logstash
filebeat
kafka
kibana

四、案例 - 构建ELK集群

1.环境配置

设置各个主机的IP地址为拓扑中的静态IP,在两个节点中修改主机名为node1和node2并设置hosts文件

node1:

hostnamectl set-hostname node1

bash

vim /etc/hosts

192.168.42.3  node1

192.168.42.4  node2

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

node2:

hostnamectl set-hostname node2

bash

vim /etc/hosts

192.168.42.3  node1

192.168.42.4  node2

        【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

2.安装node1与node2节点的elasticsearch

2.1 安装

  mv elk-apppack elk

  cd elk

rpm -ivh elasticsearch-5.5.0.rpm

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

2.2 配置

node1:

vim /etc/elasticsearch/elasticsearch.yml

cluster.name:my-elk-cluster  //集群名称   

node.name:node1 //节点名字

path.data:/var/lib/elasticsearch  //数据存放路径

path.logs: /var/log/elasticsearch/  //日志存放路径

bootstrap.memory_lock:false //在启动的时候不锁定内存

network.host:0.0.0.0  //提供服务绑定的IP地址,0.0.0.0代表所有地址

http.port:9200 //侦听端口为9200

discovery.zen.ping.unicast.hosts:【"node1","node2"】 //群集发现通过单播实现

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

node2:

vim /etc/elasticsearch/elasticsearch.yml

cluster.name:my-elk-cluster  //集群名称   

node.name:node2 //节点名字

path.data:/var/lib/elasticsearch  //数据存放路径

path.logs: /var/log/elasticsearch/  //日志存放路径

bootstrap.memory_lock:false //在启动的时候不锁定内存

network.host:0.0.0.0  //提供服务绑定的IP地址,0.0.0.0代表所有地址

http.port:9200 //侦听端口为9200

discovery.zen.ping.unicast.hosts:【"node1","node2"】 //群集发现通过单播实现

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

2.3 启动elasticsearch服务

node1和node2

systemctl start elasticsearch

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

2.4 查看节点信息

  http://192.168.42.3:9200

http://192.168.42.4:9200

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.在node1安装elasticsearch-head插件

3.1 安装node

cd elk

ls

tar xf node-v8.2.1.tar.gz

cd node-v8.2.1

./configure && make && make install

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.2 拷贝命令

tar xf phantomjs-2.1.1-linux-x86_64.tar.bz2

cd phantomjs-2.1.1-linux-x86_64/bin

cp phantomjs  /usr/local/bin

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.3 安装elasticsearch-head

cd elk

tar xf elasticsearch-head.tar.gz

cd elasticsearch-head

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

npm install

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.4 修改elasticsearch配置文件

vim /etc/elasticsearch/elasticsearch.yml

 # Require explicit names when deleting indices:

#

#action.destructive_requires_name:true

http.cors.enabled: true  //开启跨域访问支持,默认为false

http.cors.allow-origin:"*"  //跨域访问允许的域名地址

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

重启服务: systemctl restart elasticsearch

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.5 启动elasticsearch-head

cd /root/elk/elasticsearch-head

npm run start &

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

查看监听: netstat -anput | grep :9100

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.6 访问

http://192.168.42.3:9100

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

3.7 在node1的终端中输入:

curl  -XPUT  'localhost:9200/index-demo/test/1?pretty&pretty' -H  'Content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

刷新浏览器可以看到对应信息即可

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

4.node1服务器安装logstash

cd elk

rpm -ivh logstash-5.5.1.rpm

systemctl start logstash.service

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

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

测试1: 标准输入与输出

logstash -e 'input{ stdin{} }output { stdout{} }'

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

测试2: 使用rubydebug解码

logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug }}'

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

测试3:输出到elasticsearch

logstash -e 'input { stdin{} } output { elasticsearch{ hosts=>["192.168.42.3:9200"]} }'

  查看结果:

http://192.168.42.3:9100

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

5.ogstash日志收集文件格式(默认存储在/etc/logstash/conf.d)

Logstash配置文件基本由三部分组成:input、output以及 filter(根据需要)。标准的配置文件格式如下:

input (...)  输入

filter {...}   过滤

output {...}  输出

在每个部分中,也可以指定多个访问方式。例如,若要指定两个日志来源文件,则格式如下:

input {

file{path =>"/var/log/messages" type =>"syslog"}

file { path =>"/var/log/apache/access.log"  type =>"apache"}

}

通过logstash收集系统信息日志

chmod o+r /var/log/messages

vim /etc/logstash/conf.d/system.conf

input {

file{

path =>"/var/log/messages"

type => "system"

start_position => "beginning"

}

}

output {

elasticsearch{

hosts =>["192.168.42.1:9200"]

index => "system-%{+YYYY.MM.dd}"

}

}

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

重启日志服务: systemctl restart logstash

查看日志: http://192.168.42.3:9100

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

6.node1节点安装kibana

cd elk

rpm -ivh kibana-5.5.1-x86_64.rpm

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

配置kibana

vim /etc/kibana/kibana.yml

server.port:5601  //Kibana打开的端口

server.host:"0.0.0.0" //Kibana侦听的地址

elasticsearch.url: "http://192.168.42.3:9200"  

//和Elasticsearch 建立连接

kibana.index:".kibana"  //在Elasticsearch中添加.kibana索引

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

启动kibana

systemctl start kibana

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

访问kibana :

http://192.168.42.3:5601

首次访问需要添加索引,我们添加前面已经添加过的索引:system-*

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

7.企业案例

收集httpd访问日志信息

在httpd服务器上安装logstash,参数上述安装过程,可以不进行测试

logstash在httpd服务器上作为agent(代理),不需要启动

编写httpd日志收集配置文件

vim /etc/logstash/conf.d/httpd.conf

input {

file{

path=>"/var/log/httpd/access_log" //收集Apache访问日志

type => "access" //类型指定为 access

start_position => "beginning" //从开始处收集

}

output{

elasticsearch {

hosts =>["192.168.42.3:9200"] // elasticsearch 监听地址及端口

index =>"httpd_access-%{+YYYY.MM.dd}" //指定索引格式

}

}

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

使用logstash命令导入配置:

logstash -f /etc/logstash/conf.d/httpd.conf

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维

使用kibana查看即可! http://192.168.42.3:5601   查看时在mangement选项卡创建索引httpd_access-*  即可!

【ELK日志收集系统】,# linux小白后期,# 网络小白中期,elk,linux,运维文章来源地址https://www.toymoban.com/news/detail-690972.html

到了这里,关于【ELK日志收集系统】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ELK日志收集系统

    ELK由三个组件构成 作用:日志收集 日志分析 日志可视化     日志分析     开源的日志收集、分析、存储程序     特点         分布式         零配置         自动发现         索引自动分片         索引副本机制         Restful风格接口         多数据源

    2024年02月10日
    浏览(38)
  • ELK日志收集系统(四十九)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、概述 二、组件 1. elasticsearch 2. logstash 2.1 工作过程 2.2 INPUT 2.3  FILETER 2.4  OUTPUTS 3. kibana 三、架构类型 3.1 ELK 3.2 ELKK 3.3 ELFK 3.5 EFK 四、案例 ELK日志收集系统是一种常用的开源系统,由三个主

    2024年02月10日
    浏览(43)
  • ELK (一)部署ELK+Filebeat日志收集分析系统

    说明:此安装流程只适用于8.0.0以下的版本 1.1 下载ElasticSearch的wget指令: 1.2 解压安装包到指定目录 指定解压缩到 /usr/local 目录下 1.3 修改配置文件 (1)elasticsearch.yml 分别创建 path.data、path.logs 对应的 data、logs文件夹。 详细配置: (2)limits.conf 末尾追加以下内容: (3)s

    2024年02月08日
    浏览(48)
  • ELK 日志系统收集K8s中日志

    • K8s弹性伸缩性:导致不能预先确定采集的目标 • 容器隔离性:容器的文件系统与宿主机是隔离,导致日志采集器读取日志文件受阻。 应用程序日志记录体现方式分为两类: • 标准输出:输出到控制台,使用kubectl logs可以看到。 例如 nginx日志是将访问日志输出到标准输出

    2024年02月09日
    浏览(34)
  • ELK+Kafka+Zookeeper日志收集系统

    节点IP 节点规划 主机名 192.168.112.3 Elasticsearch + Kibana + Logstash + Zookeeper + Kafka + Nginx elk-node1 192.168.112.3 Elasticsearch + Logstash + Zookeeper + Kafka elk-node2 192.168.112.3 Elasticsearch + Logstash + Zookeeper + Kafka + Nginx elk-node3 修改主机名 配置映射 安装Elasticserach 三台主机都需安装java及elasticserach 启动

    2024年04月18日
    浏览(67)
  • 【分布式技术】ELK大型日志收集分析系统

    目录 步骤一:完成JAVA环境部署 步骤二:部署ES节点(三台主机) 步骤三:内核参数修改 步骤四:web端查看验证 步骤五:yum安装nginx  步骤六:完成logstash部署 步骤七:部署kibana  步骤八:测试ELK

    2024年01月20日
    浏览(46)
  • 部署ELK+Kafka+Filebeat日志收集分析系统

    ELK是三个软件的统称,即Elasticsearch、Logstash和Kibana三个开源软件的缩写。这三款软件都是开源软件,通常配合使用,并且都先后归于Elastic.co企业名下,故被简称为ELK协议栈。ELK主要用于部署在企业架构中,收集多台设备上多个服务的日志信息,并将其统一整合后提供给用户。

    2024年02月16日
    浏览(41)
  • ELK日志收集系统集群实验(5.5.0版)

    目录 前言 一、概述 二、组件介绍 1、elasticsearch 2、logstash 3、kibana 三、架构类型 四、ELK日志收集集群实验 1、实验拓扑 2、在node1和node2节点安装elasticsearch 3、启动elasticsearch服务 4、在node1安装elasticsearch-head插件 5、测试输入 6、node1服务器安装logstash 7、logstash日志收集文件格式

    2024年02月10日
    浏览(39)
  • 分布式技术--------------ELK大规模日志实时收集分析系统

    目录 一、ELK日志分析系统 1.1ELK介绍 1.2ELK各组件介绍 1.2.1ElasticSearch 1.2.2Kiabana 1.2.3Logstash 1.2.4可以添加的其它组件 1.2.4.1Filebeat filebeat 结合logstash 带来好处 1.2.4.2缓存/消息队列(redis、kafka、RabbitMQ等) 1.2.4.3Fluentd 二、为什么要使用 ELK 三、完整日志系统基本特征 四、ELK 的工作

    2024年04月17日
    浏览(49)
  • docker搭建Elk+Kafka+Filebeat分布式日志收集系统

    目录 一、介绍 二、集群环境 三、ES集群 四、Kibana  五、Logstash 六、Zookeeper 七、Kafka 八、Filebeat 八、Nginx (一)架构图  (二)组件介绍 1.Elasticsearch 是一个基于Lucene的搜索服务器。提供搜集、分析、存储数据三大功能。它提供了一个分布式多用户能力的全文搜索引擎,基于

    2024年02月04日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包