ELK日志收集系统的部署

ELK日志收集

  ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。
  Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。
  Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。
  Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。

1、准备环境

1.1、配置java环境

  去官网 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载jdk1.8以上的包,然后配置java环境,确保环境正常使用,这里安装过程就略过,如有不懂请自行百度。

[root@vm96-yw-65-test-3060 application]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

1.2、下载ELK的软件包

  去官网 https://www.elastic.co/cn/products 下载Elasticsearch、Logstash和Kibana,因为是测试环境,所以我就下载了最新版本v6.4.0,下载完解压即可。

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.tar.gz

2、配置

2.1、修改系统配置

  elasticsearch对系统最大连接数有要求,所以需要修改系统连接数。

echo '
* hard nofile 65536
* soft nofile 65536
* soft nproc  65536
* hard nproc  65536
' >>/etc/security/limits.conf
echo 'vm.max_map_count = 262144' >> /etc/sysctl.conf
vim /etc/security/limits.d/90-nproc.conf
# 第一行最后一个数,修改为4096,如果是则不用修改
# limits.d下面的文件可能不是90-nproc.conf,可能是其他数字开头的文件。
*          soft    nproc     4096
root       soft    nproc     unlimited

2.2、elasticSearch配置

  这个其实也是ELK中的核心,启动的时候一定要注意,从5.0开始,ElasticSearch 安全级别提高了,不允许采用root帐号启动,所以我们要添加一个用户,所以你还需要创建一个elsearch账户。

groupadd es                   #新建es组
useradd es -g es -p elasticsearch  #新建一个es用户
chown -R es:es  /usr/elasticsearch-6.4.0/    #指定elasticsearch-6.4.0目录下的文件所属elsearch组

修改配置文件

vim /application/elasticsearch-6.4.0/config/elasticsearch.yml
······
path.data: /application/elasticsearch-6.4.0/data
path.logs: /application/elasticsearch-6.4.0/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
network.host: 0.0.0.0
······

启动

su es          ## 切换到普通用户
cd /application/elasticsearch-6.4.0/
./bin/elasticsearch -d        ## -d 后台运行

2.3、logstash配置

  解压后进入到config目录中新建一个logstash.conf配置,添加如下内容。

[root@vm96-yw-65-test-3060 config]# pwd
/application/logstash-6.4.0/config
[root@vm96-yw-65-test-3060 config]# vim logstash.conf
input {
     file {
        type => "log"
        path => "/logs/*.log"   ##创建一个/logs目录用于之后的测试
        start_position => "beginning"
    }
}

output {
  stdout {
   codec => rubydebug { }
  }

  elasticsearch {    ##输出到es
    hosts => "localhost:9200"
    index => "log-%{+YYYY.MM.dd}"
  }
}

  logstash做的事情分三个阶段依次执行:输入input——》处理filter(不是必须)——》输出output,这也就是我们需要配置的三部分,因为是测试,所以不添加filter的过滤和筛选,只配置输入输出。一个文件可以有多个input。其中的filter用处很大,但是也是比较麻烦的一个点,需要多多实验,nginx、Apache等服务的日志分析需要使用这个模块去过滤分析。

[root@vm96-yw-65-test-3060 config]# nohup ../bin/logstash -f logstash.conf &
# 使用nohup,启动后台运行,如需关闭使用kill -9,建议多开窗口,启动ELK三个服务,可以观看控制窗口的报错信息

2.4、kibana配置

  它的配置也非常简单,你需要在kibana.yml文件中指定一下你需要读取的elasticSearch地址和可供外网访问的bind地址就可以了。

[root@vm96-yw-65-test-3060 config]# vim /application/kinbana-6.4.0/config/kibana.yml
······
elasticsearch.url: "http://localhost:9200"
server.host: 0.0.0.0
······

启动

[root@vm96-yw-65-test-3060 config]# nohup ../bin/kibana & 
# 使用nohup,启动后台运行,如需关闭使用kill -9

2.5、测试

  写入一个测试所用日志

vim /logs/test.log

Hello,World!!!

  启动logstash

[root@vm96-yw-65-test-3060 config]# nohup ../bin/logstash -f logstash.conf &

  浏览器中输入:http://IP:5601/,你就可以打开kibana页面了。
  点击Management => Index Patterns 创建索引,如果ES接受到了logstash传过来的日志数据,页面会显示能创建的索引,不然会显示不能创建索引。请自行查看日志文件分析错误。
  创建索引后,点击左侧Discover,可以看到你刚才创建的日志的分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值