ELK实时日志分析平台环境部署
1. 基础环境介绍
系统: Centos6.5
防火墙: 关闭(iptables -F)
Sellinux: 关闭
机器环境: 两台
elk-node1: 192.168.158.62 #master机器
elk-node2:192.168.158.63 #slave机器
ELK的三个组件版本号需要一致(6.6.1版)
注明:
master-slave模式:
master收集到日志后,会把一部分数据碎片到salve上(随机的一部分数据);同时,master和slave又都会各自做副本,并把副本放到对方机器上,这样就保证了数据不会丢失。
如果master宕机了,那么客户端在日志采集配置中将elasticsearch主机指向改为slave,就可以保证ELK日志的正常采集和web展示。
由于elk-node1和elk-node2两台是虚拟机,没有外网ip,所以访问需要通过宿主机进行代理转发实现。
2. ELK安装
1. 首先创建一个elk用户
① groupadd elk
② useradd -g elk elk
2. 安装jdk1.8(不做赘述了)
3. Elasticsearch安装(http://192.168.168.62:9200/)
① 将elasticsearch-6.6.1.tar.gz放在服务器的/home/elk目录下。
② 解压并修改用户群组(chown elk:elk elasticsearch-6.6.1/ -R)
③ elasticsearch的同级目录下创建logs、data文件夹,然后修改配置文件 (/home/elk/elasticsearch-6.6.1/config/elasticsearch.yml)
④ 启动es:./elasticsearch-6.6.1/bin/elasticsearch &
4. logstash安装
① 将logstash-6.6.1.tar.gz放在/home/elk目录下
② 解压并修改用户群组(chown elk:elk logstash-6.6.1/ -R)
③ 复制配置文件(cp logstash-sample.conf logstash.conf)
④ 修改配置文件(/home/elk/logstash-6.6.1/config/logstash.conf)
⑤ 启动logstash(./bin/logstash -f /home/elk/logstash-6.6.1/config/logstash.conf &)
5. kibana安装
① 将kibana-6.6.1-linux-x86_64.tar.gz放在/home/elk目录下并重命名
② 解压并修改用户群组(chown elk:elk kibana-6.6.1/ -R)
③ 修改配置文件(/home/elk/kibana-6.6.1/config/kibana.yml)
④ 启动kibana(./bin/kibana &)
2. 安装成功(执行http://192.168.158.62:5601)
3. 问题解决
1. 主要是Elasticsearch启动是会报错
① 第一个问题的原因:无法创建本地文件问题,用户最大可创建文件数太小
vi /etc/security/limits.conf
添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072
* soft nproc 65535
* hard nproc 65535
ulimit -u 4096
② 第二个错误的原因:无法创建本地线程问题,用户最大可创建线程数太小
vi /etc/security/limits.d/90-nproc.conf
找到如下内容:
* soft nproc 1024
#修改为
* soft nproc 4096
③ 第三个错误的原因:最大虚拟内存太小
vi /etc/sysctl.conf
增加如下内容
vm.max_map_count=655360
执行命令:sysctl -p