ELK初探,6.3版本

作者: 漠林sky | 来源:发表于2018-06-26 22:21 被阅读17次

ELK初探

需求背景:

业务发展越来越大,服务器越来越多,各种访问日志,应用日志,错误日志也越来越多,开发人员排查问题,需要上服务器查,不方便,运营人员需要一些数据,也需要运维人员上服务器分子日志。

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。

kibana也是一个开源和免费的工具,他 Kibana 可以为 Logstash 和 Elastic Search 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

一、准备工作

三台服务器环境:

192.168.153.13  (主节点)cnetos7

192.168.153.14  (数据节点)centos7

192.168.153.15  (数据节点)centos7

角色划分:

    3台全部安装elasticsearch

    主节点上安装kibana

    其中一个(192.168.153.15 )数据节点上安装logstash

二、部署工作:

1、三台机器上都安装jdk

yum install -y java-1.8.0-openjdk

2、安装elasticsearch

下载6.3版本的

在一台机器上执行

wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.3.0.rpm

用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机器上安装

wgethttps://artifacts.elastic.co/downloads/logstash/logstash-6.3.0.rpm

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,然后反过去看之前的终端页面,会出现日志信息(图略)

三、配置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页面,可以看到新生成的日志

注:查看集群状态:

curl '192.168.153.13:9200/_cluster/health?pretty'

curl '192.168.153.13:9200/_cluster/state?pretty'

curl '192.168.153.13:9200/_cat/indices?v'  获取索引信息

相关文章

网友评论

    本文标题:ELK初探,6.3版本

    本文链接:https://www.haomeiwen.com/subject/xxkvyftx.html