ELK群集部署日志收集

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

一.ELK

ELK平台是一套完整的日志集中处理解决方案
由ElasticSearch、Logstash、Kiabana三个开源工具配合使用
是用户对日志的查询、排序、统计的强大工具组合
一般用于大型企业,中小型企业一般会选择(rsyslog+日志服务器或者shell+Python收集日志)

1.工作原理

logstash进行日志数据收集并且格式化之后发送给elasticsearch,然后elasticsearch收到数据后将其保存并且赋予索引,kibana则是从elasticsearch里查询数据并且将结果反馈到前端。

2.elasticsearch

Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。

3.logstash

作为数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储到用户指定的位置,一般会发送给 Elasticsearch。

4.kibana

Kibana 提供图形化的 web 界面来浏览 Elasticsearch 日志数据,可以用来汇总、分析和搜索重要数据。

5.filebeat

轻量级开源日志收集器
通常用来代替logstash日志收集作用

6.fluented

由于 logstash 太重量级的缺点,Logstash 性能低、资源消耗比较多等问题,随后就有 Fluentd 的出现。相比较 logstash,Fluentd 更易用、资源消耗更少、性能更高,在数据处理上更高效可靠,受到企业欢迎,成为 logstash 的一种替代方案,常应用于 EFK 架构当中。在 Kubernetes 集群中也常使用 EFK 作为日志数据收集的方案。

7.优点

自适用缓冲功能
从其他数据源提取数据
将数据发送到多个目的地
使用条件数据流逻辑组成更复杂的处理管道文章来源地址https://www.toymoban.com/news/detail-419638.html

二.部署

1.elasticsearch

systemctl stop firewalld
setenforce 0

hostnamectl set-hostname node01
su

vim /etc/hosts
	192.168.110.10 node01
	192.168.110.20 node02
	
cd /opt
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
cat>>/etc/profile<<EOF
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
EOF
source /etc/profile

scp -r /usr/local/jdk1.8.0_91/ node02:/usr/local
scp -r /usr/local/jdk1.8.0_91/ 192.168.13.30:/usr/local

cd /opt
rpm -ivh elasticsearch-6.7.2.rpm
cd /etc/elasticsearch/
cp elasticsearch.yml elasticsearch.yml.bak
vim elasticsearch.yml
	17行:cluster.name: my-elk-cluster
	23行:node.name: node01
	24行(插入):node.master: true
	25行(插入):node.data: true
	35行:path.data: /var/lib/elasticsearch
	39行:path.logs: /var/log/elasticsearch
	45行:bootstrap.memory_lock: false
	57行:network.host: 0.0.0.0
	61行:http.port: 9200
	62行(插入):transport.tcp.port: 9300
	71行:discovery.zen.ping.unicast.hosts: ["node01:9300", "node02:9300"]

vim /etc/security/limits.conf
	*  soft    nofile          65536
	*  hard    nofile          131072
	*  soft    memlock         unlimited
	*  hard    memlock         unlimited
ulimit -n 131072

vim /etc/sysctl.conf
	vm.max_map_count=262144
sysctl -p

systemctl start elasticsearch.service
systemctl enable elasticsearch.service

netstat -antp | grep 9200


#安装 Elasticsearch-head 插件
yum install gcc gcc-c++ make -y
cd /opt
tar zxvf node-v8.2.1.tar.gz

cd node-v8.2.1/
./configure
make -j 2 && make install

cd /opt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
cd /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin

cd /opt
unzip elasticsearch-head-master.zip -d /usr/local/src/
cd /usr/local/src/elasticsearch-head-master/
npm install

vim /etc/elasticsearch/elasticsearch.yml
	末行:http.cors.enabled: true
	末行:http.cors.allow-origin: "*"
systemctl restart elasticsearch

cd /usr/local/src/elasticsearch-head-master/
#必须先移动到该目录,才能启动head服务
npm run start &

curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
#该命令创建一个索引,用于测试应用是否成功配置启动。进入192.168.110.10:9200会发现数据默认被分片成5个(此时为成功)

2.logstash+kibana

systemctl stop firewalld
setenforce 0

hostnamectl set-hostname apache
su

yum -y install httpd
systemctl start httpd

vim /etc/profile
	export JAVA_HOME=/usr/local/jdk1.8.0_91
	export JRE_HOME=${JAVA_HOME}/jre
	export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
	export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
source /etc/profile

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/

logstash -e 'input { stdin{} } output { stdout{} }'
	www.baidu.com
	#测试log工具是否安装成功

chmod +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.110.10:9200","192.168.110.20:9200"]
        index =>"system-%{+YYYY.MM.dd}"
    }
}
#内容到此结束

systemctl restart logstash

#apache节点(ELK kibana 部署)
cd /opt
rpm -ihv kibana-6.7.2-x86_64.rpm
vim /etc/kibana/kibana.yml
	2行:server.port: 5601
	7行:server.host: "0.0.0.0"
	28行:elasticsearch.url:  ["http://192.168.110.10:9200","http://192.168.110.20:9200"]
	37行:kibana.index: ".kibana"
	96行:logging.dest: /var/log/kibana.log

touch /var/log/kibana.log
chown kibana:kibana /var/log/kibana.log
systemctl start kibana.service
systemctl enable kibana.service
netstat -natp | grep 5601
#此时可通过网页查看192.168.110.30:5601验证kibana是否安装成功

vim /etc/logstash/conf.d/apache_log.conf
#创建Apache日志文件配置,将 Apache 服务器的日志添加到 Elasticsearch 并通过 Kibana 显示

#文件内容从此开始
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.110.10:9200","192.168.110.20:9200"]
            index => "apache_access-%{+YYYY.MM.dd}"
        }
    fi
    }

    if [type] == "error" {
    elasticsearch {
        hosts => ["192.168.110.10:9200","192.168.110.20:9200"]
        index => "apache_error-%{+YYYY.MM.dd}"
    }
    fi
    }
}
#文件内容到此结束

cd /etc/logstash/conf.d/
/usr/share/logstash/bin/logstash -f apache_log.conf
#开始收集日志

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

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

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

相关文章

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

    在运维中, 日志是非常重要的工具 ,用于记录系统、应用程序或设备的运行状态、事件和异常情况。 1)故障排除和问题诊断 日志是排查故障和诊断问题的关键信息源。 通过分析日志文件,可以查找和定位系统故障、错误和异常,帮助运维人员迅速找出问题的根本原因,并

    2024年02月07日
    浏览(36)
  • ELK日志收集系统

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

    2024年02月10日
    浏览(27)
  • ELK---日志收集系统

    1.要收集哪些日志? ①系统日志–为监控做准备 ②服务日志–数据库–MySQL–慢查询日志、错误日志、普通日志 ③业务日志–log4j( 必须要收集的是业务日志 ) 注:log4j—Java类的数据业务日志 (1)要有针对性的去收集 (2)调整日志级别 2.日志收集后,如何展示?(可视化

    2023年04月08日
    浏览(28)
  • 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日
    浏览(49)
  • 【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 启动ela

    2024年02月10日
    浏览(30)
  • 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日
    浏览(31)
  • ELK 收集 Java 后台日志

    Java日志的特点在于输出信息非常多,通常需要将多行日志信息拼成一个事件,所以需要多行匹配模式。由于Elasticsearch本身就是使用Java开发的,所以Java日志收集实例就直接收集ES的日志。 如下所示是Elasticsearch的几条日志目录,可以看到这些日志条目通过 第一个中括号中的时

    2024年02月03日
    浏览(27)
  • SpringBoot利用ELK实现日志收集

    ELK是Elasticsearch、Logstash、Kibana他们三个组合起来可以搭建日志系统,本文主要记录使 用ELK收集SoringBoot应用产生的日志 Elasticsearch:存储日志信息 Logstash: 日志收集,springboot利用Logstash把日志发送个Logstash,然后Logstash将日志传递 给Elasticsearch。 Kibana:通过web端对日志进行可视化操

    2023年04月08日
    浏览(28)
  • ELK 日志系统收集K8s中日志

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

    2024年02月09日
    浏览(28)
  • 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日
    浏览(60)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包