collectd+logstash+influxdb+grafana構建windows服務器應用監控系統


一、背景介紹

      本監控方案支持對Windows Server服務器集群的全面監控,方案提供豐富的圖表展示, 以及對異常問題進行郵件的實時報警。

      本系統由Collectd(操作系統數據搜集)、logstash(業務數據搜集)、Influxdb(數據存儲)、Grafana(圖表展示和預警)四個子系統組成。

      Collectd 是一個商業產品,但可以下載其免費版本,安裝后已windows服務的形式運行,提供了配置界面(雖然很多模塊不支持),總體而言操作比較方便。

      logstash是一個完全開源的工具,可以進行日志收集、分析。

      Influxdb 是一個開源,分布式,時間序列,事件,可度量和無外部依賴的數據庫。

      Grafana 是用於可視化大型測量數據的開源程序,他提供了強大和優雅的方式去創建、共享、瀏覽數據。同時也提供了細致的預警功能。

二、 Collectd

  1. 下載Collectd安裝包 
        https://ssc-serv.com/download.shtml     
     2. 安裝Collectd
        執行exe文件,安裝提示完成安裝。

 

     3. 修改配置:

      

      由於是免費版本,收集時間不能調整,默認是5分鍾。下面是幾個重要的配置項:
        a. Hostname(默認會獲取主機名,但使用IP會更直觀)
        
     b. 內存選項設置,選擇上“Report values in percent”選項,數據會以百分比的形式存儲。
        
     c. collectd中設置influxDB目標地址,推送數據。
        
 

      4. 修改完成后即可正常使用Collectd

        安裝后默認服務是啟動的,修改配置后需要重啟SSC Service。

三 logstash

 
    2.  配置logstash(收集業務日志)
      日志格式:
  1. 10.180.8.88 /parQuery/123 655
  2. 10.180.5.77 /orderQuery/pnr 317
  3. 10.180.5.77 /orderQuery/pnr 250
  4. 10.180.5.77 /parQuery/123 44
  5. 10.180.8.88 /parQuery/123 442
  6. 10.180.5.77 /orderQuery/pnr 195
  7. 10.180.5.77 /orderQuery/pnr 303
       在\bin目錄下創建logstash.conf文件,並按照如下格式配置logstash(解析收集業務日志):
  1. input {
  2. file { # 文件路徑 path => "F:/projects/Test/*.log" }
  3. }
  4. filter {
  5. #定義數據的格式
  6. grok {
  7. match => { "message" => "%{IPV4:client} %{GREEDYDATA:request} %{NUMBER:duration}"}
  8. }
  9. mutate { convert => { "duration" => "integer" }}
  10. }
  11. output {
  12. stdout{codec => json}
  13. influxdb {
  14. db => "test"       #influxDB數據庫名
  15. host => "localhost"           #influxDB服務地址
  16. port => "8086"                #influxDB端口
  17. user => "username"            #influxDB初始化的用戶名
  18. password => "password"        #influxDB初始化的秘密
  19. allow_time_override => true    #允許覆蓋time事件中的列?
  20. coerce_values => {            # 轉換類型
  21. "duration" => "integer"
  22. }
  23. data_points => {                #鍵/值對的哈希表示要發送到指定數據庫的數據
  24. "client" => "%{client}"
  25. "request" => "%{request}"
  26. "duration" => "%{duration}"
  27. }
  28. }
  29. }
    3.在bin目錄下創建run.bat,寫入一下腳本:        
  1. logstash.bat -f logstash.conf
        執行run.bat啟動logstash。

四、 Influxdb

  • 安裝Influxdb

      1. 下載influxdb安裝包 

        https://dl.influxdata.com/influxdb/releases/influxdb-1.3.4_windows_amd64.zip

      2. 解壓influxdb
       

 

      3. 根目錄創建run.bat文件用於啟動influxDB,寫入“influxd.exe -config F:\monitor\influxdb-1.3.4-1\influxdb.conf”,使influxdb.conf文件生效,也可通過環境變量來設置相關配置信息。    

 

  • Influxdb 配置

      1.   這三個配置是跟數據存儲相關的配置influxdb.conf,默認放在了系統用戶根目錄下,可以進行修改。

         

2. 打開collectd端口

 

 

  • Influxdb 啟動

    執行創建的run.bat文件。
     
  • Influxdb 注意事項

  1. 注意涉及到influxdb 相關數據文件路徑及相關讀寫權限問題,涉及配置文件:$INFLUXDB_HOME/influxdb.conf
  2. 在1.3版本以上取消了WEB管理的模塊,可使用influx.exe通過命名操作influxDB
  3. 創建管理員賬號:CREATE USER username WITH PASSWORD password WITH ALL PRIVILEGES
  4. Influxdb 查詢語句類似普通SQL,但細節差異較多,詳見官網
  5. 由於數據量較多,當查詢數據時,盡量使用limit 對查詢結果進行限制,以免數據庫崩潰


五、 Grafana

  • 安裝配置Grafana

   1. 下載Grafana:

https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.5.2.windows-x64.zip

    2. 解壓后修改\conf\defaults.ini文件,配置STMP,預警郵件會使用到    

     3. 執行bin\grafana-server.exe文件啟動Grafana

 

  •  

    Grafana啟動頁面

     默認登錄密碼為admin/admin,請及時修改為強密碼
  • Grafana配置數據源

    1. 登錄Grafana,點擊頁面左上角Grafana圖標,選擇DataSource
        
         2. 點擊 Add data source 
        
 3. 填寫數據源相關字段
 
 4. 點擊Add 即可添加完成。
  • Grafana添加數據圖表

    1. 添加Dashboards
     2. 選擇視圖樣式
         3. 進入編輯模式
         4. 對視圖進行編輯
         5. 保存Dashboard。
 
  • Grafana添加預警

    1.進入通知頻道
     2. 添加頻道
 3. 設置頻道信息、收件人地址。
 4. 測試並保存。
 5. 進入Dashboard編輯模式,新建預警。
 6. 配置預警信息
 7. 保存完成,接收到預警郵件。
 
  • Grafana注意事項

      1. 登錄地址為:http://IP:3000/login

      2. 默認登錄密碼為admin/admin,請及時修改為強密碼,添加數據源和數據圖表等權限都需要該賬戶具有編輯權限才可以進行操作,需要用admin進行權限賦予。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM