ELK初探

需求背景: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页面,能够看到新生成的日志

相关文章
相关标签/搜索