Centos7 部署ELK6.4.3

  • by

ELK是ElasticSerach、Logstash、Kibana三款产品名称的首字母集合,用于日志的搜集和搜索。我们对nginx服务器日志进行搜索和分析

环境规划

本次实战需要两台电脑(或者vmware下的两个虚拟机),操作系统都是CentOS7,它们的身份、配置、地址等信息如下:

hostname IP地址 身份 配置
elk-server 192.168.253.132 ELK服务端,接收日志,提供日志搜索服务 双核,4G内存
nginx-server 192.168.253.129 Nginx服务端,产生的访问日志通过上报到Logstash 双核,2G内存

部署情况简介 运行时的部署情况如下图所示:

1、业务请求到达nginx-server机器上的Nginx;

2、Nginx响应请求,并在access.log文件中增加访问记录;

4、FileBeat搜集新增的日志,通过LogStash的5044端口上传日志;

5、LogStash将日志信息通过本机的9200端口传入到ElasticSerach;

6、搜索日志的用户通过浏览器访问Kibana,服务器端口是5601;

7、Kibana通过9200端口访问ElasticSerach;

ELK日志平台介绍

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。

集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:一

下载上面三个软件,注意版本要一致。https://www.elastic.co/downloads

一、系统设置

1、设置hostname,打开文件/etc/hostname,将内容改为elk-server

2、关闭防火墙(如果因为其他原因不能关闭防火墙,也请不要禁止80端口):systemctl stop firewalld.service

3、禁止防火墙自动启动:systemctl disable firewalld.service

4、打开文件/etc/security/limits.conf,添加下面四行内容:

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

5. 打开文件/etc/sysctl.conf,添加下面一行内容:

vm.max_map_count=655360

6. 加载sysctl配置,执行命令:sysctl -p
7. 重启电脑;

二、配置和启动elasticsearch

1、elasticsearch依赖Java开发环境支持,先安装JDK。

yum -y install java-1.8.0-openjdk

2、上传刚才下载的ELK三个文件到/root,创建一个目录专门放ELK三个文件。

mkdir /elk

创建用户:elk

groupadd elk

useradd –g elk elk

解压elasticsearch-6.4.3.tar.gz

tar xf elasticsearch-6.4.3.tar.gz

mkdir /elk/elasticsearch

设置目录权限,elasticsearch要求以非root权限启动,将以elk用户启动elasticsearch

mv /elasticsearch/* /elk/elasticsearch

chow –R elk.elk/elk/elasticsearch

启动elasticsearch

  1. 切换到用户elk: su elk
  2. 进入目录 cd /elk/elasticsearch/bin
  3. ./elasticsearch -d 此时会在后台启动elasticsearch
  4. cd /elk/elasticsearch/config

5、grep –v ‘^#’ elasticsearch.yml

修改elasticsearch.yml 如上图所示。具体参数根据自己实际情况设置。

6、5分钟左右查看是否启动成功 ps –ef  | grep elas

7、访问  curl 192.168.253.132:9200

表示elasticsearch安装成功

三、配置和启动Logstash

1、与elasticsearch类似,目录为/elk/logstash

在此目录下创建 default.conf, 内容如下:

2、后台启动logstash服务:

nohup bin/logstash -f default.conf –config.reload.automatic &

3、查看启动日志:

查看进程 

ps –ef | grep logstash

logstash启动成功

四、配置启动kibana

1、进入到kibana目录

修改kibana.conf配置如下图所示

cd /elk/kibana/bin

nohup ./kibana &

查看是否启动成功

部署nginx-server(IP:192.168.253.129)

关闭nginx-server防火墙

 
systemctl stop firewalld.service && systemctl disable firewalld.service

安装nginx并启动服务(略)

安装filebeat

mkdir /elk

下载filebeat

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.3-linux-x86_64.tar.gz
tar xf filebeat-6.4.3-linux-x86_64.tar.gz

mvfilebeat-6.4.3 /elk/filebeat

vim  filebeat.yml

把filebeat.yml相关参数设置成图所示

启动FileBeat:./filebeat -e -c filebeat.yml -d “publish”

创建Index Patterns

    通过浏览器多访问几次nginx服务,这样能多制造一些访问日志,访问地址:http://192.168.253.129

访问Kibana:http://192.168.253.132:5601,点击左上角的Discover,如下图红框,可以看到访问日志已经被ELK搜集了:


发表评论

电子邮件地址不会被公开。 必填项已用*标注

1 × 3 =