ELK採集tomcat日誌

ELK採集tomcat日誌

一,軟件架構

Nxlog

nxlog 是用 C 語言寫的一個跨平臺日誌收集處理軟件。其內部支持使用 Perl 正則和語法來進行數據結構化和邏輯判斷操作。不過,其最常用的場景。是在 windows 服務器上,作爲 logstash 的替代品運行。
- 官方文檔
[https://nxlog.co/products/nxlog-community-edition]
- 下載地址
[https://nxlog.co/products/nxlog-community-edition/download]

Logstash

logstash就是一根具備實時數據傳輸能力的管道,負責將數據信息從管道的輸入端傳輸到管道的輸出端;與此同時這根管道還可以讓你根據自己的需求在中間加上濾網,Logstash提供裏很多功能強大的濾網以滿足你的各種應用場景。
- 官方文檔
[https://www.elastic.co/guide/en/logstash/current/introduction.html]
- 下載地址
[https://www.elastic.co/cn/downloads]

Elasticsearch

ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並作爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於[雲計算])中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。
- 官方文檔
[https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html]
- 下載地址
[https://www.elastic.co/cn/downloads]

Kibana

Kibana是一個開源的分析與可視化平臺,設計出來用於和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引裏的數據,使用各種不同的圖表、表格、地圖等kibana能夠很輕易地展示高級數據分析與可視化。
- 官方文檔
[https://www.elastic.co/guide/en/kibana/current/index.html]
- 下載地址
[https://www.elastic.co/cn/downloads]
(https://www.elastic.co/cn/downloads)

二、安裝部署

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章