編譯Filebeat原始碼

2022-07-23 13:57:25 字數 1539 閱讀 7858

專案使用了filebeat,現在需要執行在arm架構的伺服器上,但是filebeat官方沒有提供,需要自己編譯乙份

編譯filebeat需要go語言環境,先安裝go環境

#建立工作目錄

mkdir -p /opt/gowork

#安裝go和git 命令

yum install -y go git

#設定環境變數

echo "export goroot=/usr/lib/golang" >> /etc/profile

echo "export gobin=\$goroot/bin" >> /etc/profile

echo "export gopath=/opt/gowork" >> /etc/profile

echo "export path=\$path:\$goroot:\$gobin:\$gopath" >> /etc/profile

#重新整理環境變數

. /etc/profile

#測試go是否成功,檢視env中gopath是否生效

# 我需要的6.8版本,根據實際情況確定分支

結果,不出意外的報錯了。。。。undefined: syscall.dup2 

應該是arm平台提供的dup2不好用,好在之前了解了一點點go的知識,把他改成dup3試試,直接根據錯誤資訊修改報錯的檔案,vi ../libbeat/common/file/stderr_other.go,將呼叫的地方改成dup3

很幸運的編譯出了filebeat的可執行檔案

我們啟動一下試試,正常使用會根據需要修改filebeat.yml,我們現在只試試能不能正常啟動,簡單改了,將log的enabled改成true,其他都預設了

執行測試,可以看到索引模板已經生成,說明我們的filebeat在arm環境下編譯成功了,撒花~~~~~~~~~~~~~~~~~~~~~

手動編譯原始碼安裝mysql 原始碼編譯安裝mysql

1 安裝mysql需要的依賴包 yum y install ncurses devel libaio devel 2 安裝編譯mysql需要的軟體 mysql 有3個版本分支 5.0 5.1系列 5.4 5.7系列 6.0 7.1群集產品系列 最早的mysql 5.0 5.1產品 直接.config...

chromium 原始碼編譯

以下內容基於 linux ubuntu3.0.0 16 generic 28 ubuntu smp fri jan 27 17 44 39 utc 2012 x86 64 gnu linux 參考網頁給出的步驟 1 安裝 depot tools,cd 到你想要的工作目錄 1.1 通過 svn 獲取 ...

Chrome原始碼編譯

根據中的描述,先裝vc2008,打好各種補丁,再裝june 2010 directx sdk,再裝winsdk7.1,配置vc上的路徑,在配路徑時,要把dx的路徑放到winsdk的前面。否則在編包含xinput檔案的時候會出錯。編譯時才發現chrome用起來很爽,開發起來很吃機器,真不是我這種屌絲程...