ELK日志分析平台

一、ELK介绍

ELK是三个开源软件的缩写,分别为:Elasticsearch 、 Logstash以及Kibana,都是开源软件,新增一个beats,(轻量级日志处理工具Agent)

Elasticsearch是开源分布式搜索引擎,提供搜索、分析、存储数据三大功能,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

Beats在这里是一个轻量级日志采集器,其实Beats家族有6个成员,早期的ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,Beats所占系统的CPU和内存几乎可以忽略不计。

二、elasticsearch搭建

环境介绍:

centos 6.8

JDK 1.8

1.下载ELK的三大组件

Elasticsearc下载地址: https://www.elastic.co/downloads/elasticsearch

Logstash下载地址: https://www.elastic.co/downloads/logstash

Kibana下载地址: https://www.elastic.co/downloads/kibana

2.创建运行elk用户

groupadd elk

useradd -g elk elk

创建运行目录:

mkdir elk

chown -R elk:elk /elk

◆关闭防火墙

3.修改配置参数

配置limit相关参数:

vim /etc/security/limits.conf

添加以下内容

* soft nproc 65536

* hard nproc 65536

* soft nofile 65536

* hard nofile 65536

以上均是由root用户完成

4.安装ELK

由elk用户来操作

tar -xvf elasticsearch-6.5.2.tar.gz

vi config/elasticsearch.yml

修改以下内容

cluster.name: my-application

node.name: node-1

bootstrap.system_call_filter: false(手动添加)

network.host: 192.168.19.95

http.port: 9200

保存退出

5.启动elasticsearch

启动Elasticsearch

./bin/elasticsearch

nohup ./elasticsearch &  ##后台启动

查看是否启动:

netstat -an |grep 9200

6.启动验证

在浏览器中输入http://192.168.19.95:9200/

{

"name" : "node-1",

"cluster_name" : "my-application",

"cluster_uuid" : "O-cNGXEsScSns8Catgq4wg",

"version" : {

"number" : "6.5.2",

"build_flavor" : "default",

"build_type" : "tar",

"build_hash" : "9434bed",

"build_date" : "2018-11-29T23:58:20.891072Z",

"build_snapshot" : false,

"lucene_version" : "7.5.0",

"minimum_wire_compatibility_version" : "5.6.0",

"minimum_index_compatibility_version" : "5.0.0"

},

"tagline" : "You Know, for Search"

}

7.启动报错处理

◆max number of threads [1024] for user [lish] likely too low, increase to at least [2048]

解决:切换到root用户,进入limits.d目录下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf

修改如下内容:

* soft nproc 1024

#修改为

* soft nproc 2048

◆max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

解决:切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl -p

◆max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

解决:修改切换到root用户修改配置limits.conf 添加下面两行

命令:vi /etc/security/limits.conf

*        hard    nofile           65536

*        soft    nofile           65536

三、logstash搭建

1、解压文件

tar -xvf logstash-6.5.2.tar.gz

2、新建索引配置文件

cd /elk/logstash-6.5.2/bin

mkdir conf

vi conf/logstash-indexer.conf

内容如下:

input {

file {

path=>["/elk/logstash-6.5.2/logs/a.log","/elk/logstash-6.5.2/logs/b.log"]

}

}

output {

elasticsearch { hosts => ["192.168.19.95:9200"] }

stdout { codec => rubydebug }

}

◆◆◆◆◆

input{file{...}}部分指定的是日志文件的位置(可以多个文件)

output部分则是表示将日志文件的内容保存到elasticsearch,这里hosts对应的是一个数组,可以设置多个elasticsearch主机,相当于一份日志文件的内容,可以保存到多个elasticsearch中

3、启动

在logstash /bin 目录下

./logstash -f conf/logstash-indexer.conf

等待片刻,打开另一个窗口,向/elk/logstash-6.5.2/logs/a.log 中写入  hello world 保存退出,然后观察logstash的运行窗口,是否有东西输出

{

"message" => "hello world",

"@version" => "1",

"@timestamp" => "2016-01-08T14:35:16.834Z",

"host" => "yangjunmingdeMacBook-Pro.local",

"path" => "/var/opt/log/a.log"

}

此时浏览http://localhost:9200/_search?pretty 也应该能看到一堆输出,表明elasticsearch接收到logstash的数据了

四、kibana的配置启动

1、修改配置文件

vi /elk/kibana-6.5.2-linux-x86_64/config/kibana.yml

修改第12行:

elasticsearch.url: "http://192.168.19.95:9200"

##指定访问位置

2、启动服务

/elk/kibana-6.5.2-linux-x86_64/bin

./kibana

启动完成后,在浏览器里输入http://localhost:5601/ 即可看到kibana界面,首次运行,会提示创建index,直接点击Create按钮即可。

ELK简单安装的更多相关文章

  1. ELK简单安装测试

    1 介绍组件 Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读). Kafka是一种高吞 ...

  2. tftp服务器简单安装配置

    tftp服务器最简单安装配置 1.安装tftp-server sudo apt-get install tftpd-hpa sudo apt-get install tftp-hpa(如果不需要客户端 ...

  3. 【elasticsearch】(2)centos7 超简单安装elasticsearch 的监控、测试的集群工具elasticsearch head

    elasticsearch-head是elasticsearch(下面称ES)比较普遍使用的可监控.测试等功能的集群管理工具,是由H5编写的单独的网页程序.使用方法网上很多,这里教大家一个超简单安装h ...

  4. Redis简介与简单安装

    Redis简介与简单安装   一.NoSQL的风生水起 1.1 后Web2.0时代的发展要求 随着互联网Web2.0网站的兴起,传统的关系数据库在应付Web2.0网站,特别是超大规模和高并发的SNS类 ...

  5. Ubuntu Docker 简单安装 GitLab

    相关博文: Ubuntu 简单安装 Docker Ubuntu 简单安装和配置 GitLab 服务器版本 Ubuntu 16.04 LTS. 1. 安装和配置 安装命令: sudo docker ru ...

  6. ELK 6安装配置 nginx日志收集 kabana汉化

    #ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...

  7. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

  8. elk的安装部署

    Elk日志安装文档 需要用到有三个软件包 和redis 分布式部署:已上图就是分布式部署的架构图 Logstash :    是部署在前台的应用上,收集数据的 和部署在redis和elasticsea ...

  9. Resharper简单安装及代码覆盖率的测试

    Resharper简单安装及代码覆盖率的测试 测试环境:VS 2015 专业版 一.下载Resharper 官方链接:https://www.jetbrains.com/resharper/ 点击下载 ...

随机推荐

  1. PBRT笔记(3)——KD树

    茎节点与叶子节点 茎节点与叶子节点皆适用KdAccelNode来表示 注意:这里使用了匿名union union有个特性:内部类型共用一段内存,且大小为内部最大类型的大小. struct KdAcce ...

  2. Codeforces.1043F.Make It One(DP 容斥)

    题目链接 \(Description\) 给定\(n\)个数\(A_i\),求最少选出多少个数,使得它们的\(\gcd\)为\(1\). \(n,A_i\leq3\times10^5\). \(Sol ...

  3. js小笔记

    1.let ,const,var 区别 let:块级作用域,if,for,用完就不存在了. const:用来定义常量. var: 声明的变量在它所声明的整个函数都是可见的. 2.==和===的区别 1 ...

  4. 2017-2018 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2017)

    A. Cakey McCakeFace 按题意模拟即可. #include<stdio.h> #include<iostream> #include<string.h&g ...

  5. container

    容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项.运行应用程序所必需的组件都将打包成一个镜像并可以复用.执行镜像时,它运行在一个隔离环境中,并且不会共享宿主机的内存. ...

  6. __x__(39)0909第五天__ 表格 table

    表格 表示一种格式化的数据,如课程表,银行对账单... ... 在网页中,使用 table 创建一个表格. html代码: <!doctype html> <html> < ...

  7. myeclipse使用git图文教程

    Git介绍与使用 1.什么是Git Git是分布式版本控制系统 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 2.集中式版本控制系统(CVS / SVN等) 集中 ...

  8. 【Java】递归递推的应用

    利用阶乘公式来计算组合式: 程序设计思想: 根据公式来计算组合数的大小,从键盘输入n,k的值,设计一个计算阶乘的大小,如果输入的数a为1或0,则直接return 1,否则运用递归,计算a-1的阶乘,直 ...

  9. js表单提交到后台对象接收

    $.extend({ StandardPost:function(url,args){ var form = $("<form method='post' target='_blank ...

  10. [转]BT原理分析

    BitTorrent协议. BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低 ...