CentOS7使用Elasticsearch+ Logstash+kibana快速搭建日志分析平台

CentOS7使用Elasticsearch+ Logstash+kibana快速搭建日志分析平台

介绍:

安装logstash,elasticsearch,kibana三件套,搜索程序一般由索引链及搜索组件组成。

索引链功能的实现需要按照几个独立的步骤依次完成:检索原始内容、根据原始内容来创建对应的文档、对创建的文档进行索引。

搜索组件用于接收用户的查询请求并返回相应结果,一般由用户接口、构建可编程查询语句的方法、查询语句执行引擎及结果展示组件组成。

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制, restful 风格接口,多数据源,自动搜索负载等。

Logstash 是一个完全开源的工具,他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索)。

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

一、安装elastic:

1、安装java:

[[email protected] elasticsearch-5.6.3]# yum install -y *jdk*

2、配置访问最大文件数:

[[email protected] src]# cat/etc/security/limits.conf

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

2、在解压目录下创建,log,data文件目录:

[[email protected]]# mkdir data

[[email protected]]# mkdir log

[[email protected]]# mkdir logs      ##有时候没有这个目录就自己手动创建

3、修改elastic.yaml:监听主机

[[email protected] elasticsearch-5.6.3]# vimconfig/elasticsearch.yml

node.name: cml3

network.host: 192.168.5.104

discovery.zen.minimum_master_nodes: 1    ##因为我这里演示的是在一台机器上安装(所以节点改为1)

4、创建elastic用户用来开启elasticsearch

[[email protected] elasticsearch-5.6.3]# useraddelastic

[[email protected] elasticsearch-5.6.3]# ls

bin config  data  lib LICENSE.txt  log  logs modules  NOTICE.txt  plugins README.textile

##有时候会小了目录自己手动创建上就可以了:

[[email protected] logs]# ll

total 4

-rw-rw-r-- 1 elastic elastic    0 Nov 3 19:52 elasticsearch_deprecation.log

-rw-rw-r-- 1 elastic elastic    0 Nov 3 19:52 elasticsearch_index_indexing_slowlog.log

-rw-rw-r-- 1 elastic elastic    0 Nov 3 19:52 elasticsearch_index_search_slowlog.log

##因为5.0的版本为了安全不能使用root用户启动所以给elasticsearch-5.6.3目录下elastic(可以自定义用户)的用户权限

##开启haed:插件:

http.cors.enabled:true

http.cors.allow-origin:"*"

##开启的时候会有以下错误:

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should conf...CThreads=N

OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error=‘Cannot a ...‘(errno=12)

##解决方法:

意思是内存不够,加大内存重启就可以了!

##有时候还会出现以下错误:

[[email protected] bin]$ ./elasticsearch

Exception in thread "main"2017-11-03 20:38:47,194 main ERROR No log4j2 configuration file found. Usingdefault configuration: logging only errors to the console. Set system property‘log4j2.debug‘ to show Log4j2 internal initialization logging.

2017-11-03 20:38:47,646 main ERROR Couldnot register mbeans java.security.AccessControlException: access denied("javax.management.MBeanTrustPermission" "register")

##解决方法:直接安装几个log4j包就ok啦

[[email protected] elasticsearch-5.6.3]# yuminstall -y log4j*

5、启动elastic:直接用curl访问9200端口成功即可

[[email protected] elasticsearch-5.6.3]# netstat-ntlp

Active Internet connections (only servers)

tcp6      0      0 192.168.5.104:9200      :::*                    LISTEN      3749/java

tcp6      0      0 192.168.5.104:9300      :::*                    LISTEN      3749/java

二、安装head插件:

1、介绍:

在以往的es版本有一个非常好用的插件叫head,可以方便的查看索引,集群等相关状态:

5.0之后head安装支持目前只是支持插件的方式:

2、创建存放这个插件的目录:

#mkdir head   ##随意目录下创建就行

#cd head

#git clonegit://github.com/mobz/elasticsearch-head.git

#cd elasticsearch-head

yum install -y npm*       ##缺少npm就直接安装就ok了

#npm install     ##这个步骤下载包都是国外地址所以安装起来比较慢

#npm install -g grunt-cli

#grunt server

3、监听端口为localhost,可以修改配置文件:

[[email protected] head]# cdelasticsearch-head/

[[email protected] elasticsearch-head]#vim Gruntfile.js

做如下修改:

server: {

options: {

port: 9100,

hostname: ‘0.0.0.0‘,     #####添加这句。

base: ‘.‘,

keepalive: true

}

}

}

修改es配置文件添加如下:

[[email protected]]# vim elasticsearch.yml

http.cors.enabled:true

http.cors.allow-origin:"*"

#####然后重启es服务

4、启动head插件,然后访问web的ip与端口即可:

#gruntserver

##就可以看到我们相关索引的状态,分片集群等相关操作都可以在上面完成:

三、安装配置logstash文件然后启动:

1、下载解压logstash:

下载地址: https://artifacts.elastic.co/downloads/logstash/logstash-5.6.3.tar.gz

[[email protected] src]# tar -xflogstash-5.6.3.tar.gz

2、创建conf的目录

[[email protected] ~]# mkdir /logstash/

[[email protected] logstash]# viminput_flter_output.conf

input {

file{

path=> "/usr/local/nginx/logs/cml.log"    ##nginx生成日志的目录

type=> "cml"          ##索引的类型

start_position=> "beginning"     ##一开始就输入原来的日志信息

}

stdin{}

}

filter{

grok {

match => {

"message" =>"(?<remote_IP>\d+.\d+.\d+.\d+)\s-\s-\s\[(?<DATA>\d+/\w+/\d+:\d+:\d+:\d+)[[:space:]](?<time_zone>\+\d+)\]\s\"(?<action>\w+)%{URIPATHPARAM:request} (?<Version>\w+/\d+.\d+)\"\s(?<status>\w+)\s(?<web_size>\w+)\s\"(?<check>\S+)\"\s"

##自定义grok

}

}

}

output{

elasticsearch{

action=> "index"

hosts=> "192.168.5.104:9200"      ##输出到elasticsearch上面

index=> "log-%{+yyyy.MM.dd}"     ##生成一个log-时间的索引

}

stdout {codec=>rubydebug}    ##在终端上输出方便检测

}

3、启动logstash

[[email protected] logstash]# /usr/local/src/logstash-5.6.3/bin/logstash-f input_flter_output.conf

四、安装kibana,然后修改监听ip直接启动即可

1、下载安装kibana:

[[email protected] logstash]# cd /usr/local/src/

[[email protected] src]# wget https://artifacts.elastic.co/downloads/kibana/kibana-5.6.3-x86_64.rpm

[[email protected] src]# rpm -ivhkibana-5.6.3-x86_64.rpm

 

2、修改kibana配置文件:

[[email protected] config]# vim kibana.yml

server.host: "192.168.63.246"

elasticsearch.url: http://192.168.63.246:9200

elasticsearch.username: "elastic"

elasticsearch.password: "changeme    ##x-pack默认超级用户的登录密码(es和kibana两个的超级管理员账号密码都一样,这里我就为了方便不使用密码用户登录了。)

3、启动kibana

[[email protected] src]# systemctl start kibana

浏览器输入http://IP:5601配置input_flter_output.conf文件定义的索引。(图形化配置kibana)

##点击Discover选择log*索引就可以看到日志的数据出来了。

##点击仪表板然后创建一个仪表盘:

##接下来就是创建一个图表

##这里就可以定义自己想要的图表了:

##我比较喜欢看柱形图,选择自己的索引:

##最终可以出来的结果(我添加了request项是访问的url)也可以是客户端的IP

时间: 2024-10-09 17:16:36

CentOS7使用Elasticsearch+ Logstash+kibana快速搭建日志分析平台的相关文章

使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务

1.使用ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务 http://www.tuicool.com/articles/BFzye2 2.ElasticSearch+LogStash+Kibana+Redis日志服务的高可用方案 http://www.tuicool.com/articles/EVzEZzn 3.示例 开源实时日志分析ELK平台部署 http://baidu.blog.51cto.com/71938/1676798?utm_source=t

ElasticSearch+LogStash+Kibana+Redis搭建日志管理服务(ElasticSearch篇)

ElkStack介绍 对于日志来说,最常见的需求就是收集.存储.查询.展示,开源社区正好有相对应的开源项目:logstash(收集).elasticsearch(存储+搜索).kibana(展示),我们将这三个组合起来的技术称之为ELKStack,所以说ELKStack指的是Elasticsearch.Logstash.Kibana技术栈的结合,一个通用的架构如下图所示: 说明: 多个独立的agent(Shipper)负责收集不同来源的数据,一个中心agent(Indexer)负责汇总和分析数据

使用logstash+elasticsearch+kibana快速搭建日志平台

日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接口的调用次数.执行时间.成功率等 异常数据自动触发消息通知 基于日志的数据挖掘 很多团队在日志方面可能遇到的一些问题有: 开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力 日志数据分散在多个系统,难以查找 日志数据量大,查询速度慢 一个调用会涉及多个系统,难以在这些系统的日志中快速定位数据 数据不够实时 常见的一些重量级的开源

linux下利用elk+redis 搭建日志分析平台教程

linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了,下面我们来看一篇在linux下利用elk+redis 搭建日志分析平台教程,希望例子对各位有帮助. 这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elasti

ELK+redis搭建日志分析平台

ELK+redis搭建日志分析平台 1.ELK简介 ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日志文件的,它的每个请求的状态等都有日志文件进行记录,所以可以通过读取日志文件来分析:redis的list结构正好可以作为队列使用,用来存储logstash传输的日志数据.然后elasticsearch就可以进行分析和查询了. 本文搭建的的是一个分布式的日志收

【转载】使用logstash+elasticsearch+kibana快速搭建日志平台

原文链接:http://www.cnblogs.com/buzzlight/p/logstash_elasticsearch_kibana_log.html 日志的分析和监控在系统开发中占非常重要的地位,系统越复杂,日志的分析和监控就越重要,常见的需求有: 根据关键字查询日志详情 监控系统的运行状况 统计分析,比如接口的调用次数.执行时间.成功率等 异常数据自动触发消息通知 基于日志的数据挖掘 很多团队在日志方面可能遇到的一些问题有: 开发人员不能登录线上服务器查看详细日志,经过运维周转费时费力

使用HttpReports快速搭建API分析平台

HttpReports 简单介绍 HttpReports 是 .Net Core下的一个Web组件,适用于 WebAPI 项目和 API 网关项目,通过中间件的形式集成到您的项目中, 通过HttpReports,可以让开发人员快速的搭建出一个 API 性能分析的基础报表网站. 主要包含 HttpReports 中间件 和 HttpReports.Web 报表项目: HttpReports: https://github.com/SpringLeee/HttpReports HttpReports

Centos7下ELK+Redis日志分析平台的集群环境部署记录

之前的文档介绍了ELK的架构基础知识,下面简单记录下ELK结合Redis搭建日志分析平台的集群环境部署过程,大致的架构如下: + Elasticsearch是一个分布式搜索分析引擎,稳定.可水平扩展.易于管理是它的主要设计初衷 + Logstash是一个灵活的数据收集.加工和传输的管道软件 + Kibana是一个数据可视化平台,可以通过将数据转化为酷炫而强大的图像而实现与数据的交互将三者的收集加工,存储分析和可视转化整合在一起就形成了ELK. 基本流程:1)Logstash-Shipper获取日

ELK日志系统:Elasticsearch+Logstash+Kibana搭建教程

ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程 安装配置JDK环境 JDK安装(不能安装JRE) JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 下载包:jdk-8u131-linux-x64.rpm yum localinstall jdk-8u131-linux-x64.rpm mvn 安装 cd /usr/lo