需求背景:java
业务发展愈来愈大,服务器愈来愈多,各类访问日志,应用日志,错误日志也愈来愈多,开发人员排查问题,须要上服务器查,不方便,运营人员须要一些数据,也须要运维人员上服务器分子日志。node
Elasticsearch 是个开源分布式搜索引擎,它的特色有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。web
Logstash 是一个彻底开源的工具,他能够对你的日志进行收集、分析,并将其存储供之后使用(如,搜索)。vim
kibana 也是一个开源和免费的工具,他 Kibana 能够为 Logstash 和 Elastic Search 提供的日志分析友好的 Web 界面,能够帮助您汇总、分析和搜索重要数据日志。centos
1、准备工做浏览器
三台服务器环境:ruby
192.168.153.13 (主节点)cnetos7服务器
192.168.153.14 (数据节点)centos7restful
192.168.153.15 (数据节点)centos7运维
角色划分:
3台所有安装elasticsearch
主节点上安装kibana
其中一个(192.168.153.15 )数据节点上安装logstash
2、部署工做:
1、三台机器上都安装jdk
yum install -y java-1.8.0-openjdk
2、安装elasticsearch
下载6.3版本的
在一台机器上执行
wget artifacts.elastic.co/downloads/e…
用scp同步到另外两台机器上
而后分别在三台机器上执行:
rpm -ivh elasticsearch-6.3.0.rpm
3、配置es
在主节点上配置以下信息:
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: test
node.name: test-01
node.master: true
node.data: false
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 192.168.153.13
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.153.13","192.168.153.14", "192.168.153.15"]
配置完保存,分别拷贝到其余两个节点上
在一个从节点:
vim /etc/elasticsearch/elasticsearch.yml #修改如下4行数据
node.name: test-14
node.master: false
node.data: true
network.host: 192.168.153.14
在另外一个从节点也是一样的修改(注意ip和node.name不同)
4、启动es
顺序:主,从,从
systemctl start elasticsearch
#curl '192.168.153.13:9200/_cluster/health?pretty'
查看集群节点有没有问题
5、安装kibana(主机器上)
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-x86_64.rpm
rpm -ivh kibana-6.3.0-x86_64.rpm
vim /etc/kibana/kibana.yml #配置kibana
server.port: 5601
server.host: 192.168.153.13
elasticsearch.url: "http://192.168.153.13:9200"
启动:
systemctl start kibana
查看进程,端口,检查服务是否启动起来
浏览器访问:192.168.153.13:5601,能够访问到说明成功了
6、安装logstash
在192.168.153.15机器上安装
wget artifacts.elastic.co/downloads/l…
rpm -ivh logstash-6.3.0.rpm
配置logstash
vim /etc/logstash/conf.d/syslog.conf #以收集系统日志为例
input{
syslog{
type => "syslog-syslog"
port => 10514
}
}
output{
stdout{
codec => rubydebug
}
}
检查配置文件是否有错:
cd /usr/share/logstash/bin
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.te
st_and_exit
显示Configuration OK,说明能够启动了
注:启动以前要作一件事,检查10514端口是否打开,没有打开,那么配置一下
vim /etc/rsyslog.conf
在#### RULES #### 下面添加一行
*.*@@192.168.153.15:10514
启动:
./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf
注:此处一个小实验
执行了./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf ,终端页面不会退出,在新打开一个终端页面,执行systemctl restart rsyslog,而后反过去看以前的终端页面,会出现日志信息(图略)
3、配置logstash收集信息展现在kibana上
1、配置并启动logstash
vim /etc/logstash/conf.d/syslog.conf
input{
syslog{
type => "syslog-syslog"
port => 10514
}
}
output{
elasticsearch{
hosts => ["192.168.153.13:9200"]
index => "system-syslog-%{+YYYY.MM}"
}
}
检查配置:
/usr/share/logstash/bin/logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.te
st_and_exit
为对logstash的日志和数据目录受权:
chown -R logstash /var/lib/logstash/
chown -R logstash /log/lib/logstash/
启动:
systemctl restart logstash
稍等查看端口9600是否启动起来
2、kibana上看日志
配置logstash监听192.168.153.15这个ip
vim /etc/logstash/logstash.yml
http.host: "192.168.153.15"
systemctl restart logstash
web页面打开kibana并配置索引;
索引能够执行:curl '192.168.153.13:9200/_cat/indices?v' 来获取
而后下一步,create;
回到首页discover,能够看到
3、实验:
终端窗口关闭192.168.153.15这个页面,再从新链接,会看到/var/log/messages下会生成新的日志;
刷新kibana页面,能够看到新生成的日志