天天看點

《Splunk智能運維實戰》——1.4 使用腳本輸入

本節書摘來自華章計算機《splunk智能運維實戰》一書中的第1章,第1.4節,作者 [美]喬史·戴昆(josh diakun),保羅r.約翰遜(paul r. johnson),德萊克·默克(derek mock),譯 宮鑫,康甯,劉法宗 ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

智能運維所需的資料并非全部來自日志檔案或網絡端口。splunk也可擷取指令或腳本的輸出,并将其與其他資料一起索引。

腳本輸入是針對較難擷取資料的一種有效方法。如果收集第三方提供的指令行程式輸出的資料,splunk可定期運作該指令來索引結果。通常來說,腳本輸入常用于從某個源抓取資訊,而網絡輸入則等待資料從某個源不斷推送。

本節将介紹如何配置splunk,使其每隔一段時間執行指令并将輸出的資料導入splunk。

做好準備

要進行本節的操作,需要運作splunk enterprise伺服器,及本書提供的适用于目前操作環境的輸入腳本。如果是windows系統,使用cp01_scripted_input.bat檔案。這個腳本應放至$splunk_home/bin/scripts目錄。

如何操作

按照下列步驟配置腳本輸入。

登入splunk伺服器。

從右上角的主啟動器,單擊“添加資料”按鈕。

《Splunk智能運維實戰》——1.4 使用腳本輸入

在“或選擇一個資料源”清單,單擊“運作并收集一個腳本的輸出”連結。

《Splunk智能運維實戰》——1.4 使用腳本輸入

出現“添加新”界面,上面有許多需要輸入的字段。在“源”部分,輸入要運作指令的完整路徑,包括任何指令行參數。所有腳本必須置于splunk bin目錄,可放至$splunk_ home/bin/scripts或splunk 應用程式的其他合适的bin目錄中。

在“間隔”字段輸入腳本運作的間隔值(用秒表示),預設值為60.0秒。

在“源類型”部分,可選擇預定義的源類型,或選擇“手動”并輸入需要的值。出于本節的需要,在源類型中選擇“手動”,并輸入cp01_scripted_input作為源類型的值。

《Splunk智能運維實戰》——1.4 使用腳本輸入

資料将被索引到splunk的預設索引,也就是主索引。要想改變目标索引,勾選“更多設定”複選框并從下拉菜單中選擇所需的索引。

點選“儲存”,在下一個界面,點選“開始搜尋”。splunk現已配置好,可按照設定的間隔,每60秒執行一次我們提供的腳本輸入。輸入下列指令搜尋“全部時間”的腳本輸入傳回的資料:

《Splunk智能運維實戰》——1.4 使用腳本輸入

工作原理

當添加新的腳本輸入時,也就是訓示splunk在背景向inputs.conf檔案添加新的配置節。splunk伺服器可以包括一個或多個inputs.conf檔案,它們位于$splunk_home/etc/system/ local或splunk 應用程式的local目錄。

建立完腳本輸入後,splunk建立了間隔計時器并按照設定的間隔執行指定指令。有一點需要注意,splunk每次隻能運作腳本的一個執行個體,若腳本因為某種原因被阻塞,splunk就無法再執行腳本,直到障礙被排除。

從splunk 4.2版本開始,腳本轉入中任何指向stderr(導緻錯誤)的輸出都會被收集在splunkd.log檔案中,在調試腳本執行情況時這會很有幫助。因為splunk預設會索引自身的資料,是以可以搜尋腳本輸入錯誤并在必要時發出警報。

出于安全考慮,splunk不會執行先前提到的bin目錄以外的腳本。為了突破這一限制,可使用包裝器腳本 (比如linux中的shell腳本或windows中的批處理檔案)來調用機器上的其他腳本。

另參見

《Splunk智能運維實戰》——1.4 使用腳本輸入

繼續閱讀