主要是面向多应用多服务器,需要集中管理,来确认应用是否存在一些风险性等问题
相应的原理在网上一搜都可以知道的了,这里就不再做任何的解释性的问题
应用的流程图:
关于部署的网络拓补图:
一、关于部署性的问题:
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表示解压gz,x表示解压,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地址,可以是ipv4或ipv6的,默认为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表示解压gz,x表示解压,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相关性文章,让技术更加前进