设为首页 收藏本站
查看: 1293|回复: 0

[经验分享] ELK+Zookeeper+Kafka+Filebeat日志分析系统

[复制链接]

尚未签到

发表于 2019-1-28 11:33:14 | 显示全部楼层 |阅读模式
ELK+Zookeeper+Kafka+Filebeat

  一、实验目的:
  1. 强大的搜索功能,elasticsearch可以以分布式搜索的方式快速检索,而且支持DSL的语法来进行搜索,简单的说,就是通过类似配置的语言,快速筛选数据。
2. 完美的展示功能,可以展示非常详细的图表信息,而且可以定制展示内容,将数据可视化发挥的淋漓尽致。
3. 分布式功能,能够解决大型集群运维工作很多问题,包括监控、预警、日志收集解析等。

  二、实验逻辑思路:

  1,使用Filebeat这个工具安装到客户端。

  2,接收到的日志文件推送给Kafka上存储。

  3,Zookeeper来协调管理Kafka日志队列最终推送给Logstash集群处理。
  3,Logstash集群处理过的日志文集推送给Easticsearch集群来处理日志文件。
  4,Easticsearch集群处理过后把信息推送给Kibana。
  5,Kibana通过图片、图形、网页形式呈现给用户。
  三、安装部署
  1.为了方便实验的顺利进行,Linux防火墙和selinux我建议还是关闭比较好的选择,不必要为此折腾时间。
[root@server1 ~]# systemctl stop firewalld
[root@server1 ~]#systemctl disable firewalld
[root@server1 ~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  2,实验要求的软件版本。
1,Easticsearch-6.3.2
2,Logstash-6.3.2
3,Kibana-6.3.2
4,JDK 1.8.0_181
5,zookeeper-3.4.12
6,filebeat-6.3.2-linux-x86_64
7,Kafka_2.10-0.10.0.1  3,在第一台主机上的配置server1。
[root@server1 ~]# rpm -qa |grep jdk
[root@server1 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
[root@server1 ~]# mkdir -pv /usr/local/
[root@server1 ~]# tar xf jdk-8u181-linux-x64.tar.gz  -C /usr/local/
[root@server1 ~]# vim /etc/profile
JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
[root@server1 ~]# source /etc/profile
[root@server1 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
[root@server1 ~]# tar -xf elasticsearch-6.4.2.tar.gz  -C /usr/local/
[root@server1 ~]# cd /usr/local
[root@server1 local]# mv elasticsearch-6.4.2 elasticsearch
[root@server1 local]# groupadd elasticsearch
[root@server1 local]# useradd -g elasticsearch elasticsearch -m
[root@server1 local]# chown -R elasticsearch.elasticsearch /usr/local/
[root@server1 local]# ll /usr/local/elasticsearch/
[root@server1 local]# mkdir -p /data/elasticsearch
[root@server1 local]# chown -R elasticsearch.elasticsearch /data/elasticsearch
[root@server1 local]# cd /usr/local/elasticsearch/config/
[root@server1 config]# cp elasticsearch.yml elasticsearch.yml.bak  4,server1 上修改elasticsearch.yml配置文件。
[root@server1 ~]# vim  /usr/local/elasticsearch/config/elasticsearch.yml
cluster.name: ELK-Cluster
node.name: server1
node.master: true
node.data: true
path.data: /data/elasticsearch
path.logs: /usr/local/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping_timeout: 3s
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["10.93.58.66:9300","10.93.58.41:9300"]  5,在server1修改系统配置参数。
[root@server1 config]# echo "vm.max_map_count=262144" >> /etc/sysctl.conf
[root@server1 config]# echo "fs.file-max=655360" >> /etc/sysctl.conf
[root@server1 config]# sysctl -p
vm.max_map_count = 262144
fs.file-max = 655360
[root@server1 config]# vim /etc/security/limits.conf
最后加上
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
[root@server1 config]# vim /etc/security/limits.d/20-nproc.conf
*          soft    nproc     20480  6,切换用户启动elasticsearch。
earch
[root@server1 ~]# cd /usr/local/elasticsearch/
[root@server1 elasticsearch]# ./bin/elasticsearch -d
[root@server1 config]# netstat -lantup |grep java  7,server1安装elasticsearch-head。
[root@server1 ~]# yum install epel-release.noarch -y
[root@server1 ~]# yum install -y nodejs npm
[root@server1 ~]# yum install -y git
[root@server1 ~]# cd /usr/local/
[root@server1 ~]# git clone git://github.com/mobz/elasticsearch-head.git
[root@server1 ~]# npm config set registry=http://registry.npm.taobao.org/
[root@server1 ~]#cd elasticsearch-head/
[root@server1 elasticsearch-head]# npm install
[root@server1 elasticsearch-head]# cd _site
[root@server1 _site]# vim app.js
"http://10.93.58.66:9200";
[root@server1 _site]# su - elasticsearch
[elasticsearch@server1 ~]$ cd /usr/local/elasticsearch-head/
[elasticsearch@server1 elasticsearch-head]$ npm run start
> elasticsearch-head@0.0.0 start /usr/local/elasticsearch-head
> grunt server
Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100  8,server2安装elasticsearch.yml配置。
cluster.name: ELK-Cluster
node.name: server2
node.master: true
node.data: true
path.data: /data/elasticsearch
path.logs: /usr/local/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping_timeout: 3s
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["10.93.58.66:9300","10.93.58.41:9300"]  9,server3安装elasticsearch.yml配置
cluster.name: ELK-Cluster
node.name: server3
node.master: false
node.data: true
path.data: /data/elasticsearch
path.logs: /usr/local/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.minimum_master_nodes: 1
discovery.zen.ping_timeout: 3s
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["10.93.58.66:9300","10.93.58.41:9300"]  10,kafkzk安装kafkzk-3.4.13配置。

关闭防火墙和selinux
[root@kafkzk~]# systemctl stop firewalld
[root@kafkzk~]#systemctl disable firewalld
[root@kafkzk~]#sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config  11,解决一些依赖的问题。
[root@kafkzk ~]#yum install cppunit -y
[root@kafkzk ~]#yum install python-setuptools -y  12,新建目录上传Java安装包安装Java并配置环境变量。
[root@kafkzk ~]#rz
[root@kafkzk ~]# mkdir -pv /usr/local/
[root@kafkzk ~]# tar xf jdk-8u181-linux-x64.tar.gz  -C /usr/local/
[root@kafkzk ~]# vim /etc/profile
添加如下内容:
JAVA_HOME=/usr/local/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
[root@server1 ~]# source /etc/profile
[root@server1 ~]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)  13,安装kafkzk加入环境变量并启动服务。

[root@kafkzk ~]#tar xf zookeeper-3.4.13.tar.gz -C /usr/local/
[root@kafkzk ~]#mv /usr/local/zookeeper-3.4.13  /usr/local/zookeeper
[root@kafkzk ~]#cd /usr/local/zookeeper/conf
[root@kafkzk ~]# cp zoo_sample.cfg zoo_sample.cfg.bak
[root@kafkzk ~]#mv zoo_sample.cfg zoo.cfg
[root@kafkzk ~]# grep -v "^*" /usr/local/zookeeper/conf/zoo_sample.cfg.bak |grep -v "^#" >/usr/local/zookeeper/conf/zoo.cfg
[root@kafkzk ~]#vim zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
server.1=10.93.58.66:2888:3888
server.2=10.93.58.41:2888:3888
server.3=10.93.58.209:2888:3888  14,修改环境变量,添加如下内容。

[root@kafkzk ~]#vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
[root@kafkzk ~]#source /etc/profile
[root@kafkzk ~]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@kafkzk ~]# jps
1521 Jps
/usr/local/logstash  15,未完成待写。

  

  

  

  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668657-1-1.html 上篇帖子: elk的tar.gz的安装 下篇帖子: 用ELK工具收集rancher的容器日志
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表