博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
elk日志平台搭建小记
阅读量:4449 次
发布时间:2019-06-07

本文共 2607 字,大约阅读时间需要 8 分钟。

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

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

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

使用的系统为centos 7.4

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

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

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

1,elasticsearch

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

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

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

cluster.name: elasticsearchnode.name: node-1path.data: /data/elasticsearch/data/path.logs: /data/elasticsearch/logs/bootstrap.memory_lock: falsenetwork.host: 0.0.0.0http.port: 9200discovery.zen.ping.unicast.hosts: ["172.17.3.14"]discovery.zen.minimum_master_nodes: 1action.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 => "6379"    type => "nginx_access"    db => "0"    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的地址

至此,搭建完毕。

 

转载于:https://www.cnblogs.com/hh2737/p/8967050.html

你可能感兴趣的文章
【数论】-素数问题整理
查看>>
提高你的Java代码质量吧:正确使用String、StringBuffer、StringBuilder
查看>>
[happyctf]部分writeup
查看>>
HDU 1195 Open the Lock(BFS)
查看>>
Struts2的crud
查看>>
java上传文件
查看>>
大学生对技术网站需求的调查问卷结果分析
查看>>
测试一
查看>>
vertx的HttpServer模块
查看>>
as3事件流机制彻底理解
查看>>
Selenium webdriver操作日历控件
查看>>
Pascal程序练习-与7无关的数
查看>>
Linux:cut命令...未完待续
查看>>
微信小程序从零开始开发步骤(一)搭建开发环境
查看>>
SQL*Net more data to client
查看>>
Tcpdump使用方法总结
查看>>
PX4地面站QGroundControl在ubuntu下的安装
查看>>
react实现svg实线、虚线、方形进度条
查看>>
正则表达式高级用法【原】
查看>>
深入理解JavaScript系列(33):设计模式之策略模式
查看>>