1. 程式人生 > 實用技巧 >logstash 離線安裝logstash-filter-json_encode 外掛

logstash 離線安裝logstash-filter-json_encode 外掛

線上安裝:
bin/logstash-plugin install logstash-filter-json_encode

這裡可能會保一個mmap 的錯誤

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000005e9990000, 7892041728, 0) failed; error='Cannot allocate memory' (errno=12)

猜測安裝的時候會啟動一個jvm程式,同樣也要啟動虛擬機器,然後申請記憶體,所以啟動不起來
一提到jvm 的時候就想到了jvm.options 裡面是配置的logstash啟動時候的引數。一般都配置實體記憶體的一半,這裡懷疑logstash-plugin 啟動的時候還會申請相同大小的記憶體,所以報錯。
所以這塊我們可以暫時先把logstash 關掉。然後安裝外掛

離線安裝:
1.如果有的logstash 有相關的元件
可以用./bin/logstash-plugin prepare-offline-pack logstash-filter-json_encode
類似與將logstash-filter-json_encode 打包
相關提示

Offline package created at: /data/server/logstash-7.5.0/logstash-offline-plugins-7.5.0.zip
You can install it with this command `bin/logstash-plugin install file:///data/server/logstash-7.5.0/logstash-offline-plugins-7.5.0.zip`

意思就是說你可以把這個zip包 以這種方式安裝

2.但是如果沒有logstash 已經安裝了這個外掛呢。
當開啟 logstash-offline-plugins-7.5.0.zip檔案時候會有兩個檔案
dependencies 空資料夾
logstash-filter-json_encode-3.0.3-java.gem 檔案(版本可能不同)

所以理論上我們找到這個java.gem 檔案就可以
那去哪找呢,我們在沒有網路install 的時候的提示

Unable to download data from https://rubygems.org

那意思就是應該去這個網站去找嘍(https://rubygems.org

)
然後可以搜尋一下我們的這個外掛 logstash-filter-json_encode

同樣我們可以選擇版本,點選下載,下載到本地

我們就可以下載這個.java.gem 檔案
然後在打包zip,放在伺服器上安裝,就可以