ELK kafka zookeeper 安装 学习使用

kafka zookeeper安装

tar -zxvf  zookeeper-3.4.6.tar.gz
cp zoo_sample.cfg zoo.cfg
/bin/zkServer.sh start 
tar -zxvf kafka_2.11-1.1.0.tgz
 bin/kafka-server-start.sh config/server.properties
 bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic elk

elasticsearch安装

tar zxf elasticsearch-6.2.3.tar.gz
修改config/elasticsearch.yml
network.host: 0.0.0.0
http.cors.enabled: true                                    
http.cors.allow-origin: "*" 
./elasticsearch -d (-d确保服务可以在后台运行)

安装node

wget https://npm.taobao.org/mirrors/node/latest-v4.x/node-v4.5.0-linux-x64.tar.gz
tar -zxvf node-v4.5.0-linux-x64.tar.gz
vim /etc/profile
export NODE_HOME=/usr/node-v4.5.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin/
export NODE_PATH=$NODE_HOME/lib/node_modules

安装grunt
grunt是基于Node.js的项目构建工具,可以进行打包压缩、测试、执行等等的工作,head插件就是通过grunt启动

npm install -g grunt-cli  //执行后会生成node_modules文件夹
grunt -version

vi Gruntfile.js
ELK kafka zookeeper 安装 学习使用_第1张图片

vi _site/app.js
ELK kafka zookeeper 安装 学习使用_第2张图片

npm install 如果成功就直接执行grunt server
否则下载https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-linux-x86_64.tar.bz2

下载好后进行解压(由于是bz2格式,要先进行bzip2解压成tar格式,再使用tar解压)

bzip2 -d phantomjs-2.1.1-linux-x86_64.tar.bz2
tar xvf phantomjs-2.1.1-linux-x86_64.tar

安装依赖软件
yum -y install wget fontconfig

安装filebeat 监听文件输出到kafka
ELK kafka zookeeper 安装 学习使用_第3张图片

output.kafka:
    enabled: true
    hosts: ["localhost:9092"]
    topic: elkLog

logstash的组件其实很简单,主要包括input、filter、output、codec四个部分

  1. input 用于读取内容,常用的有stdin(直接从控制台输入)、file(读取文件)等,另外还提供了对接redis、kafka等的插件
  2. filter 用于对输入的文本进行处理,常用的有grok(基于正则表达式提取字段)、kv(解析键值对形式的数据)、csv、xml等
  3. output
    用于把fitler得到的内容输出到指定的接收端,常用的自然是elasticsearch(对接ES)、file(输出到文件)、stdout(直接输出到控制台)
  4. codec
    它用于格式化对应的内容,可以再Input和output插件中使用,比如在output的stdout中使用rubydebug以json的形式输出到控制台
input {
    file {
        path => "D:\elk\page.csv"
        start_position => "beginning"   
    }
}
filter {
    grep{
        match => { 
            "message" => "error" 
        }
    }
}
output {
    stdout{codec => dots}
    elasticsearch {
        document_type => "test"
        index => "page"
        hosts => ["127.0.0.1:9200"]
    }
}

启动logstash时候,必须看见下面才是成功
ELK kafka zookeeper 安装 学习使用_第4张图片

logstash接受kafka数据,传输到elastic

input {
	kafka {

        bootstrap_servers => "127.0.0.1:9092"
		topics => ["elkLog"]

        }

} 

output { 
  elasticsearch { 
    hosts => ["localhost:9200"] 
	}
}

统一执行脚本

#!/bin/bash
kill -9 $(ps -ef|grep logstash|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
kill -9 $(ps -ef|grep zookeeper|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
kill -9 $(ps -ef|grep kafka|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
kill -9 $(ps -ef|grep filebeat|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
kill -9 $(ps -ef|grep kibana|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
kill -9 $(ps -ef|grep elasticsearch|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
kill -9 9100

/opt/zookeeper-3.4.6/bin/zkServer.sh start >/dev/null 2>&1 &
sleep 5
/opt/kafka_2.11-1.1.0/bin/kafka-server-start.sh /opt/kafka_2.11-1.1.0/config/server.properties >/dev/null 2>&1 &
sleep 5
/opt/elk/filebeat-6.2.3/filebeat -c /opt/elk/filebeat-6.2.3/filebeat.yml >/dev/null 2>&1 &
sleep 2
/opt/elk/elasticsearch-6.2.3/bin/elasticsearch >/dev/null 2>&1 &
sleep 3
/opt/elk/logstash-6.2.3/bin/logstash -f /opt/elk/logstash-6.2.3/bin/logstash.conf >/dev/null 2>&1 &
sleep 5
/opt/elk/kibana-6.2.3/bin/kibana >/dev/null 2>&1 &
sleep 5
cd /opt/elk/elasticsearch-6.2.3/elasticsearch-head-master
grunt server >/dev/null 2>&1 &

你可能感兴趣的:(java初期)