> 其它学习 > Elasticsearch >

ELK7.1.0搭建教程

1.下载套件压缩文件,我这里是7.1.0版本的,请确保所有套件版本一致:下载地址
 
2.在linux中创建新的user组,root有问题,步骤如下:
 
创建运行ELK的用户
 
[root@localhost local]# groupadd elk
 
[root@localhost local]# useradd -g elk elk
 
[root@localhost local]#passwd elk
 
创建ELK运行目录
 
[root@localhost local]# mkdir /elk
[root@localhost local]# chown -R elk:elk /elk
 
关闭防火墙:
 
[root@localhost ~]# iptables -F
 
以上全部是root用户完成
 
切换到elk帐号

 
3.解压下载的三个压缩文件,命令: tar -zxvf logstash-7.1.0.tar.gz 后面接相关的压缩文件,这里最好下载到创建的用户组文件里面,如果不在里面请确保拥有各种读写权限。
 
4.elasticsearch需要进入config文件夹下,打开elasticsearch.yml文件添加以下参数:
 
完整信息如下:这里注意node.name代表节点名字,保持不同的服务器名字不同加以区分,cluster.initial_master_nodes: ["node-202"]代表主节点,所有的服务器都用相同的一个节点名字作为主节点,另外,启动的时候,最好先启动指定为主节点的这台机器的elasticsearch服务。其它照搬就行,因为我这里是7.1.0版本,所有后面有些参数跟之前版本命名有区别,比如这个discovery.seed_hosts就是新版本的名字。
 
http.cors.enabled: true                                                                                                                                                                                                   
http.cors.allow-origin: "*"
 
这两个参数是为了解决跨域问题。
 
network.host: 0.0.0.0
 
这里我只能设置成0.0.0.0才能被logstash访问。
 
path.data: /elk/data/
path.logs: /elk/logs/
 
这两个文件路径自己创建
 
cluster.name: elk-application 
node.name: node-202 
cluster.initial_master_nodes: ["node-202"]
path.data: /elk/data/
path.logs: /elk/logs/
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
discovery.seed_hosts: ["ip1", "ip2", "ip3"]                                                                           
discovery.zen.minimum_master_nodes: 2     
http.cors.enabled: true                                                                                                                                                                                                   
http.cors.allow-origin: "*"

 
5.启动es,有两种方式:bin/elasticsearch(临时启动)和bin/elasticsearch -d(后台运行)
 
如果启动报错请看错误相关解决方法(注意这里要在root帐号下操作最好),基本都是操作系统参数设置相关的问题。最后,通过:http://ip:9200   查看elasticsearch是否启动成功。
 
6.进入logstash的config文件夹,创建新文件test.conf(名字自己随便取),内容如下:
 
input {
  file {
    path => "/home/hmap/apache-tomcat-8.0.50/logs/catalina*"
     type => "syslog"     
     start_position => beginning
  }
}
filter {}
 
output {
  elasticsearch {
    hosts => ["ip1", "ip2", "ip3"]
    action => "index"
    index => "syslog_prod-%{+YYYY.MM.dd}"
    #user => "hms"
    #password => "Handmobile"
  }
}
 
7.启动logstash:bin/logstash -f config/test.conf 即可。通过:http://ip:9200/_cat/indices     可以查看logstash和elasticsearch是否建立连接,刷新会看到数据变化。
 
8.进入kibana的config文件,修改kibana.yml文件,如下:server.host: "0.0.0.0"很重要,必须为0.0.0.0才能被浏览器访问到。
 
server.host: "0.0.0.0"
server.port: 5601
elasticsearch.hosts: ["http://ip1:9200", "http://ip2:9200", "http://ip3:9200"]

 
9.启动kibana:bin/kibana(临时启动)和nohup bin/kibana &(后台启动),如果要关闭,需要用    fuser -n tcp 5601 找到进程,然后kill -9 进程号 杀死进程。http://ip地址:5601 可以访问kibana
 
10.进入kibana以后,左下角有management,点击进入,然后点击添加index,这里的index就是logstash中配置的syslog,选择时间戳,点击下一步,最后确认。
 
11.点击左上第一个按钮,然后选择index就可以了,可以在filter过滤器中选择需要的内容。
 
12.分布式日志收集只需要在不同的应用服务器上部署logstash即可,配置内容保持一致。效果如下:正式和测试环境都在这里:
 
 
(责任编辑:IT)