最近抽出点时间,搭建了新版本的elk日志平台

elastaicsearch 和logstash,kibana和filebeat都是5.6版本的

中间使用redis做缓存,版本为3.2

使用的系统为centos 7.4

JAVA环境首先要安装和设定好

全部在官网下载RPM安装包,直接安装就可以使用

下面说下配置,和重要的地方

1,elasticsearch

配置方面,并不麻烦,单机的话用以下配置就可以跑起来

配置文件是/etc/elasticsearch/elasticsearch.yml

配置如下,注释的就不再写了

cluster.name: elasticsearch
node.name: node-
path.data: /data/elasticsearch/data/
path.logs: /data/elasticsearch/logs/
bootstrap.memory_lock: false

network.host: 0.0.0.0
http.port:
discovery.zen.ping.unicast.hosts: ["172.17.3.14"]
discovery.zen.minimum_master_nodes:
action.destructive_requires_name: true

红色部分设置为false吧,否则无法启动。

2, logstash

安装完后默认配置文件路径在/etc/logstash/下,一般自定义配置文件放在conf.d下,默认的配置文件不要动

我安装logstash后出现一点问题,就是启动时候提示找不到JAVA的执行命令,我已经做了全局声明,但是还是不行,现在说下解决方法

先卸载掉logstash,然后把java的执行命令软链接到/usr/bin下面

然后再重新安装,然后生成启动脚本,在centos7下面是这样生成的

/usr/share/logstash/bin/system-install /etc/logstash/startup.options systemd

在centos6下面是这样生成的

/usr/share/logstash/bin/system-install /etc/logstash/startup.options sysv

然后我们就可以启动logstash了

我们可以把系统的messages日志输出到elasticsearch里面。配置如下

input {
file {
type => "flow"
path => "/var/log/messages"
}
} output {
stdout {
codec
=> rubydebug
}
if [type] == "flow" {
elasticsearch {
index => "flows-%{+YYYY.MM.dd}"
hosts => "172.17.3.14:9200"
}
}
}

需要注意的是,input和output的type的值要一致

红色部分是定向到标准输出,为了调试方便,正式用的话可以不用。

通过redis,获取数据,并把数据输出到elasticsearch里

input {
redis {
host => "172.17.3.14"
port => ""
type => "nginx_access"

db => ""
data_type => "list"
key => "ucenterfront"

}
} output {
stdout {
codec => rubydebug
}
if [type] == "nginx_access" {
elasticsearch {
hosts => "172.17.3.14:9200"
index => "ucenter-front-%{+YYYY.MM.dd}"
}
}
}

需要注意的是:input里面的key的值要和filebeat里定义的key值一致

type上下自然也要一致,out定义的index的值的红色部分可以和上面的key的值一致,也可以不一致,这个没有多大影响,在kibana建立索引时候,填index的值就可以。

另外特别需要注意的,input里面的type的值一定要与filebeat里的document_type的值一致,我就刚开始不一致,logstash里就没有数据。

其他的就没有特别需要注意的了,默认就行。

3,filebeat的安装

安装后配置文件在/etc/filebeat下面

filebeat.prospectors:
- input_type: log
paths:
- /data/logs/nginx/*.log
document_type: nginx_access
scan_frequency: 1s

#----------------------------- Redis output --------------------------------
output.redis:
hosts: ["172.17.3.14:6379"]
key: "ucenterfront"
db: 0
db_topology: 1
timeout: 5
reconnect_interval: 1

上面的document_type要和logstash里的type一致

修改发送时间间隔为1秒

4,安装kibana

直接安装,配置文件在/etc/kibana/kibana.yml

server.host: "172.17.3.14"
elasticsearch.url: "http://localhost:9200"

配置很简单,监听那个地址就在server后面写那个地址

下面的那个是elasticsearch的地址

至此,搭建完毕。

elk日志平台搭建小记的更多相关文章

  1. 基于Docker的ELK日志平台搭建

    1.安装Docker Docker可简单理解为一个轻量级的虚拟机.Docker对进程进行封装隔离,隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器.Docker和传统虚拟化方式的不同.传统虚拟 ...

  2. ELK日志平台搭建

    功能: 1. 查看当天的服务器日志信息(要求:在出现警告甚至警告级别以上的都要查询)2. 能够查看服务器的所有用户的操作日志3. 能够查询nginx服务器采集的日志(kibana作图)4. 查看tom ...

  3. Springboot项目使用aop切面保存详细日志到ELK日志平台

    上一篇讲过了将Springboot项目中logback日志插入到ELK日志平台,它只是个示例.这一篇来看一下实际使用中,我们应该怎样通过aop切面,拦截所有请求日志插入到ELK日志系统.同时,由于往往 ...

  4. ELK 日志平台构建

    elastic中文社区 https://elasticsearch.cn/ 完整参考 ELK实时日志分析平台环境部署--完整记录 https://www.cnblogs.com/kevingrace/ ...

  5. Springboot项目搭配ELK日志平台

    上一篇讲过了elasticsearch和kibana的可视化组合查询,这一篇就来看看大名鼎鼎的ELK日志平台是如何搞定的. elasticsearch负责数据的存储和检索,kibana提供图形界面便于 ...

  6. 亿级 ELK 日志平台构建部署实践

    本篇主要讲工作中的真实经历,我们怎么打造亿级日志平台,同时手把手教大家建立起这样一套亿级 ELK 系统.日志平台具体发展历程可以参考上篇 「从 ELK 到 EFK 演进」 废话不多说,老司机们座好了, ...

  7. 搭建ELK日志平台(单机)

    系统版本:Ubuntu 16.04.7 LTS 软件架构:Filebeat+Kafka+Logstash+Elasticsearch+Kibana+Nginx 软件版本:Filebeat-7.16.0 ...

  8. ELK日志平台

    1.ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kibana三个开源工具组成,不过现在还新增了一个Beats,它是一个轻量级的日志收集处理工具(Age ...

  9. SpringBoot+ELK日志系统搭建

    一.ELK是什么 "ELK"是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kibana.Elasticsearch 是一个搜索和分 ...

随机推荐

  1. Spring AOP详解和实现方式

    一.什么是AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善. ...

  2. python学习笔记-学习大纲

  3. 由web项目中上传图片所引出的路径问题

    我在做javaweb项目的时候,有个项目中需要进行图片的上传,有次我重新部署项目后,发现之前上传的图片不见了,最后找出原因:图片上传在服务器目录上,而不是绝对路径,所以特别想弄清楚javaweb项目中 ...

  4. 动手动脑-java重载

    有以下例子: 例: Using overloaded methods public class MethodOverload { public static void main(String[] ar ...

  5. Redis 简介(官方翻译)

    Redis是一个开源(基于BSD开源协议).内存型结构数据存储,可当做数据库.缓存.消息代理.它支持的数据结构有字符串.哈希表.列表.集合.可随机查询的有序集合.位图.基数统计.用于半径查询的地理位置 ...

  6. android 相对布局例子代码

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  7. 20165205 2017-2018-2 《Java程序设计》 第二周学习总结

    20165205 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 学习第二章知识(标识符,关键字,数据类型,输入.输出数据和数组) 学习第三章知识(运算符,基 ...

  8. git push异常

    git push异常:! [remote rejected] HEAD -> refs/for/master ([3149246] missing Change-Id in commit mes ...

  9. tkinter简单打开网址 + 执行系统命令

    from tkinter import * import webbrowser root = Tk() text = Text(root,width=30,height = 5) text.pack( ...

  10. mysql 替代Oracle instr

    在迁移项目时遇到的,原项目的数据库使用的Oracle,现在要迁移到MySQL中,而项目中用到了Oracle的instr函数,而MySQL只能查找子串是否在父串中,没法按照出现的次数进行查找. 先来介绍 ...