关于elk+zookeeper+kafka 运维集中日志管理

主要是面向多应用多服务器,需要集中管理,来确认应用是否存在一些风险性等问题

相应的原理在网上一搜都可以知道的了,这里就不再做任何的解释性的问题

应用的流程图:

关于elk+zookeeper+kafka 运维集中日志管理_第1张图片

关于部署的网络拓补图:


关于elk+zookeeper+kafka 运维集中日志管理_第2张图片

一、关于部署性的问题:


192.168.158.129  zoo01

192.168.158.130  zoo02

192.168.158.132  zoo03


 1. 关于zookeeper的部署

从官网上进行下载:kafka_2.10-0.10.0.0.tgz

mkdir /usr/local/kafkaCluster

cd /usr/local/kafkaCluster

tar zxvf kafka_2.10-0.10.0.0.tgz

mv kafka_2.10-0.10.0.0 kafka01

cd kafka01/config

vim zookeeper.properties


tickTime=2000

initLimit=10

syncLimit=5

dataDir=/usr/local/kafkaCluster/kafka01/dataDir

clientPort=2181

server.1=zoo01:2888:3888

server.2=zoo02:2888:3888

server.3=zoo03:2888:3888



cd  ..

mkdir dataDir  zolog

echo '1' > dataDir/myid  #注意,这里要对应的每一台id要与配置文件里的server.1相同

三台zookeeper都要进行部署好

启动:

cd zolog 

nohup /usr/local/kafkaCluster/kafka01/bin/zookeeper-server-start.sh /usr/local/kafkaCluster/kafka01/config/zookeeper.properties  &



2.  kafka 配置

vim config/server.properties


broker.id=1  #注意三台都要不一样的

port=9092

host.name=192.168.158.129

log.dir=/usr/local/kafkaCluster/kafka01/logs

zookeeper.connect=zoo01:2181,zoo02:2181,zoo03:2181

log.dirs=/usr/local/kafkaCluster/kafka01/logs

log.retention.hours=168



启动:

mkdir kalog

cd kalog

nohup /usr/local/kafkaCluster/kafka01/bin/kafka-server-start.sh /usr/local/kafkaCluster/kafka01/config/server.properties &


3. elasticsearch的部署

su - elk

#创建目录

mkdir –p /usr/local/elkCluster

##进行解压, z表示解压gzx表示解压,v表示显示,f表示指定文件;-C表示指定目录到

tar zxvf  elasticsearch-2.3.5.tar.gz–C/usr/local/elkCluster

#改变目录名

mv elasticsearch-2.3.5elasticsearch

#切换目录到elasticsearch/config

cdelasticsearch/config

vim elasticsearch.yml

##集群名

cluster.name:

elk-cluster

##节点名

node.name:

"elk-node1"

##是否为master,是否选举为master

node.master:

true

##是否存储索引数据

node.data: true

##设置默认索引分片个数,默认为5

index.number_of_shards:

5

##设置默认索引副本个数,默认为1个副本

index.number_of_replicas:

1

##索引数据的存储路径

path.data:

/usr/local/elkCluster/elasticsearch/data

##临时文件的存储路径

path.work: /usr/local/elkCluster/elasticsearch/worker

##日志文件的存储路径

path.logs:

/usr/local/elkCluster/elasticsearch/logs

##插件的存放路径

path.plugins:

/usr/local/elkCluster/elasticsearch/plugins

##绑定的ip地址,可以是ipv4ipv6的,默认为0.0.0.0

network.host:

192.168.158.128

##bootstrap.mlockall: true生产上开启,作用是强制所有内存锁定,不要搞什么swap的来影响性能

##节点间交互的tcp端口

transport.tcp.port:

9300

##是否压缩tcp传输时的数据

transport.tcp.compress:

true

##对外服务的http端口

http.port: 9200

#进行检测作用。

discovery.zen.ping.unicast.hosts:

["192.168.158.128","192.168.158.131"]

启动:

cd bin/

./elasticsearch -d

./plugin  install mobz/elasticsearch-head

./plugin install lmenezes/elasticsearch-kopf


4.安装kibana

su - elk

tar zxvf  kibana-4.5.1-linux-x64.tar.gz

mv  kibana-4.5.1-linux-x64  /app/kibana

vim /app/kibana/config/kibana.yml

######################################################

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.url: "http://10.10.230.158:9201"

pid.file: /app/kibana/logs/kibana.pid

#######################################################

启动:

/app/kibana/bin/kibana -c /app/kibana/config/kibana.yml -l /app/kibana/logs/kibana.log > /dev/null 2>&1 &


5、logstatsh部署server

##进行解压, z表示解压gzx表示解压,v表示显示,f表示指定文件;-C表示指定目录到

tar zxvf logstash-2.3.4.tar.gz

–C /usr/local

##切换目录

cd /usr/local

##重命名为logstash

mv logstash-2.3.4

logstash

##切换目录

cd logstash

##创建目录

mkdir etc

vim logstash.conf

input {

kafka {

zk_connect =>"192.168.158.130:2181,192.168.158.129:2181,192.168.132:2181"

topic_id => "systemlog"

codec => plain

reset_beginning => false

consumer_threads => 5

decorate_events => true

}

}

output {

elasticsearch {

hosts =>["192.168.158.128:9200","192.168.158.131:9200"]

index =>"systemlog-%{+YYYY-MM-DD}"

}

}

#启动

/usr/local/logstash/bin/logstashagent -f /usr/local/logstash/etc/logstash.conf 

6. logstatsh部署client

配置文件不一样

input{

file {

type => "syslog"

path => "/var/log/messages"

discover_interval => 15

stat_insterval => 1

}

}

output{

kafka {

bootstrap_servers =>"192.168.158.129:9092,192.168.158.130:9092,192.168.158.132:9092"

topic_id => "syslog"

compression_type => "snappy"

}

}

这里写文章编辑功能真是有点无语,不过喜欢这里的简洁!

后面继续更新Elk相关性文章,让技术更加前进

你可能感兴趣的:(关于elk+zookeeper+kafka 运维集中日志管理)