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)\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 | 指定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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM