摘要:摘要本篇文章介紹了如何通過數(shù)人云部署一套標(biāo)準(zhǔn)的日志收集系統(tǒng)。主機添加完成后,檢查主機運行是否正常,如圖第二步,發(fā)布實例我們將通過數(shù)人云將的鏡像以模式部署到我們規(guī)劃的主機和上。
摘要:本篇文章介紹了如何通過數(shù)人云部署一套標(biāo)準(zhǔn)的 ELK 日志收集系統(tǒng)。第一步,將主機組織成集群;第二步,發(fā)布 ElasticSearch 實例;第三步,發(fā)布 Kibana 實例;第四步,發(fā)布 Logstash 實例到待收集日志的應(yīng)用 server ;第五步,快速擴展/減少 ElasticSearch , Kibana 實例數(shù)(可選)。
在具體介紹部署步驟前,讓我們先來了解下 ELK 是什么。 ELK 是 ElasticSearch+Logstash+Kibana 的縮寫, ElasticSearch 是一款基于 Lucene 的分布式搜索引擎,大名鼎鼎的 GitHub 就是由它提供的搜索。 Logstash 是一款分布式日志收集系統(tǒng),是一個應(yīng)用程序日志、事件的傳輸、處理、管理和搜索的平臺,可以用來統(tǒng)一對應(yīng)用程序日志進(jìn)行收集管理,提供 Web 接口用于查詢和統(tǒng)計。 Kibana 是一個基于瀏覽器頁面的 ElasticSearch 前端展示工具,內(nèi)置了各種查詢和聚合操作,并擁有圖形化展示功能。
我們知道,日志記錄了各種重要信息,如應(yīng)用程序的 log 記錄的 error,warn 級別的 log,在量小的情況下,我們當(dāng)然可以直接 vi+awk+sed+grep 定位原因,而當(dāng)數(shù)量非常大,且需要各種聚合或基于多個異常關(guān)鍵詞的組合搜索時,就是 ELK 大顯身手的地方!可以說, ELK 是運維界的明星,非常適合應(yīng)用級的實時監(jiān)控和核心服務(wù)預(yù)警。
下面就讓我們來看看如何通過數(shù)人云部署一套標(biāo)準(zhǔn)的 ELK 日志收集系統(tǒng)吧。
第一步, 將主機組織成集群首先,需要訪問 數(shù)人云 注冊并登錄系統(tǒng),然后進(jìn)入主機的準(zhǔn)備工作。假設(shè)有7臺主機,這些主機可以是連接互聯(lián)網(wǎng)的私有主機,也可以是阿里云、Ucloud、 AWS、Azure、首都在線、華為云等公有云上購買的任意一臺云主機。這7臺主機之間需要網(wǎng)絡(luò)互通并能夠訪問外網(wǎng)。7臺主機的規(guī)劃及配置信息如下:
然后,登錄賬戶,在集群管理中,點擊創(chuàng)建群組,填寫集群名稱( elk ),選擇 3 Master 集群,點擊完成。 添加主機后,如圖點擊右上角下拉菜單,選擇添加主機。
點擊已有主機下面的按鈕 Ubuntu 或者 CentOS ,填寫主機名稱,并在主機上根據(jù)"連接主機"的提示進(jìn)行操作。
選擇主機組件:前 3 臺主機( 10.3.10.9 [1-3] )為 Master 節(jié)點, 無可選組件;在添加主機 10.3.10.94 時需要將可選組件中的內(nèi)部代理勾選上。
登錄到將要添加的主機終端
`ssh ubuntu@10.3.10.91 `
安裝 Docker (若主機已安裝 Docker ,這步可跳過)
`curl -sSL https://get.docker.com/ | sh `
安裝 Agent :點擊頁面按鈕,點擊“生成命令”生成安裝命令并粘貼到主機終端運行。
`sudo -H OMEGA_ENV=prod bash -c "$(curl -Ls https://raw.githubusercontent.com/Dataman-Cloud/agent-installer/master/install-agent.sh)" -s 92a0c8b287d34445b03f8518ce688e66 `
按提示執(zhí)行以上兩步后,點擊"完成"即成功添加主機。
需要注意的是,由于數(shù)人云默認(rèn)將加入集群的前3臺機器作為 master 節(jié)點,為了符合前期規(guī)劃,請確保主機10.3.10.91, 10.3.10.92, 10.3.10.93 首先被加入到集群中。同時,向同一集群添加的主機應(yīng)存在于同一網(wǎng)段內(nèi),暫不支持跨公網(wǎng)的主機組建集群。此外,由于數(shù)人云在主機連接后會向主機上安裝基礎(chǔ)服務(wù),所以主機需要一段時間進(jìn)行初始化,依主機所處的網(wǎng)絡(luò)環(huán)境,主機初始化的時間有所不同。
主機添加完成后,檢查主機運行是否正常,如圖:
我們將通過數(shù)人云將 ES 的 Docker 鏡像以 HOST 模式部署到我們規(guī)劃的主機 10.3.10.95 和 10.3.10.96 上。具體操作如下:
選擇"應(yīng)用管理"中的"新建應(yīng)用",如圖:
新建 ES 應(yīng)用:
填寫應(yīng)用名稱: es
選擇集群:elk
添加應(yīng)用鏡像地址:index.shurenyun.com/dataman/jdk7-elasticsearch-1.4.5
填寫鏡像版本:2015112811
網(wǎng)絡(luò)模式:HOST 模式
主機選擇:10.3.10.95,10.3.10.96
容器目錄:容器內(nèi)的掛載目錄 /data/app/elasticsearch
主機目錄:主機上的掛載目錄 /data (該目錄是我們主機數(shù)據(jù)盤所在的目錄)
選擇容器規(guī)格: CPU:0.8 內(nèi)存:4096MB
容器個數(shù):2 并且勾選 1 容器: 1 主機
高級設(shè)置:
添加應(yīng)用地址:
* 應(yīng)用端口: 9200 * 類型: 對內(nèi) * 協(xié)議: TCP * 地址: 10.3.10.94:9998
環(huán)境變量
* Key: CLUSTERNAME * Value: dataman-es
環(huán)境變量
* Key: ZOOKEEPER_ADDRESS * Value: 10.3.10.91:2181,10.3.10.92:2181,10.3.10.93:2181
填寫完成后,點擊創(chuàng)建。 如圖:
第一次向集群部署 ES 時由于本地沒有 Docker 鏡像 index.shurenyun.com/dataman/jdk7-elasticsearch-1.4.5,集群需要大約 1-2 分鐘去拉取鏡像(可能更長時間)。我們可以在 ES 的應(yīng)用詳情頁看到相應(yīng)的狀態(tài),以及事件等。
第三步, 發(fā)布 Kibana 實例點擊新建應(yīng)用,新建 Kibana 應(yīng)用:
填寫應(yīng)用名稱: kibana
選擇集群:elk
添加應(yīng)用鏡像地址:index.shurenyun.com/dataman/kibana
填寫鏡像版本:4.1.4
網(wǎng)絡(luò)模式:網(wǎng)橋模式
選擇主機: ALL
容器規(guī)格: CPU:0.2 內(nèi)存:256 MB
容器個數(shù):1
高級設(shè)置:
應(yīng)用地址:
* 應(yīng)用端口: 5601 * 類型: 對內(nèi) * 協(xié)議: HTTP * 地址: http://10.3.10.94:5601
環(huán)境變量:
* KEY: ELASTICSEARCH_URL * VALUE: http://10.3.10.94:9998
注:Kibana 需要通過環(huán)境變量 ELASTICSEARCH_URL 來確定 ElasticSearch 的地址,由于添加主機時我們已經(jīng)設(shè)置內(nèi)部代理的節(jié)點為10.3.10.94,并且在添加 ES 應(yīng)用時將其端口映射到了內(nèi)部代理端口 9998 , 所以這里我們只需要設(shè)置 ELASTICSEARCH_URL=http://10.3.10.94:9998 即可使得 Kibana 發(fā)現(xiàn) ES 實例。
來到 Kibana 的應(yīng)用詳情頁,若應(yīng)用狀態(tài)為運行中即應(yīng)用已正常運行。
打開瀏覽器,訪問地址:http://10.3.10.94:5601(可能需要為你的瀏覽器設(shè)置內(nèi)網(wǎng)代理),看到如下頁面,則說明 kibana 應(yīng)用已經(jīng)成功運行。
點擊新建應(yīng)用,新建 Logstash 應(yīng)用:
填寫應(yīng)用名稱: logstash
選擇集群:elk
添加應(yīng)用鏡像地址:index.shurenyun.com/dataman/logstash
填寫鏡像版本:2.1
網(wǎng)絡(luò)模式:網(wǎng)橋模式
選擇主機: 10.3.10.97
注:由于上面我們假設(shè)應(yīng)用運行在了主機 10.3.10.97 上,所以這里我們限制 Logstash 在該主機上收集日志
主機/容器目錄
數(shù)據(jù)掛載目錄: /var/log/app
容器目錄: /var/log/app
注: 這里我們假設(shè)用戶的應(yīng)用(待采集日志的應(yīng)用)日志存儲在了主機目錄 /var/log/app 下面。
容器規(guī)格: CPU:0.3 內(nèi)存:256 MB
容器個數(shù):1
高級設(shè)置:
CMD:
`logstash -e "input { file { type => "linux-syslog" path => ["/var/log/app/*.log"]}} output { elasticsearch { hosts => "10.3.10.94:9998" }}"`
同樣,等待 1-2 分鐘后 Logstash 將被部署到應(yīng)用 server 上并且開始收集日志, 用戶可以通過訪問 Kibana 的頁面來發(fā)掘相應(yīng)的日志信息。
第五步, 快速擴展/減少 ElasticSearch, Kibana 實例數(shù)(可選)為了提高集群的資源利用率,我們可能需要根據(jù)負(fù)載來擴展或者減少 ElasticSearch , Kibana 等的實例數(shù),在數(shù)人云的應(yīng)用列表頁或者應(yīng)用詳情頁, 點擊擴展按鈕,即可快速調(diào)整相應(yīng)應(yīng)用的實例數(shù)。
通過前面的五步實戰(zhàn),大家都嘗試了用數(shù)人云去部署 ELK 系統(tǒng),總結(jié)來說,使用數(shù)人云去部署 ELK 主要有三大優(yōu)勢:第一,部署方便: 用戶的應(yīng)用無需任何改造,只需要提供日志的存儲目錄;第二,可擴展: 如果日志存儲端( ElasticSearch )需要添加更多的實例, 用戶只需要向集群中添加更多的機器, 并在應(yīng)用列表頁點擊擴展相應(yīng)的 ELK 即可;第三,安全: 用戶應(yīng)用的所有日志數(shù)據(jù)都存儲在了集群內(nèi)網(wǎng)的 ES 服務(wù)集群中。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/25161.html
摘要:馬拉松會匹配每個和提供的資源,然后通過將任務(wù)下發(fā)下去。對外暴露的就是負(fù)載均衡的某個服務(wù),后面自動將流量轉(zhuǎn)發(fā)到某個容器的端口上。還有一直辦法是用內(nèi)網(wǎng)的,這個會維護(hù)現(xiàn)有的容器列表端口,并且返回任意一個的端口,頁實現(xiàn)了負(fù)載均衡和服務(wù)發(fā)現(xiàn)功能。 演講嘉賓 數(shù)人云COO 謝樂冰 在德國工作十年,回國后加入惠普電信運營商部門,擁有多年項目經(jīng)驗和創(chuàng)業(yè)公司工作經(jīng)驗。在數(shù)人云負(fù)責(zé)產(chǎn)品售前和運營,專注行...
摘要:平臺上的微服務(wù)架構(gòu)應(yīng)用再來看一下我眼中的基于當(dāng)前最流行的微服務(wù)架構(gòu)的設(shè)計是什么樣的,即我們平臺上要運行的典型應(yīng)用是什么樣的。 showImg(https://segmentfault.com/img/remote/1460000010900878); 8月19日的數(shù)人云Container Meetup上,張龍老師做了《基于Kubernetes的PaaS平臺的設(shè)計和思考》的精彩分享,分別...
摘要:在谷歌不是這樣,谷歌不會把特定的應(yīng)用裝在某臺服務(wù)器上,業(yè)務(wù)應(yīng)用和服務(wù)器的強綁定對于谷歌這種量級的數(shù)據(jù)中心的維護(hù)難度太高了。但是金融機構(gòu)的數(shù)據(jù)中心規(guī)模不像谷歌這么大,所以能做到業(yè)務(wù)應(yīng)用和硬件的強綁定。 復(fù)雜的基礎(chǔ)IT架構(gòu)是傳統(tǒng)金融的現(xiàn)狀,如何快速響應(yīng)用戶需求,加快新業(yè)務(wù)上線速度,縮短產(chǎn)品的迭代周期? 數(shù)人云在容器落地金融云的2年實踐中,實現(xiàn)金融核心業(yè)務(wù)技術(shù)WebLogic、J2EE、Or...
摘要:新一代也有輕量的特性,介紹谷歌的輕量特性,應(yīng)用要具有彈性要分布發(fā)布,再一個容錯性強易于維護(hù),也要對計算資源故障進(jìn)行容錯。 5月18日,第八屆中國云計算大會在北京國家會議中心召開。作為領(lǐng)先的云計算創(chuàng)新技術(shù)實踐者,數(shù)人云CEO王璞博士應(yīng)邀出席并在全體大會上進(jìn)行主題為中美容器之融合與變革的分享,以下是演講實錄: 容器VS虛擬化 showImg(https://segmentfault.com...
摘要:詳細(xì)請見產(chǎn)品價格產(chǎn)品概念使用須知名詞解釋漏洞修復(fù)記錄集群節(jié)點配置推薦模式選擇產(chǎn)品價格操作指南集群創(chuàng)建需要注意的幾點分別是使用必讀講解使用需要賦予的權(quán)限模式切換的切換等。UK8S概覽UK8S是一項基于Kubernetes的容器管理服務(wù),你可以在UK8S上部署、管理、擴展你的容器化應(yīng)用,而無需關(guān)心Kubernetes集群自身的搭建及維護(hù)等運維類工作。了解使用UK8S為了讓您更快上手使用,享受UK...
閱讀 2792·2023-04-25 17:33
閱讀 809·2021-11-23 09:51
閱讀 3148·2021-07-30 15:32
閱讀 1587·2019-08-29 18:40
閱讀 2121·2019-08-28 18:19
閱讀 1613·2019-08-26 13:48
閱讀 2401·2019-08-23 16:48
閱讀 2433·2019-08-23 15:56