Centos7.5搭建ELK-6.5.0日志分析平台

1. 简介

工作工程中,不论是开发还是运维,都会遇到各种各样的日志,主要包括系统日志、应用程序日志和安全日志,对于开发人员来说,查看日志,可以实时查看程序的运行错误,以及性能分析,通常,一个大中型的应用程序会被部署到多台服务器,那日志文件也会分散到不同的机器上,这样查看日志难道要一台一台去查看?显然是太麻烦了,开源的日志分析系统 ELK 完美的解决了这个问题。

ELK 并不是一个独立的系统,她是由 ElasticSearch、Logstash、Kibana 三个开源的工具组成。

  • ElasticSearch

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

  • Logstash

    Logstash 是一个开源的日志分析、收集工具,并将日志存储以供以后使用。

  • Kibana

    Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。

2. 安装

  1. 下载elk的三个组建,es,logstash,kibana

    https://artifacts.elastic.co/downloads/logstash/logstash-6.5.0.tar.gz
    https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.0.tar.gz
    https://artifacts.elastic.co/downloads/kibana/kibana-6.5.0-linux-x86_64.tar.gz
  2. 设置参数

    • 设置内核参数

      vim /etc/sysctl.conf   # 添加下面一行
      vm.max_map_count = 262144
      systcl -p ## 加载配置
    • 修改系统最大文件打开数

      vim /etc/security/limits.conf   ##添加如下两行,保存后重新登陆用户及生效
      * soft nofile 65536
      * hard nofile 65536
    • 关闭防火墙

      service firewalld stop
  3. 解压并移动

    ## 新建目录
    mkdir /usr/local/elk
    ## 解压
    tar -vxzf elasticsearch-6.5.0.tar.gz
    tar -vxzf kibana-6.5.0-linux-x86_64.tar.gz
    tar -vxzf logstash-6.5.0.tar.gz
    ## 移动
    mv elasticsearch-6.5.0 /usr/local/elk/
    mv kibana-6.5.0-linux-x86_64 /usr/local/elk/
    mv logstash-6.5.0 /usr/local/elk/
  4. 安装elasticsearch数据存储器,用于数据存储

    vim /usr/local/elk/elasticsearch-6.5.0/config/elasticsearch.yml
    # ---------------------------------- Cluster -----------------------------------
    cluster.name: ES-cluster ##设置集群名称,集群内的节点都要设置相同,可自定义
    # ------------------------------------ Node ------------------------------------
    node.name: node-1 ## 节点名称,自定义,各个节点不可相同
    # ----------------------------------- Paths ------------------------------------
    path.data: /usr/local/elk/elasticsearch-6.5.0/data
    path.logs: /usr/local/elk/elasticsearch-6.5.0/logs
    # ---------------------------------- Network -----------------------------------
    network.host: 192.168.9.90 ## 本机IP
    http.port: 9200 ## 端口,默认9200
    # --------------------------------- Discovery ----------------------------------
    discovery.zen.ping.unicast.hosts: ["192.168.9.89","192.168.9.90"] ## 此集群内所有节点的IP地址,这里没有使用自动发现,而是指定地址发现,因为规模较小
    discovery.zen.minimum_master_nodes: 1
  5. 添加用户,不能使用root用户启动

    groupadd -g 1008 elasticsearch
    useradd -g 1008 -u 1008 elasticsearch
    chown -R elasticsearch:elasticsearch /usr/local/elk/elasticsearch-6.5.0/
  6. 启动elasticsearch

    su elasticsearch
    ./elasticsearch
    ## 验证是否启动成功
    ps -ef | grep elasticsearch
  7. 安装kibana

    vim /usr/local/elk/kibana-6.5.0-linux-x86_64/config/kibana.yml
    server.port: 5601 ## kibana默认端口
    server.host: "192.168.9.90" ## 服务的host,直接填本机IP即可。
    elasticsearch.url: "http://192.168.9.89:9200" ## elasticsearch的连接地址,集群时,连接其中一台节点即可。
  8. 启动kibana

    cd bin
    ./kibana
  9. 安装logstash

    vim /usr/local/elk/logstash-6.5.0/config/logstash.yml
    ##修改host为0.0.0.0,这样别的电脑就可以连接整个logstash,不然只能本机连接。
    http.host: "0.0.0.0"
  10. 配置logstash配置文件,保存在elk/conf/all.conf

    input {                                      ## input为输入口
    redis {
    data_type => "list" ## 队列输入,默认输入类型为list
    db => 10 ## 指定redis库
    key => "redis-pipeline" ## redis是key-value式的内存数据库,指定key即是指定队列的标识key的大概意思
    host => "192.168.9.79" ## 下面是连接信息,如果有密码则需要添加password这一项
    port => "6379"
    threads => 5 ## 线程数
    }
    } filter { ## 过滤器filter
    grok { ## grok插件,可以通过正则匹配,将日志的message进行格式化转换。
    match => ["message","%{YEAR:YEAR}-%{MONTHNUM:MONTH}-%{MONTHDAY:DAY} %{HOUR:HOUR}:%{MINUTE:MIN}:%{SECOND:SEC},(?<MSEC>([0-9]*)) %{LOGLEVEL:loglevel} \[(?<Classname>(.*))\] - (?<Content>(.*))"]
    }
    } output { ## 输出elasticsearch
    elasticsearch {
    hosts => ["192.168.9.89:9200","192.168.9.90:9200"] ## 输出的elasticsearch的数据节点IP
    index => "logstash-test" ## 索引值
    #user => "elastic" ## elasticsearch 的用户密码,需要安装x-pack才会有,这里先不用
    #password => "changeme"
    }
    }
  11. 启动logstash

    cd /usr/local/elk/logstash-6.5.0/bin
    ./logstash -f /usr/local/elk/conf/all.conf

到现在,elk的三个组建就全部启动了。

Centos7.5搭建ELK-6.5.0日志分析平台的更多相关文章

  1. centos7搭建ELK Cluster集群日志分析平台

    应用场景:ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平台 ...

  2. centos7搭建ELK Cluster集群日志分析平台(四):Fliebeat-简单测试

    续之前安装好的ELK集群 各主机:es-1 ~ es-3 :192.168.1.21/22/23 logstash: 192.168.1.24 kibana: 192.168.1.25 测试机:cli ...

  3. centos7搭建ELK Cluster集群日志分析平台(三):Kibana

    续  centos7搭建ELK Cluster集群日志分析平台(一) 续  centos7搭建ELK Cluster集群日志分析平台(二) 已经安装好elasticsearch 5.4集群和logst ...

  4. centos7搭建ELK Cluster集群日志分析平台(二):Logstash

    续  centos7搭建ELK Cluster集群日志分析平台(一) 已经安装完Elasticsearch 5.4 集群. 安装Logstash步骤 . 安装Java 8 官方说明:需要安装Java ...

  5. centos7搭建ELK Cluster集群日志分析平台(一):Elasticsearch

    应用场景: ELK实际上是三个工具的集合,ElasticSearch + Logstash + Kibana,这三个工具组合形成了一套实用.易用的监控架构, 很多公司利用它来搭建可视化的海量日志分析平 ...

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

    之前的文档介绍了ELK架构的基础知识,日志集中分析系统的实施方案:- ELK+Redis- ELK+Filebeat - ELK+Filebeat+Redis- ELK+Filebeat+Kafka+ ...

  7. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

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

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  9. ELK日志分析平台系统windows环境搭建和基本使用

    ELK(ElasticSearch, Logstash, Kibana),三者组合在一起就可以搭建实时的日志分析平台啦! Logstash主要用来收集.过滤日志信息并将其存储,所以主要用来提供信息. ...

随机推荐

  1. Tiny4412学习杂记

    1.Android 挂载NFS 使用 busybox mount 来替代mount命令 2.修改Uboot中fastboot最大buff  使用U-boot烧写Android5.0的时候出现 remo ...

  2. Python 图像识别入门篇

    一.安装Python依赖 pip install pytesseract pyocr pillow Image pip安装:https://www.cnblogs.com/Javame/p/10918 ...

  3. shutdown-用于关闭/重启计算机

    Linux系统下的shutdown命令用于安全的关闭/重启计算机,它不仅可以方便的实现定时关机,还可以由用户决定关机时的相关参数.在执行shutdown命令时,系统会给每个终端(用户)发送一条屏显,提 ...

  4. 关于UI性能优化

    1.使用已经有的VIEW,而不是每次都去新生成一个 2.创建自定义类来进行组件和数据的缓存,在下一次调用的时候直接从FLAG中取出 3.分页,预加载 使用VIEWSTUB进行调用时加载 VIEWSTU ...

  5. Shrio00 Shiro角色授权、Shiro权限授权、开启Shiro缓存

    1 需求01 用户进行过认证登录后,某些接口是有权限限制的:如何实现只有相应权限的用户才可以调用相应接口 2 修改shiro配置类  ShiroConfiguration package cn.xia ...

  6. 1. sqlmap超详细笔记+思维导图

    sqlmap思维导图: 基本操作笔记: -u #注入点 -f #指纹判别数据库类型 -b #获取数据库版本信息 -p #指定可测试的参数(?page=1&id=2 -p "page, ...

  7. HDU 5245 Joyful (期望)

    题意:进行K次染色,每次染色会随机选取一个以(x1,y1),(x2,y2)为一组对角的子矩阵进行染色,求K次染色后染色面积的期望值(四舍五入). 析:我们可以先求出每个格子的期望,然后再加起来即可.我 ...

  8. Cygwin install apt-cyg

    1. UPDATE CYGWIN First of all you will need to ensure that Cygwin has the necessary binaries require ...

  9. Ubuntu tar 解压缩命令详解

    tar 解压缩命令详解: -c: 建立压缩档案 -x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只 ...

  10. NetCore 学习笔记(DI 实例生命周期)

    Transient: 每一次GetService都会创建一个新的实例 Scoped:    在同一个Scope内只初始化一个实例,同一个请求内只会被创建一次 Singleton :整个应用程序生命周期 ...