1. 程式人生 > >ELK日誌監控平臺

ELK日誌監控平臺

elasticsearch分布環境的搭 logstash基本應用和實戰 Redis+EL應用 ELK 應用

一 elk 開源日誌分析平臺介紹

1 介紹

elasticsearch 是一個開源分布式搜索引擎,它的特點是:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動負載等特性
logstash:是一個完全開源的工具,他可以對日誌進行收集,過濾,並將其存儲供以後使用
kibana:是一個開源和免費的工具,它可以為logstash和elasticsearch 提供日誌分析友好的web界面,可以匯總,分析和搜索日誌等等。

2 ELK 進行日誌分析的步驟

首先,架構方面,apache 是有日誌文件的,他的每個請求的狀態都有日誌文件記錄,其次,需要有隊列,保證日誌的完整性,而redis的list結構整好可以作為隊列使用,然後分析使用elasticsearch進行分析查詢

3 環境需要

需要一個分布式的,日誌收集和分析系統,logstash有agent和indexer兩個角色,對於agent角色,放在單獨的web機器上,通過其不斷讀取日誌文件,將接受的日誌文件發送到redis上,通過indexer 進行接受和分析,分析之後存儲到elasticsearch進行搜索分析,再由kibana 進行日誌web界面展示

二 實驗環境的搭建:

軟件包:
鏈接:https://pan.baidu.com/s/123jH9tt8ggxdARKA-Z_h6g
密碼:e0l7

1 搭建基本的elasticsearch分布式環境

1 軟件的安裝

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

2 服務的配置

server1 配置
技術分享圖片
配置本機hostname

技術分享圖片
配置集群名稱
技術分享圖片
配置數據目錄位置
技術分享圖片
配置內存鎖定,只使用內存,不使用交換分區,加快運行效率
技術分享圖片
配置本機IP地址及監聽端口,其端口可以修改,建議保持默認
技術分享圖片
配置集群成員
技術分享圖片
server2 配置
技術分享圖片
技術分享圖片
技術分享圖片
server3 配置
技術分享圖片
技術分享圖片
技術分享圖片
啟動服務並查看相關端口
技術分享圖片
技術分享圖片
技術分享圖片

3 安裝第三方插件,以實現圖形化展示

技術分享圖片

4 實驗結果,server1為master serve2和server3 為從機

技術分享圖片

5 上傳數據查看結果

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

6 狀態配置:

角色共有三種:
master:負責維護集群狀態
worker: 負責數據存儲
服務端點: 負責服務提供,用以減輕其他服務壓力
支持的狀態有四種,默認是master true data true
master true 表示可以參與master 的競選,如果其為false,則表示其不能參與競選

data true 表示其是數據存儲節點,用於數據的存儲,如果為false,則表示其不能用於數據存儲
配置server1 的角色為master,負責集群的調度和管理
技術分享圖片
技術分享圖片
配置server2 和server3 為worker,負責數據的存儲
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
重載服務
技術分享圖片
技術分享圖片
技術分享圖片
查看其狀態:
技術分享圖片

7 使用API調度

1 使用API查看集群狀態
技術分享圖片
2 格式化顯示其狀態
技術分享圖片
3 查看之間建立的文件
技術分享圖片
4 刪除之前建立的文件並查看
技術分享圖片

2 安裝 logstash,用於日誌的提取和分析

技術分享圖片

1 服務的安裝

技術分享圖片

2 使用命令行的方式測試其輸入和輸出

退出使用Ctrl+c
技術分享圖片

3 使用標準輸出到屏幕

技術分享圖片

4 配置多個輸出,並輸出到elasticsearch

技術分享圖片
技術分享圖片

5 其加載配置文件位置

技術分享圖片

6 創建配置文件使其輸出到elasticsearch

技術分享圖片
技術分享圖片
運行並查看結果
技術分享圖片
技術分享圖片
技術分享圖片

7 使用輸出到文件

技術分享圖片
技術分享圖片
技術分享圖片

8 配置其輸入為系統日誌,並授予系統日誌其他用戶和組的讀權限

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

9 日誌讀取計數有關

1 刪除日誌
技術分享圖片
技術分享圖片
技術分享圖片
2 重啟服務並查看
技術分享圖片

技術分享圖片
技術分享圖片
查看其只有後面的日誌,沒有前面的日誌
技術分享圖片
此處在使用前臺運行的情況下,會在本地生成一個隱藏文件,用於記錄讀取的位置
技術分享圖片
刪除此文件並重啟查看
技術分享圖片
技術分享圖片

10 inode 相關

默認的inode 會重復利用,如此可能造成數據的文件鎖定混亂而導致日誌的讀取不準確,logstash可以在讀取該文件是鎖定inode號,使其時刻處於占用狀態,此時,當創建文件時,將不會導致已被占用的inode號進行分配而導致日誌讀取混亂
技術分享圖片

11 配置遠程日誌同步

技術分享圖片
技術分享圖片
技術分享圖片
運行後會自動生成514的tcp和udp端口用於同步
技術分享圖片
被同步端配置
技術分享圖片
技術分享圖片
技術分享圖片
寫入測試日誌
技術分享圖片
查看日誌同步情況
技術分享圖片
技術分享圖片

12 配置多行日誌輸入

技術分享圖片
技術分享圖片
技術分享圖片

13 配置輸出到elasticsearch中

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
查看結果
技術分享圖片
技術分享圖片
使用其標準化在input端的配置
技術分享圖片
技術分享圖片
刪除之前的讀取情況並刪除日誌重新導入操作
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

3 redis+apache

1 Redis 搭建

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

2 httpd的安裝與基本配置

技術分享圖片
技術分享圖片

3 創建HTTP日日誌讀取

查看httpd的日誌並授權,因為目錄需要執行權限才能讀取目錄中的內容
技術分享圖片
創建文件:
技術分享圖片
啟動並查看是否寫入redis
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

4 配置輸出到Redis和標準化輸出

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

5 配置標準化輸出

技術分享圖片
技術分享圖片
技術分享圖片

6 apache 日誌的標準化輸出

日誌格式化模板:
技術分享圖片
技術分享圖片
http日誌格式定義
技術分享圖片
技術分享圖片

技術分享圖片
技術分享圖片

7 將 redis 中的http日誌取出到標準輸出

技術分享圖片
技術分享圖片
啟動服務
技術分享圖片
查看redis情況
技術分享圖片

8 使用server1 存數據至redis ,使用server2 取數據到elasticsearch 中

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
訪問看其日誌是否增加
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

4 kibana 安裝及配置

1 安裝kibana

技術分享圖片

2 配置

配置其訪問es及自身打開一個索引
技術分享圖片
技術分享圖片

3 啟動服監聽端口

技術分享圖片

4 訪問

訪問查看並綁定apache日誌,此處的日誌名稱必須和上述的日誌並稱一致,否則不能匹配
技術分享圖片
查看該日誌的訪問情況,此處的時間一定要標準,否則不能看到現象,因為範圍可能不對
技術分享圖片
可以通過添加來完成列表,以表格的形式更加清晰的顯示結果
技術分享圖片
技術分享圖片

5 創建相關圖形,用於監控

使用markdown 語法創建聯系人信息
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
使用計數器實現apache訪問量的查看
技術分享圖片
技術分享圖片
技術分享圖片

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
使用柱狀圖實現訪問排行榜
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片
將其匯聚,並進行保存
技術分享圖片

ELK日誌監控平臺