ELK日志檔案分析系統
- 一、 ELK日志檔案系統的介紹
- 二、ElasticSearch的集群安裝與搭建
- 軟體包安裝節點介紹
- 三、Logstash工具的介紹與安裝
- 軟體包得下在地址在
- 1、Logstash工具的介紹
- 2、安裝Logstash工具收集apache服務日志和系統日志
- 1)安裝losgstash和apache服務并啟動
- 2 、Logstash命令測驗以及將系統日志和apache日志上傳到ElasticSearch集群
- 1)Logstash命令測驗
- 2)收集系統日志和apache日志上傳到ElasticSearch集群
- 3)測驗是否上傳成功
- 四、Kiabana工具介紹及安裝
- 1、Kiabana工具介紹
- 2、Kibana的安裝及配置
- 3、使用瀏覽器檢驗Kibana是否創建成功
- 4、將ElasticSearch中的索引日志添加到Kiabana中統計分析
一、 ELK日志檔案系統的介紹
ELK是日志系統管理的一款開源的架構,由 Logstash、ElasticSearch和Kiabana三個開源軟體組成 , 可以對任何來源,任何型別的日志檔案進行分析和可視化的統計整理展示,
二、ElasticSearch的集群安裝與搭建
ElasticSearch集群搭建地址:點擊前往
軟體包安裝節點介紹
| 數量 | 主機名 | 地址 | 版本 | 安裝的軟體 |
|---|---|---|---|---|
| 第一臺 | node1 | 192.168.10.5 | Linux7.4 64位 | ElasticSearch集群 |
| 第二臺 | node2 | 192.168.10.6 | Linux7.4 64位 | ElasticSearch的集群、Kiabana |
| 第三臺 | apache | 192.168.10.7 | Linux7.4 64位 | Logstash |
ELK基于前一篇搭建好的ElasticSearch集群接著搭建
三、Logstash工具的介紹與安裝
軟體包得下在地址在
ElasticSearch集群搭建地址:點擊前往
1、Logstash工具的介紹
Logstash 是一款強大的資料處理工具,它可以實作資料傳輸,格式處理,格式化輸出,還有強大的插件功能,常用于日志處理,
- Logstash的理念很簡單,它只做3件事情:
- Collect:資料輸入
- Enrich:資料加工,如過濾,改寫等
- Transport:資料輸出
LogStash的主要組件:
- Shipper:日志收集者 ,負責監控本地日志檔案的變化,及時把日志檔案的最新內容收集起來,通常,遠程代理端(agent)只需要運行這個組件即可;
- Indexer:日志存盤者,負責接收日志并寫入到本地檔案,
- Broker:日志Hub,負責連接多個Shipper和多個Indexer
- Search and Storage:允許對事件進行搜索和存盤;
- Web Interface:基于Web的展示界面
- 正是由于以上組件在LogStash架構中可獨立部署,才提供了更好的集群擴展性
LogStash主機分類:
1)代理主機(agent host):作為事件的傳遞者(shipper),將各種日志資料發送至中心主機;只需運行Logstash 代理(agent)程式;
2)中心主機(central host):可運行包括中間轉發器(Broker)、索引器(Indexer)、搜索和存盤器(Search and Storage)、Web界面端(Web Interface)在內的各個組件,以實作對日志資料的接收、處理和存盤
2、安裝Logstash工具收集apache服務日志和系統日志
1)安裝losgstash和apache服務并啟動
關閉防火墻和Selinux
[root@localhost ~]# hostnamectl set-hostname apache
[root@localhost ~]# su
[root@apache ~]# yum -y install httpd
[root@apache ~]# systemctl start httpd
[root@apache ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
\\上傳軟體包
[root@apache ~]# rpm -ivh logstash-5.5.1.rpm
[root@apache ~]# systemctl start logstash.service
[root@apache ~]# systemctl enable logstash.service
[root@apache ~]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/
//鏈接logstash命令到環境變數中
2 、Logstash命令測驗以及將系統日志和apache日志上傳到ElasticSearch集群
1)Logstash命令測驗
[root@apache opt]# logstash -e ‘input { stdin{ } } output { stdout {} }’
引數解釋:
- -f 通過這個選項可以指定logstash的組態檔,根據組態檔多載logstash服務
- -e后面跟著字串該字串可以被當做logstash的配置(如果是””,則默認使用stdin做為輸入、stdout作為輸出)
stdin{}和stdout{}輸入采用標準輸入輸出采用標準輸出
18:42:57.986 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9601}
www.wodejia.com //手動標準輸入
2020-10-29T10:43:14.261Z apache www.wodejia.com //轉換標準輸出
[root@apache ~]# logstash -e ‘input { stdin{} } output { stdout{ codec=>rubydebug } }’
······················
18:46:34.205 [Api Webserver] INFO logstash.agent - Successfully started Logstash API endpoint {:port=>9601}
www.wodejia.com //手動標準輸入
{
“@timestamp” => 2020-10-29T10:46:41.844Z,
“@version” => “1”,
“host” => “apache”, //轉換開放式程式語言輸出
“message” => “www.wodejia.com”
}
2)收集系統日志和apache日志上傳到ElasticSearch集群
[root@apache ~]# cd /etc/logstash/conf.d
[root@apache ~]# chown o+r /var/log/messages //允許其他用戶讀取
[root@apache conf.d]# vim system.conf //上傳系統日志組態檔
input { //輸入
file{ //型別為檔案
path => "/var/log/messages" //路徑
type => "system" //型別自定義
start_position => "beginning" //從開始得位置上傳
}
}
output { //輸出到
elasticsearch { //轉換的服務型別
hosts => ["192.168.10.5:9200"] //服務得地址名
index => "system-%{+YYYY.MM.dd}" //創建的索引名和索引格式
}
}
[root@apache conf.d]# vim apache.conf //編輯apache服務上傳日志
input {
file{
path => "/etc/httpd/logs/access_log"
type => "access"
start_position => "beginning"
}
file{
path => "/etc/httpd/logs/error_log"
type => "error"
start_position => "beginning"
}
}
output {
if [type] == "access" {
elasticsearch {
hosts => ["192.168.10.6:9200"]
index => "apache_access-%{+YYYY.MM.dd}"
}
}
if [type] == "error" {
elasticsearch{
hosts => ["192.168.10.6:9200"]
index => "apache_error-%{+YYYY.MM.dd}"
}
}
}
[root@apache conf.d]# systemctl restart logstash.service //重啟服務
3)測驗是否上傳成功

- 如果apache日志沒有成功,可以在瀏覽器訪問一下服務器的http服務,或者重啟httpd服務,在瀏覽器訪成功訪問一次服務,不然apache成功訪問的日志為空,就不會上傳,
- [root@apache conf.d]# logstash -f /etc/logstash/conf.d/apache.conf //重加載組態檔
四、Kiabana工具介紹及安裝
1、Kiabana工具介紹
Kibana是一個針對Elasticsearch的開源分析及可視化平臺,用來搜索、查看互動存盤在Elasticsearch索引中的資料,
- Kibana,可以通過各種圖表進行高級資料分析及展示,
- Kibana讓海量資料更容易理解,它操作簡單,基于瀏覽器的用戶界面可以快速創建儀表板(dashboard)實時顯示Elasticsearch查詢動態
Kibana主要功能:
1、Elasticsearch無縫之集成,Kibana架構為Elasticsearch定制,可以將任何結構化和非結構化資料加入Elasticsearch索引,Kibana還充分利用了Elasticsearch強大的搜索和分析功能,
2、整合你的資料,Kibana能夠更好地處理海量資料,并據此創建柱形圖、折線圖、散點圖、直方圖、餅圖和地圖,
3、復雜資料分析,Kibana提升了Elasticsearch分析能力,能夠更加智能地分析資料,執行數學轉換并且根據要求對資料切割分塊,
4、讓更多團隊成員受益,強大的資料庫可視化介面讓各業務崗位都能夠從資料集合受益,
5、介面靈活,分享更容易,使用Kibana可以更加方便地創建、保存、分享資料,并將可視化資料快速交流,
6、配置簡單,Kibana的配置和啟用非常簡單,用戶體驗非常友好,Kibana自帶Web服務器,可以快速啟動運行,
7、可視化多資料源,Kibana可以非常方便地把來自Logstash、ES-Hadoop、Beats或第三方技術的資料整合到Elasticsearch,支持的第三方技術包括Apache Flume、Fluentd等,
8、簡單資料匯出,Kibana可以方便地匯出感興趣的資料,與其它資料集合并融合后快速建模分析,發現新結果
2、Kibana的安裝及配置
//上傳kibana-5.5.1-x86_64.rpm軟體包
[root@node1 ~]# rpm -ivh kibana-5.5.1-x86_64.rpm
[root@node1 ~]# cd /etc/kibana/
[root@node1 kibana]# cp kibana.yml kibana.yml.bak //備份組態檔
[root@node1 kibana]# vi kibana.yml //修改組態檔
server.port: 5601 //kibana偵聽的埠
server.host: "0.0.0.0" //kibana偵聽的地址
elasticsearch.url: "http://192.168.100.5:9200” //和elasticsearch建立聯系
kibana.index: ".kibana" //在elasticsearch中添加.kibana索引
[root@node1 kibana]# systemctl start kibana.service //啟動kibana服務
[root@node1 kibana]# systemctl enable kibana.service //開機啟動kibana服務
3、使用瀏覽器檢驗Kibana是否創建成功

4、將ElasticSearch中的索引日志添加到Kiabana中統計分析

- 產看詳細統計分析顯示資訊

轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/197070.html
標籤:其他
上一篇:廈門國際銀行數創金融杯建模大賽
