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