文章目錄
- 一、為什么用到 ELK
- 二、ELK 簡介
- 三、實驗部署
- 3.1 準備作業
- 3.2 下載并安裝軟體包
- 3.3 安裝 JDK(java)環境工具
- 3.4 配置 elasticsearch
- 3.4.1 新建 elasticsearch 用戶并啟動
- 3.4.2 查看行程是否啟動成功
- 3.4.3 若出現錯誤可以查看日志
- 3.4.4 測驗是否可以正常訪問
- 3.5 配置 logstash
- 3.5.1 logstash 中 grok 的正則匹配
- 3.5.2 創建 logstash 組態檔
- 3.5.3 啟動
- 3.6 配置 kibana
- 3.6.1 修改kibana組態檔
- 3.6.2 啟動
- 3.6.3 測驗:
- 3.7 Nginx 客戶端配置
- 3.7.1 yum 安裝二進制 nginx 軟體包
- 3.7.2 下載 filebeat 并解壓到/usr/local/
- 3.7.3 修改filebeat組態檔
- 3.7.4 啟動
- 3.7.5 訪問
- 3.7.5 查看 kibana日志
一、為什么用到 ELK
??一般我們需要進行日志分析場景:直接在日志檔案中 grep、awk 就可以獲得自己想要的資訊,但在規模較大的場景中,此方法效率低下,面臨問題包括日志量太大如何歸檔、文本搜索太慢怎么辦、如何多維度查詢,需要集中化的日志管理,所有服務器上的日志收集匯總,常見解決思路是建立集中式日志收集系統,將所有節點上的日志統一收集,管理,訪問,
??一般大型系統是一個分布式部署的架構,不同的服務模塊部署在不同的服務器上,問題出現時,大部分情況需要根據問題暴露的關鍵資訊,定位到具體的服務器和服務模塊,構建一套集中式日志系統,可以提高定位問題的效率,
一個完整的集中式日志系統,需要包含以下幾個主要特點:
- 收集-能夠采集多種來源的日志資料
- 傳輸-能夠穩定的把日志資料傳輸到中央系統
- 存盤-如何存盤日志資料
- 分析-可以支持 UI 分析
- 警告-能夠提供錯誤報告,監控機制 ELK 提供了一整套解決方案,并且都是開源軟體,之間互相配合使用,完美銜接,高效的滿足了很多場合的應用,目前主流的一種日志系統,
二、ELK 簡介
ELK 是三個開源軟體的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟體,新增了一個 FileBeat,它是一個輕量級的日志收集處理工具(Agent),Filebeat 占用資源少,適合于在各個服務器上搜集日志后傳輸給 Logstash,官方也推薦此工具,
-
Elasticsearch 是個開源分布式搜索引擎,提供搜集、分析、存盤資料三大功能,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful 風格介面,多資料源,自動搜索負載等, -
Logstash 主要是用來日志的搜集、分析、過濾日志的工具,支持大量的資料獲取方式,一般作業方式為 c/s 架構,client 端安裝在需要收集日志的主機上,server 端負責將收到的各節點日志進行過濾、修改等操作在一并發往 elasticsearch 上去, -
Kibana 也是一個開源和免費的工具,Kibana 可以為 Logstash 和 ElasticSearch提供的日志分析友好的 Web 界面,可以幫助匯總、分析和搜索重要資料日志, -
Filebeat 隸屬于 Beats,是一個輕量級的日志收集處理工具,目前 Beats 包含四種工具- Packetbeat(搜集網路流量資料)
- Topbeat(搜集系統、行程和檔案系統級別的 CPU 和記憶體使用情況等資料)
- Filebeat(搜集檔案資料)
- Winlogbeat(搜集 Windows 事件日志資料)

三、實驗部署
本次部署的是 filebeats(客戶端),elasticsearch+logstash+kibana(服務端)組成的架構,
??業務請求到達 nginx-server 機器上的 Nginx; Nginx 回應請求,并在 access.log 檔案中增加訪問記錄; FileBeat 搜集新增的日志,通過 LogStash 的 5044 埠上傳日志; LogStash 將日志資訊通過本機的 9200 埠傳入到 ElasticSerach; 搜索日志的用戶通過瀏覽器訪問 Kibana,服務器埠是 5601;Kibana 通過 9200 埠訪問 ElasticSerach;

實驗環境:
本次部署的是單點 ELK 用了兩臺機器(CentOS-7.5)
ELK 服務端:192.168.88.100
Nginx 客戶端:192.168.88.110
3.1 準備作業
作業系統:CentOS 7.X 64 位
關閉 SELinux 和 firewalld 防火墻
此次試驗環境使用網路 yum 源,保證系統能正常連接互聯網
防火墻
[root@localhost ~]$ systemctl stop firewalld #臨時關閉
[root@localhost ~]$ systemctl disable firewalld #永久關閉,enable開啟
SELinux
[root@localhost ~]$ setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config && reboot
[root@localhost ~]$ getenforce
配置yum源
可參考之前的文章設定yum源
Linux配置yum源
修改ip
虛擬機網路為nat,網段要一致,可在VMware虛擬機【編輯】-----【虛擬網路編輯器】,選中這個nat模式網卡【子網ip】修改即可
[root@localhost ~]$ cd /etc/sysconfig/network-scripts
#兩臺服務器都需要修改,另一臺ip改為192.168.88.110
[root@localhost ~]$ vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static #修改此處,改為static
IPADDR=192.168.88.100 #ip地址
NETMASK=255.255.255.0 #網關
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=59ab8840-ef2e-441b-97d1-f9f7fde61d7b
DEVICE=ens33
ONBOOT=yes #修改此處
DNS1=114.114.114.114 #dns地址
[root@localhost ~]$ systemctl restart network #重啟網卡
3.2 下載并安裝軟體包
[root@localhost ~]$
3.3 安裝 JDK(java)環境工具
3.4 配置 elasticsearch
3.4.1 新建 elasticsearch 用戶并啟動
用 elasticsearch 普通用戶啟動
3.4.2 查看行程是否啟動成功
3.4.3 若出現錯誤可以查看日志
3.4.4 測驗是否可以正常訪問
3.5 配置 logstash
Logstash 收集 nginx 日志之使用 grok 過濾插件決議日志,grok 作為一個 logstash 的過濾插件,支持根據模式決議文本日志行,拆成欄位,
3.5.1 logstash 中 grok 的正則匹配
3.5.2 創建 logstash 組態檔
3.5.3 啟動
進入到/usr/local/logstash-6.2.3 目錄下,并執行下列命令
3.6 配置 kibana
3.6.1 修改kibana組態檔
打開 Kibana 組態檔/usr/local/kibana-6.2.3-linux-x86_64/config/kibana.yml,找到下面這行并修改
3.6.2 啟動
進入 Kibana 的目錄:cd /usr/local/kibana-6.2.3-linux-x86_64
3.6.3 測驗:
3.7 Nginx 客戶端配置
3.7.1 yum 安裝二進制 nginx 軟體包
3.7.2 下載 filebeat 并解壓到/usr/local/
3.7.3 修改filebeat組態檔
打開檔案/usr/local/filebeat-6.2.3-linux-x86_64/filebeat.yml,找到如下位置:修改三處
3.7.4 啟動
切換到/usr/local/filebeat-6.2.3-linux-x86_64 目錄下
3.7.5 訪問
通過瀏覽器多訪問幾次 nginx 服務,這樣能多制造一些訪問日志,訪問地址:https://192.168.137.131
3.7.5 查看 kibana日志
訪問 Kibana:https://192.168.88.100:5601,點擊左上角的 Discover,就可以看到訪問日志已經被ELK 搜集了,然后按照下列步驟完成設定
- 輸入 logstash-*,點擊”Next step”
- 選擇 Time Filter,再點擊“Create index pattern”
- 然后可自行創建日志內容查詢規則
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/226992.html
標籤:其他
上一篇:2020-11-22
下一篇:vi文本編輯器常用指令功能
