ELK采集tomcat日志

筅森魡賤 提交于 2019-12-16 23:02:29

ELK采集tomcat日志

一,软件架构

Nxlog

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

二、安装部署

Nxlog

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

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

2. 双击安装

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

3. 修改配置文件:

修改:C:\Program Files (x86)\nxlog\conf\nxlog.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\nxlog
define ROOT C:\Program Files (x86)\nxlog

Moduledir C:\Program Files (x86)\nxlog\modules
CacheDir C:\Program Files (x86)\nxlog\data
Pidfile C:\Program Files (x86)\nxlog\data\nxlog.pid
SpoolDir C:\Program Files (x86)\nxlog\data
LogFile C:\Program Files (x86)\nxlog\data\nxlog.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)\nxlog
模块路径 Moduledir C:\Program Files (x86)\nxlog\modules
nxlog缓存数据 CacheDir C:\Program Files (x86)\nxlog\data
pid路径 Pidfile C:\Program Files (x86)\nxlog\data\nxlog.pid
资源池路径 SpoolDir C:\Program Files (x86)\nxlog\data
日志路径 LogFile C:\Program Files (x86)\nxlog\data\nxlog.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
-f
-e
-l
--debug
--log.level
--config.debug
-t
-r
--config.reload.interval
--http.host
--http.port
--quiet

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!