日志监控
2017-01-17 本文已影响61人
薛云龙
zookeeper:
- 下载zookeeper:http://www.apache.org/dyn/closer.cgi/zookeeper
- 解压:tar zxvf xx.tar.gz
- 运行:sudo bin/zkServer.sh start conf/zoo.cfg
- 停止:sudo bin/zkServer.sh stop
- 运行zookeeper客户端:sudo ../bin/zkCli.sh -server ip:port,ip1port
参数配置:
1.伪集群模式
新建配置文件:
../conf/zoo.cfg
# zx.cfg
tickTime=2000
initLimit=10
syncLimit=2
dataDir=/usr/myenv/zookeeper-3.4.8/zx/data
clientPort=218x
# server.x中的“x”表示ZooKeeper Server进程的标识
server.1=127.0.0.1:2222:2225
server.2=127.0.0.1:3333:3335
server.3=127.0.0.1:4444:4445
注:
切记添加myid文件,不然会导致zookeeper启动异常
在配置的dataDir路径下,新建myid文件,内容只存贮对应server.x中的x的数值
-
initLimit: zookeeper集群中的包含多台server, 其中一台为leader, 集群中其余的server为follower. initLimit参数配置初始化连接时, follower和leader之间的最长心跳时间. 此时该参数设置为5, 说明时间限制为5倍tickTime, 即5*2000=10000ms=10s.
-
syncLimit: 该参数配置leader和follower之间发送消息, 请求和应答的最大时间长度. 此时该参数设置为2, 说明时间限制为2倍tickTime, 即4000ms.
启动 :sudo bin/zkServer.sh start conf/zoo.cfg
logstash with kafka
更换源:
logstash目录下,修改Gemfile文件;
vim Gemfile
更换source为:https://gems.ruby-china.org
下载logstash-input-kafka 插件:
sudo bin/logstash-plugin install logstash-input-kafka
logstash配置文件:
input {
beats {
port => 5044
}
kafka{
//kafka地址
bootstrap_servers => "127.0.0.1:9092"
//topics,必须提前在kafka中建好
topics => "test"
//标识当前kafka input的类型
type => "kafka"
}
}
output {
stdout { codec => rubydebug }
if [type] == "messages" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash-messages-%{+YYYY.MM}"
}
}
if [type] == "nginx-access" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash-nginx-access-%{+YYYY.MM}"
}
}
if [type] == "console" {
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash-console-%{+YYYY.MM}"
}
}
}
启动:
出错后开启debug模式:
bin/logstash -f config/index.conf --debug
../bin/logstash -f /etc/logstash/conf.d/nginx_logstash.conf
# 以daemon方式运行,则在指令后面加一个 & 符号
/bin/logstash -f /etc/logstash/conf.d/nginx_logstash.conf &
# 如果是通过rpm包安装的logstash则可以使用自带的脚本启动
/etc/init.d/logstash start
# 通过这种方式启动,logstash会自动加载 /etc/logstash/conf.d/ 下的配置文件
elasticsearch
注意,el启动时,不能给root权限,一般把el文件夹给用户权限之后,直接启动就行
启动:./elasticsearch
查看所有索引:
http://localhost:9200/_cat/indices?v
kibana
启动:bin/kibana
注:被一个问题困扰了几天,从kafka推送的消息,进入到logstash,再到elasticseearch,然后从kibana中查,index为kafka开头的消息始终没有,原来是因为默认创建的indexpattern是logstash-**
Paste_Image.png看左上角的两个过滤规则,kafka-*是后来加上的,当选择这个indexpattern的时候,以kafka开头的所有消息才会被筛选出来。那么问题来了,怎么创建indexpattern呢,看图
Paste_Image.png中间的indexpattern,进入里边,我们就可以创建了
all right