日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

云计算上机实验二

發布時間:2023/12/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 云计算上机实验二 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實驗:ELK實時日志分析平臺環境搭建

  • 1.ELK簡介
  • 2. 實驗環境
  • 3. ELK環境搭建
    • (1) 環境布局
    • (2) 軟件包下載
    • (3) ElasticSearch部署:
      • ① 解壓文件到上一步創建的/usr/local/elk目錄下
      • ② 配置ES
      • ③ 運行Elasticsearch
        • 1) 前置操作
        • 2) 啟動ES
          • 直接修改
    • (4) Kibana部署:
      • ① 解壓文件到 /usr/local/elk
      • ② 配置Kibana
      • ③ 運行Kibana
        • 1) 啟動Kibana
        • 2) 查看kibana是否正確運行:
        • 3) 驗證Kibana外網是否可訪問
    • (5) Logstash部署:
      • ① 切換至部署個人項目的服務器,解壓文件到/usr/local/elk
      • ② 配置logstash管道
      • ③ 啟動logstash
    • (6) Beats部署
      • ① 解壓文件到/usr/local/elk
      • ② 配置并部署filebeat
        • 1) 配置filebeat
        • 2) 啟動filebeat
      • ③ 配置并部署metricbeat
        • 1) 配置metricbeat
        • 2) 啟動metricbeat
      • ④ 配置并部署packetbeat
        • 1) 配置packetbeat
        • 2) 啟動packetbeat
  • 4. 使用Kibana
    • (1) 訪問Kibana
    • (2) 設置Index索引
    • (3) 查看數據
      • ① 切換索引查看接收到的數據
      • ② 查看日志
    • (4) 使用儀表盤
      • ① 查看kibana提供的儀表盤加載是否成功
      • ② 選擇適合的儀表盤進行查看
        • 1) 使用metricbeat儀表盤

這一篇博文是在服務器上做的
虛擬機上的markdown格式下載

1.ELK簡介

(1) ELasticSearch:Elasticsearch是一個高度可伸縮的開源全文搜索和分析引擎。它允許用戶快速和接近實時地存儲、搜索和分析大量數據。
(2) Logstash:Logstash是一個開源的服務器端數據處理管道,可以同時從多個數據源獲取數據,并對其進行轉換、過濾、增強等,然后將其發送到其地方。
(3) Beats:Beats是用于單用途數據托運人的平臺,它們以輕量級代理的形式安裝,并將來自成百上千臺機器的數據發送到Logstash或Elasticsearch。包含:filebeat,metricbeat,packetbeat等。
(4) Kibana:Kibana是一個開源的分析和可視化平臺,設計用于和Elasticsearch一起工作,可以用來搜索,查看,并和存儲在Elasticsearch索引中的數據進行交互,輕松地執行高級數據分析,并且以各種圖標、表格和地圖的形式可視化數據。

2. 實驗環境

(1) 通過VMWare等虛擬機軟件搭建Ubuntu系統進行實驗
(2) JDK環境:請自行為Ubuntu安裝JDK(Server JRE),并配置環境變量(sudo apt install openjdk-8-jdk-headless)

3. ELK環境搭建

(1) 環境布局

演示布局如下圖所示:

在實際應用中,Beats和Logstash一般是部署在不同服務器上的。由于服務器資源有限,這里演示時將兩者部署在同一個服務器上。

(2) 軟件包下載

https://www.elastic.co/downloads/past-releases#elasticsearch

下載ElasticSearch、Logstash、Kibana、Beats(FileBeat、MetricBeat、PacketBeat等)

創建elk目錄

mkdir /usr/local/elk

(3) ElasticSearch部署:

① 解壓文件到上一步創建的/usr/local/elk目錄下

tar -zxvf elasticsearch-6.7.1.tar.gz -C /usr/local/elk/



Elasticsearch目錄結構:

Bin二進制腳本,例如ES啟動腳本elasticsearch
LibES依賴包目錄,包含ES用到的jar包
Logs日志文件目錄
Config配置文件目錄,elasticsearch.yml為ES的配置文件
ModulesES模塊目錄
Plugins一些常用插件
DataES索引等數據默認存放在根目錄下的data文件夾里,初次運行ES后便會自動生成,也可在config/elasticsearch.yml更改數據存放路徑

② 配置ES

使用vim打開elasticsearch.yml(關于vim的基本使用請自行學習)

cd /usr/local/elk/elasticsearch-6.7.1 vim config/elasticsearch.yml

這里只進行最基礎的配置,當然也可以使用ES默認的配置


③ 運行Elasticsearch

1) 前置操作

當我們在root用戶下啟動ES時,會有以下報錯:

這是出于系統安全考慮設置的條件。由于ElasticSearch可以接收用戶輸入的腳本并且執行,為了系統安全考慮,建議創建一個單獨的用戶用來運行ElasticSearch。
新用戶的密碼為:zhang2000

cd /usr/local/elk/ ls groupadd elk useradd elk-user -g elk passwd elk-user chown -R elk-user:elk elasticsearch-6.7.1/ cd elasticsearch-6.7.1/ ls -alh

2) 啟動ES

可以直接先改文件,跳轉至下面直接修改的標簽操作也可以
切換到elk-user用戶,進入bin文件夾,運行elasticsearch文件,后面的&表示后臺運行

su elk-user cd bin ./elasticsearch &

觀察到有WARN等問題,開始處理這些錯誤

先將這個elasticsearch進程殺死,上面進程號寫的是26127(隨機的,每個人的不一樣)
如果不知道也可以使用命令查看:

1.查找ES進程 ps -ef | grep elastic 2.殺掉ES進程 kill -9 26127(進程號)
直接修改
報錯里有 OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release. 這是垃圾處理器不建議使用了,我們換成UseU1GC

進入/usr/local/elk/elasticsearch-6.7.1/config將jvm.options文件稍作修改
將UseConcMarkSweepGC換成UseU1GC

vim /usr/local/elk/elasticsearch-6.7.1/config/jvm.options


對于

[2022-06-23T13:40:38,563][WARN ][o.e.b.BootstrapChecks ] [yn2OCgc] max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

vim里輸入i,左下角會顯示插入表示開始修改文件了,修改完成后輸入ESC鍵,然后輸入:wq回車就好了。
然后切換到root用戶下,使用vim修改/etc下的sysctl.conf文件

su root vim /etc/sysctl.conf

我的文件里是空的,所以加了過后有效行也只有一行

接著修改最后一個問題:

[2022-06-23T13:40:38,563][WARN ][o.e.b.BootstrapChecks ] [yn2OCgc] max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

先修改文件:

vim /etc/security/limits.conf

在文件中添加

* soft nofile 65536 * hard nofile 65536


然后重新登錄用戶:

su root

最后驗證是否生效

ulimit -H -n


現在再啟動ES:

su elk-user cd /usr/local/elk/elasticsearch-6.7.1/bin ./elasticsearch &


可以看到全是INFO只有一個WARN,經過搜索發現可以不用管。
再嘗試訪問本地的9200端口:

curl http://localhost:9200


輸出正確,最后查看進程號,并且關閉進程:
查看進程號:

ps -ef | grep elastic


可以看到進程號是7266,其實在你啟動ES的時候,輸出的第一條信息就是進程的PID,如下,所以是對應的

關閉進程號,再次查看:也可以等外網訪問完成了再關閉

kill -9 你的進程號(我的就是7266) ps -ef | grep elastic


可以看到進程已被殺死,剩下的仍在運行的是當前命令

3) 驗證ES外網是否可以訪問

curl 10.64.26.86:9200 每個人的地址不同,后面就是你的服務器地址加端口號9200


再在windows上試試訪問http://10.64.26.86:9200(前面的地址是自己的)
你會發現無訪問此網站,為什么呢?我們之前使用tomcat的時候做了一件什么事?
開啟防火墻,所以我們來試試

firewall-cmd --zone=public --add-port=9200/tcp --permanent systemctl restart firewalld.service

再次訪問http://10.64.26.86:9200/

成功啦

(4) Kibana部署:

① 解壓文件到 /usr/local/elk

首先進入elk目錄,再解壓:

cd /usr/local/elk tar -zxvf kibana-6.7.1-linux-x86_64.tar.gz -C /usr/local/elk

解壓需要一小會兒
Kibana重要目錄結構:

Bin包括kibana在內的啟動kibana服務和kibana-plugin來安裝插件的二進制腳本
Config包括kibana.yml的配置文件
Data由kibana和它的插件寫入磁盤的數據文件的位置
Optimize源碼編譯后的文件,瀏覽器實際訪問的資源
Plugins插件目錄
Node_modules第三方依賴庫

② 配置Kibana

使用vim打開kibana.yml

vim /usr/local/elk/kibana-6.7.1-linux-x86_64/config/kibana.yml

③ 運行Kibana

1) 啟動Kibana

進入kibana的bin文件夾

cd /usr/local/elk/kibana-6.7.1-linux-x86_64/bin ls


運行kibana

./kibana &

報了4個warning


一個error

warning不想改了,校園網斷了,睡了一晚第二天再啟動的時候error沒了,增加了個warning,查詢后發現無傷大雅…然后關了進程再啟動一次,這個warning也消失了…

2) 查看kibana是否正確運行:

ps -ef | grep kibana ps -ef | grep node netstat -tunlp | grep 5601


第一條命令檢查kibana是否啟動,顯然沒查詢到PID,第二條命令檢查node是否運行,顯然是在運行,由于kibana在node里運行,且使用5601端口,第三條命令說明Kibana已經在運行

3) 驗證Kibana外網是否可訪問

打開瀏覽器,輸入地址:x.x.x.x:5601(x.x.x.x是你部署kibana的服務器地址),如果顯示該頁面,則表示成功訪問。
顯然會失敗,為什么呢?(實驗指南上沒說開啟防火墻的端口,壞。
因為又忘記打開防火墻的5601端口了

firewall-cmd --zone=public --add-port=5601/tcp --permanent systemctl restart firewalld.service

設置后再次訪問:

點擊try our sample data,就有指導上的頁面了

(5) Logstash部署:

① 切換至部署個人項目的服務器,解壓文件到/usr/local/elk

cd /usr/local/elk tar -zxvf logstash-6.7.1.tar.gz -C /usr/local/elk


看一下目錄下有些啥

cd /usr/local/elk/logstash-6.7.1 ls


Logstash重要目錄結構:

Bin腳本程序
Config存放配置文件,包括logstash.yml
Data存放數據

② 配置logstash管道

在config文件夾中創建logstash.conf文件
可以

cd config ls vim logstash.conf

然后輸入

也可以在xftp里右鍵logstash-sample.conf用記事本編輯,然后復制里面的內容,接著右鍵空白處新建logstash.conf,然后粘貼。
當然最簡單的是直接不建。

③ 啟動logstash

先打開防火墻的5044端口:

firewall-cmd --zone=public --add-port=5044/tcp --permanent systemctl restart firewalld.service cd /usr/local/elk/logstash-6.7.1/bin

如果你新建了logstash.conf則使用下面一條命令:

./logstash -f ../config/logstash.conf &

如果沒有新建logstash.conf,則使用:

./logstash -f ../config/logstash-sample.conf &

后面的參數是管道配置文件,改變的就是管道配置文件名,其實內容都是一樣的

warning直接看不見,后面有一個WARN:Ignoring the ‘pipelines.yml’ file because modules or command line options are specified。
如果沒有指定logstash.conf(就是上面命令后面跟的參數文件)作為管道配置文件,logstash會默認讀取pipelines.yml作為管道配置文件,而我們沒有編輯pipelines.yml,會出現以下錯誤。(摘自實驗指南)

(6) Beats部署

在配置文件中設置輸出到logstash,所以output下面的elasticsearch全部注釋

① 解壓文件到/usr/local/elk

cd /usr/local/elk tar -zxvf filebeat-6.7.1-linux-x86_64.tar.gz -C /usr/local/elk tar -zxvf packetbeat-6.7.1-linux-x86_64.tar.gz -C /usr/local/elk tar -zxvf metricbeat-6.7.1-linux-x86_64.tar.gz -C /usr/local/elk

② 配置并部署filebeat

1) 配置filebeat

使用vim編輯filebeat.yml配置文件

cd /usr/local/elk/filebeat-6.7.1-linux-x86_64 vim filebeat.yml



注意:elasticsearch里的內容需要全部注釋,默認是有配置的

解釋如下:



2) 啟動filebeat

cd /usr/local/elk/filebeat-6.7.1-linux-x86_64 ./filebeat &

查看filebeat是否運行成功

ps -ef | grep beat

③ 配置并部署metricbeat

1) 配置metricbeat

cd /usr/local/elk/metricbeat-6.7.1-linux-x86_64 vim metricbeat.yml



2) 啟動metricbeat

啟動服務

./metricbeat &

查看是否啟動成功

ps -ef | grep beat

④ 配置并部署packetbeat

1) 配置packetbeat

cd /usr/local/elk/packetbeat-6.7.1-linux-x86_64 vim vim packetbeat.yml


2) 啟動packetbeat

./packetbeat & ps -ef | grep beat

4. 使用Kibana

(1) 訪問Kibana

對于我的本次實驗,即訪問http://10.64.26.86:5601

(2) 設置Index索引

進入Discover選項



點擊Create index pattern

(3) 查看數據

在這之前你必須確保你要使用的beat的服務是開著的

ps -ef | grep beat

如果沒有打開,可以到相應的文件夾下像之前那樣打開服務

① 切換索引查看接收到的數據



② 查看日志

本次演示配置采集日志文件如下圖所示:

我沒有配置mysql。

下面這個沒有配置:


點擊kibana左側菜單的Logs選項進入日志查詢界面。
在搜索框中輸入log.file.path:”想要查看的日志文件名”, 例如”/var/log/mysqld.log”。回車查詢即可搜索到匹配的日志文件內容進行查看。

打開服務器/var/log/mysqld.log文件驗證日志內容一致,即采集成功。

(4) 使用儀表盤

① 查看kibana提供的儀表盤加載是否成功

② 選擇適合的儀表盤進行查看

1) 使用metricbeat儀表盤


后面根據指南進行就好。

總結

以上是生活随笔為你收集整理的云计算上机实验二的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。