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,則表示其不能參與競選
配置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日誌監控平臺