• ELK采集tomcat日志


    ELK采集tomcat日志

    一,软件架构

    Nxlog

    nxlog 是用 C 语言写的一个跨平台日志收集处理软件。其内部支持使用 Perl 正则和语法来进行数据结构化和逻辑判断操作。不过,其最常用的场景。是在 windows 服务器上,作为 logstash 的替代品运行。

    Logstash

    logstash就是一根具备实时数据传输能力的管道,负责将数据信息从管道的输入端传输到管道的输出端;与此同时这根管道还可以让你根据自己的需求在中间加上滤网,Logstash提供里很多功能强大的滤网以满足你的各种应用场景。

    Elasticsearch

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

    Kibana

    Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等kibana能够很轻易地展示高级数据分析与可视化。

    二、安装部署

    Nxlog

    1. 下载nxlog安装包(这里以windows为例)。

    nxlog有ce版本和和EE版本,支持windows、linux等等操作系统。

    2. 双击安装

    默认安装路径:C:Program Files (x86) xlog

    3. 修改配置文件:

    修改:C:Program Files (x86) xlogconf xlog.conf

    ## This is a sample configuration file. See the nxlog reference manual about the
    ## configuration options. It should be installed locally and is also available
    ## online at http://nxlog.org/docs/
    
    ## Please set the ROOT to the folder your nxlog was installed into,
    ## otherwise it will not start.
    
    #define ROOT C:Program Files
    xlog
    define ROOT C:Program Files (x86)
    xlog
    
    Moduledir C:Program Files (x86)
    xlogmodules
    CacheDir C:Program Files (x86)
    xlogdata
    Pidfile C:Program Files (x86)
    xlogdata
    xlog.pid
    SpoolDir C:Program Files (x86)
    xlogdata
    LogFile C:Program Files (x86)
    xlogdata
    xlog.log
    
    <Extension _syslog>
        Module      xm_syslog
    </Extension>
    
    <Input testfile>
        Module im_file
        File "D:\apache-tomcat-7.0.77\logs\*.log"    
        SavePos TRUE
    </Input>
    
    <Output out>
        Module om_tcp
        Host   192.168.8.83
        Port   514
    </Output>
    
    <Route 1>
        Path testfile => out
    </Route>
    
    
    
    • 配置路径
    名称 定义 路径
    nxlog根目录 define ROOT() C:Program Files (x86) xlog
    模块路径 Moduledir C:Program Files (x86) xlogmodules
    nxlog缓存数据 CacheDir C:Program Files (x86) xlogdata
    pid路径 Pidfile C:Program Files (x86) xlogdata xlog.pid
    资源池路径 SpoolDir C:Program Files (x86) xlogdata
    日志路径 LogFile C:Program Files (x86) xlogdata xlog.log

    4. 启动nxlog

    启动后查看日志,如果logstash未启动会报错

    • 正常启动

    5.设置nxlog服务

    nxlog安装后,默认会在系统穿件一个nxlog的系统服务。可以根据自己的选择配置自动启动。

    Logstash安装配置

    1. 软件环境说明

    软件系统 版本
    linux centos7 64bit
    jdk 1.8.0.144 64bit linux版本
    Logstash 6.1.1 linux

    2. jdk安装(跳过)

    3. 官方下载Logstash解压。

    cd /opt
    wget https://artifacts.elastic.co/downloads/logstash/logstash-6.1.1.tar.gz 
    tar -zxvf logstash-6.1.1.tar.gz
    #建立软链接
    ln -s /opt/logstash-6.1.1/bin/logstash /usr/local/sbin/logstash`
    

    4. 测试Logstash

    原理:输入,过滤器,输出

    #因为已经加了软链接,所以直接可以输入命令 logstash执行
    logstash -e 'input { stdin { } } output { stdout {} }'
    

    输入 hello可以看到logstash直接获取到了hello

    5,常用参数

    | 参数 | 用途
    | ------------ |
    | -n | 指定Logstash实例的名称,如果未指定,默认为主机名 |
    |-f |指定Logstash配置文件或目录,如果指定目录则合并目录中配置文件|
    |-e |指定Logstash配置数据,以字符串的形式指定,常用于手工测试|
    |-l |指定Logstash日志文件目录,默认安装目录下logs目录|
    |--debug |开启Logstash调试模式|
    |--log.level |指定Logstash日志级别,fatal/error/warn/info/debug/trace|
    | --config.debug |指定Logstash打印配置合并日志,开启前提是打开调试模式--debug以及设置日志级别|
    |-t |测试Logstash配置文件,,必须配合-f使用|
    |-r |设置Logstash自动重载配置文件,必须配合-f使用|
    |--config.reload.interval |设置Logstash重载配置周期,默认为3秒|
    |--http.host |设置LogstashAPI监听地址|
    |--http.port |设置LogstashAPI监听端口|
    |--quiet |设置 Logstash为安静模式|

    6. 配置tomcat日志采集

    • 在Logstash的bin下面创建nxlog.conf文件。
    • 通过tcp的方式接受nxlog采集的日志。
    • 配置elasticsearch的地址和index等信息
    input {
        tcp {
            port => 514
    
        }
    }
    output{
        elasticsearch {
            hosts => "192.168.8.83:9200"
            index => "logstash-test1"
            template_overwrite => true
        }
    }
    

    7. 启动Logstash

    logstash -f /opt/logstash-6.1.1/bin/nxlog.conf
    

    8 检查运行正常即可

    • Logstash启动较慢,需要等待一会。

    Elasticsearch安装启动

    1. 软件环境说明

    软件系统 版本
    linux centos7 64bit
    jdk 1.8.0.144 64bit linux版本
    Elasticsearch 6.1.1 linux

    2. jdk安装(跳过)

    3. 官方下载安装包并解压

    #建立软链接
    ln -s /opt/elasticsearch-6.1.1/bin/elasticsearch /usr/local/sbin/elasticsearch
    

    4. 配置Elasticsearch

    • 配置文件
      /opt/elasticsearch-6.1.1/config/elasticsearch.yml
    #定义es集群名称
    cluster.name: bosheng_logs
    ##定义该节点的名称,各个节点不能重复
    node.name: node1
    ##配置数据目录,注意elasticsearch会有自己的运行用户,要赋予目录此用户的权限
    path.data: /logs
    ##配置日志目录
    path.logs: /opt/elasticsearch-6.1.1/logs
    ##关闭锁定内存
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false
    ##指定本机IP地址
    network.host: 192.168.8.83
    #指定http访问端口
    http.port: 9200
    

    5.创建一个新用户来启动elastricsearch。

    • 使用root用户创建
    useradd elk
    passwd elk
    chown -R elk /opt/elasticsearch-6.1.1
    

    6. 使用创建的用户启动Elasticsearch

    su elk
    elasticsearch
    

    7. 检查启动是否正常

    Kibana安装启动

    1. 软件环境说明

    软件系统 版本
    linux centos7 64bit
    jdk 1.8.0.144 64bit linux版本
    Kibana 6.1.1 linux

    2. jdk安装(跳过)

    3. 官方下载安装包并解压

    #建立软链接
    ln -s /opt/kibana-6.1.1-linux-x86_64/bin/kibana /usr/local/sbin/kibana
    

    4. 配置kibana

    • 配置文件路径
      /opt/kibana-6.1.1-linux-x86_64/config/kibana.yml
    server.port: 5601
    server.host: 192.168.8.83
    elasticsearch.url: "http://192.168.8.83:9200"
    

    启动kibana,并验证。

    • 启动
    kibana
    
    • 启动成功
    • 访问

    三、验证

    1. 启动tomcat7.0.77

    2. 查看Elasticsearch接收到的日志信息

    3. 通过kibana查看tomcat的启动日志

    通过检查之后,我们发现我们成功的采集到了tomcat的日志到Elasticsearch

  • 相关阅读:
    shipyard-----------docker容器的可视化管理
    dockerfile制作镜像
    docker容器ip地址的设定
    docker镜像文件的安装和容器的操作
    Docker网络模式
    docker整体了解
    spring的aop学习(1)
    SqlSessionFactory的创建过程
    spring+springMVC+Maven+mysql环境搭建
    dubbo入门示例
  • 原文地址:https://www.cnblogs.com/kakarott/p/8118906.html
Copyright © 2020-2023  润新知