| 
       
	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即可,配置内容保持一致。效果如下:正式和测试环境都在这里: 
![]()  | 
    

