1. 程式人生 > >ELK Stack搭建和使用中的一些小記錄

ELK Stack搭建和使用中的一些小記錄

       ELK Stack是非常很強大的一套東西,同樣也意味著比較複雜。去年在搭建這套東西時,
也被折騰的夠累的.主要是些小坑,知道了的話其實沒什麼,非常簡單,不知道話,還是有點急人的。
   資料採集用的Beats系列,這玩意是用Go寫的,比直接用Logstash,效能要更好,分工也更明確.
      Packetbeat :  用來嗅探和分析網路流量,如HTTP、MySQL、Redis等
      Topbeat: 用來收集系統的監控資訊,功能如其名,類似*nix下的top命令.

      Filebeat: 用來收集資料來源是檔案的資料,比如常見的系統日誌、應用日誌、網站日誌等.

採集完了丟給Logstash,處理完畢後,上傳到AWS的Elasticsearch服務(這裡有個坑卡了我好久)完事.
       Logstash有很多的功能,比如N多的外掛,比如豐富的Grok等等,我很多處理都要靠它,
但可能是我沒用對,我發現其實它的一些外掛在生產環境有些也不是那麼靠譜的。
比如有個外掛
http_poller

httppoller.conf:

input {
  http_poller {
    urls => {
      test1 => "http://localhost:8090"

      test2  => {
        type => "aa"
        tags => ["aaa","aaaa"]
        method => get
        url => "http://test2.xxx.com/pong"
      }

      test3 => {
        method => get
        url => "http://test3.xxx.com/pong"
        headers => {
          Accept => "application/json"
        }
        auth => {
          user => "xcl"
          password => "pwd"
        }
      }


    }
    request_timeout => 60
    interval => 60
    #codec => "json"
    metadata_target => "http_poller_metadata"
  }
}

filter {
    if [http_poller_metadata] {
      mutate {
        add_field => {
          "host" => "%{http_poller_metadata[name]}"
        }
      }
    }
}

output {
  stdout {
    codec => rubydebug
  }
}
./bin/logstash -f  httppoller.conf
當HTTP服務不能訪問時,會返回"_http_request_failure"

      我在本地怎麼測試都ok的,部署後簡單測試了下,也沒發現問題,但不久就發現,當日志伺服器很繁忙時,

這個外掛其實達不到所要的效果,老是誤報.最後只好自己開發了個服務來做這件事。所以用外掛時,一定在生

產環境觀察或測試一段時間,千萬不要簡單測試一下就不管了。

      另外,如果logstash的一些外掛不以滿足,又不想研究JRuby之類,可以考慮直接用exec,將資料傳
到外面直接自己處理.
     exec{
              command => " ...... "
          }
      還有一點,在生產環境,如果修改了對應的conf檔案,一定要注意先"configtest"一下,畢竟,conf
如果做了很多處理,很複雜的情況下,先確保修改後的conf格式是否正確還是很有必要的.
   ./bin/logstash -f xxx.conf --configtest
       最後還有一個要提醒的東西是除錯,logstash的處理正不正確,除了看日誌,可以在啟動時加"-v v"
能實時看到很多東西,但最好在測試環境用。  
       有很多小坑和小心得,不一一寫了,不過ELK Stack確實非常好用,也還有很多東西需要去挖掘,我基於它,

並整合其它服務,用Golang搭起了一套運維告警系統(包含郵件,微信實時通知及資料分析等)的骨架。

現在基本已離不開這套東西了。

BLOG:http://blog.csdn.net/xcl168

相關推薦

ELK Stack搭建使用一些記錄

       ELK Stack是非常很強大的一套東西,同樣也意味著比較複雜。去年在搭建這套東西時, 也被折騰的夠累的.主要是些小坑,知道了的話其實沒什麼,非常簡單,不知道話,還是有點急人的。    資料採集用的Beats系列,這玩意是用Go寫的,比直接用Logstash,

Android開發一些記錄

1.有的時候,我們會從庫上check一些結構比較奇葩的工程,由於各種原因導致IDEA無法識別出版本同步工具是什麼,解決辦法,cd到.idea目錄下,在vcs.xml檔案中mapping節點的vcs屬性上配置上工具名稱Git即可(我用的是Git,所以我這裡就配置Git了),然後重啟IDEA就好了。

java一些知識面試問題

() set 返回值 初始 cep 裝箱 聲明 數據 允許 抽象類的總結幾點: · 抽象類與普通類相比最大的不同只是在於抽象類之中存在有抽象方法,所以在抽象類之中依 然可以定義屬性、構造方法等 · 抽象類聲明時不允許使用 final,抽象類必須要求有子類,

關於前端開發學習一些記錄

瀏覽器解析CSS是從上至下,當CSS衝突時以最後定義的CSS為準。 佈局應用的是盒子原理,由上到下,左到右,外到內,層層巢狀。期間用到很多不同的標籤,標籤分為內聯元素,塊狀元素,內聯塊狀元素。 什麼是塊級元素?在html中<div>、 <p>、<

python一些的知識點

asc byte 知識 error nbsp 中一 文件 users cte 1:只有數字,字符串有小數據池 小數據池:在一定範圍內,即使分別給兩兩個變量賦相等的值,它們的id地址還會是相同的 數字範圍: -5 ~ 256 字符串:1:不能有特殊字符     2:str*

NFS 伺服器搭建遇到的一些

1、配置客戶端 和服務端的時候,要用外網地址! 2、當遇到報錯 如: mount.nfs: access denied by server while mounting 的時候要學會檢視日誌.   在服務端執行命令:  cat /var/lo

關於setInterval()setTimeout()一些總結

網頁編寫中常常會遇到使用定時器或者說是計時器的時候,中秋的阿里月餅事件鬧得沸沸揚揚。網上有據說是本人貼出來的程式碼,程式碼中也是應用了setInterval()計時器,通過獲取控制元件,設定計時器,來

java併發程式設計的一些記錄之interrupt

當外部執行緒對某執行緒呼叫了thred.interrupt()方法後,java語言的處理機制是這樣的:如果該執行緒處在可中斷狀態下(呼叫了Thread.wait()或者Thread.sleep()等特定會發生阻塞的api),那麼該執行緒會立即被喚醒,同時會收到一個Inter

JS開發一些技巧方法

hello floor apply subst shuf 新的 情況 level 可能 生成指定範圍內的隨機數 當我們需要獲取指定範圍(min,max)內的整數的時候,下面的代碼非常適合;這段代碼用的還挺多的。 function setRadomNum(min,m

記錄最近項目自己遇到的一些問題

pbo 路由配置 支持 lis inpu round 條件 說明 不支持 內容可能有點雜~ 一、首先記寫css的坑 1.p標簽文字過長,自動換行 word-wrap:break-word; word-break:break-all; 2.p標簽文字過長,不換行,顯示省略號

檔案讀取檔案寫入需要注意的一些知識

1,   is_file()函式:用來判斷 是否是為檔案或者是否存在該檔案 is_dir()函式:用來判斷 是否為目錄(資料夾)或者是夠存在該目錄 file_exists(檔案路徑):作用是判斷對應的路徑下 是否存在對應的檔案 它們的區別是如果已經存在該檔案或者資料夾,

表格外掛bootstrapTable隱藏顯示某列及一些注意點

html程式碼: <table id="docDateTable" class="table table-hover table-bordered" style="color: #000000"> <thead style="back

iOSCoreAnimation的一些問題 animationDidStop確認哪個動畫結束 連續animation之間的動畫不連續閃現

最近專案需要我來實現一些UILabel UIView等的動畫效果。 專案中遇到了兩個比較基礎的問題,一個問題是如何在設定了動畫的delegate為自己後,在animationDidStop中確認是哪一個動畫的技術,好在對應的動畫結束後開始新的動畫。晚上的問題千篇一律的都是

android 開發遇到的一些的知識點在此做一個記錄(持續更新)

1.localBroadcaseManager中傳送的是應用內廣播,只能在應用中通過regiset註冊才可監聽,靜態註冊及其他方式都監聽不到,必須通過LocalBroadCastManager.register註冊的廣播接收者才可以監聽到 2.handler處

Linq的一些用法(事務獲取新記錄ID)!

由於也是初試Linq,有好多就搞不明白。如:儲存Model後並獲取該條記錄的ID,就把我困擾了半天,再一個就是用事務。Linq自己會預設事務,但是我是用兩個提交結果,這樣就它預設的就起不到我想要的所有儲存都用事務了。經過一翻的查詢,搞明白了,寫出來,讓一些初學者看。 1。獲取

總結Selenium WebDriver一些鼠標鍵盤事件的使用

ict 效果 control window 只需要 html 執行 text keyevent 在使用 Selenium WebDriver 做自動化測試的時候,會經常模擬鼠標和鍵盤的一些行為。比如使用鼠標單擊、雙擊、右擊、拖拽等動作;或者鍵盤輸入、快捷鍵使用、組合鍵使用

一些知識點記錄

absolute www 什麽是 目的 定位元素 小知識點 pos 布局 z-index 1.什麽是文檔流? 回答1:文檔流是文檔中可顯示對象在排列時所占用的位置。比如網頁的div標簽它默認占用的寬度位置是一整行,p標簽默認占用寬度也是一整行,因為div標簽和p標簽是塊狀對

springset註入的一些細節錯誤

學習 細節 borde 集合 south let odi 桂林 代碼 這是小白偶爾一直null指針的錯誤,調試了好久,原來是自己對spring註入的不夠了解 我相信有很多跟我差不多的初學者會遇上,所以特地寫出來,防止有人跟我一樣。哈哈,也寫上去,以防自己下次還犯這樣的錯誤。

php coding一些問題

span jquery tle net lan serial param utf func 最近在SAE上寫微博應用,碰到一些小問題,記下來,以供參考: 1、出錯提示: Fatal error: Can‘t use function return value

vuemvvm的一些區別

後端 模型 掃描 公司 訪問 vue 出了 vue.js 監聽器 Vue.js 和 MVVM 小細節 MVVM 是Model-View-ViewModel 的縮寫,它是一種基於前端開發的架構模式,其核心是提供對View 和 ViewModel 的雙向數據綁定,這使得