ELK组件可以去官网下载,这里我使用的版本是:
elasticsearch-5.6.4 |
logstash-5.6.4 |
kibana-5.6.4-linux-x86_64 |
elasticsearch-head谷歌浏览器插件 |
因为这里是快速部署,并且我把ELK都部署在同一台机器(CentOS 7.2),ip地址是:192.168.88.3,因此这里没有考虑到其他的优化,部署前请确保已经安装Java环境即JDK
修改系统环境配置满足运行Elasticsearch
# 调整linux的最大文件打开数 vim /etc/security/limits.conf,在最后一行添加如下命令: * soft nofile 65535 * hard nofile 65535 ulimit -SHn 65535 # 限制虚拟内存 echo "vm.max_map_count=262144" >>/etc/sysctl.conf systcl -p # 创建用户 useradd es passwd es
使用es用户来运行ELK ,所以在es的用户下解压配置ELK
Elasticsearch的主要修改配置
##elasticsearch.conf ... cluster.name: heboan node.name: node-1 network.host: 192.168.88.3 ... ###因为我机器内存小,所以调整了 jvm.options -Xms256m -Xmx256m #运行 bin/elasticsearch -d
Logstash配置
这里因为机器配置原因,我也调整了jvm
### jvm.options -Xms256m -Xmx256m
logstash解压就可以直接使用了,运行最基本的管道
bin/logstash -e ‘input {stdin {}} output {stdout {codec => rubydebug}}‘ #启动Logstash后,请等待..然后在命令行输入任意字符,你会看到一段ruby 对象输出
上面我是运行命令行,并且只输出到屏幕上,大部分情况下,我们都是会定义一个logstash.conf配置文件来启动Logstash,这里我们写一个完整的logstash.conf,把把对象输出到屏幕和Elasticsearch
input { stdin {} } output { stdout { codec => rubydebug {} } elasticsearch { hosts => ["192.168.88.3:9200"] } }
运行:bin/logstash -f logstash.conf, 启动成功后输入Hello World
可以看到屏幕已经输出来了,我们去看看有没有存入到Elasticsearch
Elasticsearch-head插件查看Eelasticsearch,可以看到已经成功添加了一条索引
Kibana安装
kibana主要配置两个地方,
###kibana.yml //默认kibana只允许localhost访问,要想外部访问,可以修改绑定接口 server.host: "192.168.88.3" //要连接的es elasticsearch.url: "http://<elasticsearch_ip>:9200" ##运行 /bin/kibana
访问192.168.88.1:5601