ELK日志收集系统

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

一,概述

ELK由三个组件构成

作用:日志收集 日志分析 日志可视化

二,组件

1,elasticsearch


    日志分析
    开源的日志收集、分析、存储程序
    特点
        分布式
        零配置
        自动发现
        索引自动分片
        索引副本机制
        Restful风格接口
        多数据源
        自动搜索负载

2,logstash

 
   2.1 日志收集
    2.2 搜集、分析、过滤日志的工具
    2.3 工作过程
        一般工作方式为c/s架构,Client端安装在需要收集日志的服务器上,Server端负责将收到的各节点日志进行过滤、修改等操作,再一并发往Elasticsearch上去
        Inputs → Filters → Outputs
        输入-->过滤-->输出
    2.4 INPUT
          File:从文件系统的文件中读取,类似于tail -f命令
          Syslog:在514端口上监听系统日志消息,并根据RFC3164标准进行解析
          Redis:从redis service中读取
          Beats:从filebeat中读取
    2.5 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.6 OUTPUTS
          Elasticsearch:可以高效的保存数据,并且能够方便和简单的进行查询。
          File:将Event数据保存到文件中。
          Graphite:将Event数据发送到图形化组件中,踏实一个当前较流行的开源存储图形化展示的组件。
    了解

三,配置ELK日志收集系统

设置各个主机的IP地址为拓扑中的静态IP,在两个节点中修改主机名为node1和node2并设置hosts文件
node1:
hostnamectl set-hostname node1
vim /etc/hosts
192.168.115.3  node1
192.168.115.4 node2ELK日志收集系统,elk

ELK日志收集系统,elk
node2:
hostnamectl set-hostname node2
vim /etc/hosts
192.168.115.3  node1
192.168.115.4  node2ELK日志收集系统,elk
三、 安装node1与node2节点的elasticsearch
点解分别安装java环境:
yum install -y java-1.8.0-openjdk
1. 安装

 mv elk软件包  elk

 cd elk

 rpm -ivh elasticsearch-5.5.0.rpm

  1. 配置
  2. ELK日志收集系统,elk

node1:

vim /etc/elasticsearch/elasticsearch.yml

ELK日志收集系统,elk

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

node.name:node1 //节点名字

ELK日志收集系统,elk

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

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

ELK日志收集系统,elk

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

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

ELK日志收集系统,elk

http.port:9200 //侦听端口为9200
discovery.zen.ping.unicast.hosts:【"node1","node2"】 //群集发现通过单播实现

ELK日志收集系统,elk

node2节点安装

ELK日志收集系统,elk

scp把配置文件传到node2节点

ELK日志收集系统,elk

更改节点名称

ELK日志收集系统,elk

配置完成保存退出重启服务并查看

ELK日志收集系统,elk

网页测试

ELK日志收集系统,elk

  1. 查看集群健康状态:

http://192.168.115.3:9200/_cluster/health

ELK日志收集系统,elk

在node1安装elasticsearch-head插件

cd elk

tar xf node-v8.2.1.tar.gz

cd node-v8.2.1

./configure && make -j4 && make install

拷贝命令

cd elk

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日志收集系统,elk

安装elasticsearch-head
cd elk
tar xf elasticsearch-head.tar.gz 
cd elasticsearch-head
npm install

ELK日志收集系统,elk

修改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日志收集系统,elk

重启服务: systemctl restart elasticsearch

ELK日志收集系统,elk

启动elasticsearch-head

cd /root/elk/elasticsearch-head

npm run start &

ELK日志收集系统,elk

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

ELK日志收集系统,elk访问:

http://192.168.115.3:9100

ELK日志收集系统,elk

测试

在node1的终端中输入:

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

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

ELK日志收集系统,elk

ELK日志收集系统,elk

node1服务器安装logstash

cd  elk

rpm -ivh logstash-5.5.1.rpm

systemctl start logstash.service

ELK日志收集系统,elk

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

ELK日志收集系统,elk

测试1: 标准输入与输出

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

ELK日志收集系统,elk

ELK日志收集系统,elk

测试2: 使用rubydebug解码

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

ELK日志收集系统,elkELK日志收集系统,elk

测试3:输出到elasticsearch

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

ELK日志收集系统,elkELK日志收集系统,elk

  查看结果:

http://192.168.115.3:9100

若看不到,请刷新!!!

ELK日志收集系统,elk

ELK日志收集系统,elk

  • logstash日志收集文件格式(默认存储在/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/messagesELK日志收集系统,elk

vim /etc/logstash/conf.d/system.conf【自定义】

input {

file{

path =>"/var/log/messages" 

type => "system"

start_position => "beginning"

}

}

output {

elasticsearch{

hosts =>["192.168.1.1:9200"]

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

}

}

ELK日志收集系统,elk

重启日志服务: systemctl restart logstash

查看日志: http://192.168.114.3:9100​​​​​​   

ELK日志收集系统,elk

ELK日志收集系统,elk

node1节点安装kibana

cd elk

rpm -ivh kibana-5.5.1-x86_64.rpm

ELK日志收集系统,elk

配置kibana

vim /etc/kibana/kibana.yml

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

server.host:"0.0.0.0" //Kibana侦听的地址ELK日志收集系统,elk

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

//和Elasticsearch 建立连接

ELK日志收集系统,elk

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

ELK日志收集系统,elk

启动kibana

systemctl start kibana

访问kibana :

http://192.168.115.3:5601

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

ELK日志收集系统,elk

企业案例:

收集httpd访问日志信息

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

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

编写httpd日志收集配置文件

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

ELK日志收集系统,elk

input {

file{

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

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

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

}

output{

elasticsearch {

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

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

}

}

ELK日志收集系统,elk

使用logstash命令导入配置:

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

ELK日志收集系统,elk

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

ELK日志收集系统,elk

ELK日志收集系统,elk文章来源地址https://www.toymoban.com/news/detail-685645.html

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

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

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

相关文章

  • 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 日志系统收集K8s中日志

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

    2024年02月09日
    浏览(33)
  • 系统学习Linux-ELK日志收集系统

    ELK日志收集系统集群实验 实验环境 角色 主机名 IP 接口 httpd 192.168.31.50 ens33 node1 192.168.31.51 ens33 noed2 192.168.31.53 ens33 环境配置 设置各个主机的ip地址为拓扑中的静态ip,并修改主机名 安装elasticsearch node1 vim /etc/elasticsearch/elasticsearch.yml  node2 移动到elk文件夹 修改elasticsearch配置文

    2024年02月10日
    浏览(49)
  • 【分布式技术】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)
  • Linux搭建ELK日志收集系统构建:Filebeat+Redis+Logstash+Elasticse

    一、ELK概述: ELK是一组开源软件的简称,其包括Elasticsearch、Logstash 和 Kibana。ELK最近几年发展迅速,已经成为目前最流行的集中式日志解决方案。 Elasticsearch: 能对大容量的数据进行接近实时的存储,搜索和分析操作。 本项目中主要通过Elasticsearch存储所有获取的日志。 Logst

    2024年02月12日
    浏览(56)
  • ELK日志收集记录

    logstash在需要收集日志的服务器里运行,将日志数据发送给es 在kibana页面查看es的数据 es和kibana安装: Install Elasticsearch with RPM | Elasticsearch Guide [8.8] | Elastic Configuring Elasticsearch | Elasticsearch Guide [8.8] | Elastic Install Kibana with RPM | Kibana Guide [8.8] | Elastic 需要收集日志的服务器里安装

    2024年02月09日
    浏览(57)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包