elk日志平台搭建小记
最近抽出点时间,搭建了新版本的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日志平台搭建小记的更多相关文章
- 基于Docker的ELK日志平台搭建
1.安装Docker Docker可简单理解为一个轻量级的虚拟机.Docker对进程进行封装隔离,隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器.Docker和传统虚拟化方式的不同.传统虚拟 ...
- ELK日志平台搭建
功能: 1. 查看当天的服务器日志信息(要求:在出现警告甚至警告级别以上的都要查询)2. 能够查看服务器的所有用户的操作日志3. 能够查询nginx服务器采集的日志(kibana作图)4. 查看tom ...
- Springboot项目使用aop切面保存详细日志到ELK日志平台
上一篇讲过了将Springboot项目中logback日志插入到ELK日志平台,它只是个示例.这一篇来看一下实际使用中,我们应该怎样通过aop切面,拦截所有请求日志插入到ELK日志系统.同时,由于往往 ...
- ELK 日志平台构建
elastic中文社区 https://elasticsearch.cn/ 完整参考 ELK实时日志分析平台环境部署--完整记录 https://www.cnblogs.com/kevingrace/ ...
- Springboot项目搭配ELK日志平台
上一篇讲过了elasticsearch和kibana的可视化组合查询,这一篇就来看看大名鼎鼎的ELK日志平台是如何搞定的. elasticsearch负责数据的存储和检索,kibana提供图形界面便于 ...
- 亿级 ELK 日志平台构建部署实践
本篇主要讲工作中的真实经历,我们怎么打造亿级日志平台,同时手把手教大家建立起这样一套亿级 ELK 系统.日志平台具体发展历程可以参考上篇 「从 ELK 到 EFK 演进」 废话不多说,老司机们座好了, ...
- 搭建ELK日志平台(单机)
系统版本:Ubuntu 16.04.7 LTS 软件架构:Filebeat+Kafka+Logstash+Elasticsearch+Kibana+Nginx 软件版本:Filebeat-7.16.0 ...
- ELK日志平台
1.ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch.Logstash和Kibana三个开源工具组成,不过现在还新增了一个Beats,它是一个轻量级的日志收集处理工具(Age ...
- SpringBoot+ELK日志系统搭建
一.ELK是什么 "ELK"是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kibana.Elasticsearch 是一个搜索和分 ...
随机推荐
- Spring AOP详解和实现方式
一.什么是AOP AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善. ...
- python学习笔记-学习大纲
- 由web项目中上传图片所引出的路径问题
我在做javaweb项目的时候,有个项目中需要进行图片的上传,有次我重新部署项目后,发现之前上传的图片不见了,最后找出原因:图片上传在服务器目录上,而不是绝对路径,所以特别想弄清楚javaweb项目中 ...
- 动手动脑-java重载
有以下例子: 例: Using overloaded methods public class MethodOverload { public static void main(String[] ar ...
- Redis 简介(官方翻译)
Redis是一个开源(基于BSD开源协议).内存型结构数据存储,可当做数据库.缓存.消息代理.它支持的数据结构有字符串.哈希表.列表.集合.可随机查询的有序集合.位图.基数统计.用于半径查询的地理位置 ...
- android 相对布局例子代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 20165205 2017-2018-2 《Java程序设计》 第二周学习总结
20165205 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 学习第二章知识(标识符,关键字,数据类型,输入.输出数据和数组) 学习第三章知识(运算符,基 ...
- git push异常
git push异常:! [remote rejected] HEAD -> refs/for/master ([3149246] missing Change-Id in commit mes ...
- tkinter简单打开网址 + 执行系统命令
from tkinter import * import webbrowser root = Tk() text = Text(root,width=30,height = 5) text.pack( ...
- mysql 替代Oracle instr
在迁移项目时遇到的,原项目的数据库使用的Oracle,现在要迁移到MySQL中,而项目中用到了Oracle的instr函数,而MySQL只能查找子串是否在父串中,没法按照出现的次数进行查找. 先来介绍 ...