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