配置三臺服務器組成的ELK集群(二)

上一篇里主要是介紹了ES和ES-Head的安裝過程,這一篇繼續介紹ELK集群的其他核心組件安裝過程。

五、安裝Logstash:

本案的Logstash安裝在10.113.130.117上;燃鵝,Logstash也可以利用多臺組成集群,如果未來單臺處理不過來,可以把Logstash擴展到其他服務器上。

將logstash.tar.gz解壓到指定目錄:

# tar -zxvf logstash-5.4.1.tar.gz -C /opt/ # mv /opt/logstash-5.4.1/ /opt/logstash/

logstash三種啟動方式,靠參數進行選擇:-e sting類型啟動,-f 指定配置文件啟動,服務啟動。

但我們沒有通過yum安裝,暫時無法以服務方式啟動——需要編寫啟動腳本。?

創建簡單的配置文件:

# cd /opt/logstash/config
# cp sample.conf es-cluster.conf # vim /opt/logstash/config/es-cluster.conf
#參考下面的配置信息,Logstash啟動后讀取/var/log/messages的文件內容
input{file{start_position => "beginning"path => ["/var/log/messages "]type => 'messagelog'}
}#然后將文件內容發送給ElasticSearch的目標服務器
output{ elasticsearch { hosts => ["10.113.130.116:9200"] } }

完成配置修改后,先啟動logstash,看一下運行情況:

# /opt/logstash/bin/logstash -f /opt/logstash/config/es-cluster.conf &#如果看到如下信息,表示啟動成功:
[INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>[#<URI::Generic:0x5f86b37e URL://10.113.130.116:9200>]}
[INFO ][logstash.pipeline] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
[INFO ][logstash.pipeline] Pipeline main started
[INFO ][logstash.agent] Successfully started Logstash API endpoint {:port=>9600}

?

六、安裝FileBeats

當Logstash安裝完成后,要實現從應用服務器上收集日志的工作,這個工作如果使用Logstash來執行,也是沒有問題的。

在應用服務器上,按照以上安裝Logstash的操作和配置就可以達到目的;但是Logstash安裝繁瑣,而且如果僅僅作為收集日志的代理,未免太重。

?因此選擇官方推薦的FileBeats作為勤勞的工蜂,實現指定文件的掃描、文件內容的收集和發送工作。

?讓我們看看是不是在5分鐘內能完成FileBeats的安裝配置吧:

# curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.1-x86_64.rpm
# rpm -vi filebeat-5.4.1-x86_64.rpm

修改配置文件:

# vim /etc/filebeat/filebeat.yml 

filebeat.prospectors: - input_type: log paths:
- /ane/tomcat/logs/*.log
#- /ane/tomcat/logs/*.out
input_type: log #----------------------------- Logstash output --------------------------------

output.logstash:# The Logstash hostshosts: ["10.113.130.117:5044"]worker: 4

配置了日志輸出到Logstash之后,建議注釋掉輸出到Elasticsearch的部分。

?啟動FileBeats:

 - For CentOS:
# systemctl start filebeat- For Redhat 6.5# service filebeat start

如果采用了FileBeat收集日志文件,則可以關閉Logstath的文件讀取,從指定的端口讀取數據流。

登錄到Logstash的服務器(10.113.130.117),修改Logstash的配置文件為如下內容:

# vim /opt/logstash/config/es-cluster.conf

input{stdin{}beats{port => 5044}
}output{elasticsearch {hosts => ["10.113.130.116:9200"]index => "logstash-%{+YYYY.MM.dd}"document_type => "%{[@metadata][type]}"}
}

修改完以后,重啟Logstash。

請注意一個細節:logstash-%{+YYYY.MM.dd},不能寫成{+YYYY.MM.DD},不然第二天以后的日期顯示不正確!下面展示寫錯的情況:

上面圖中的logstash-2017.06.170,是6月18日的日志文件的匯總標題。前一天(17日)是正確的,次日就這樣了。

?

七、安裝Kibana

Kibana安裝在10.113.130.118上。從官網下載Kibana.tar.gz,解壓到/opt目錄下:

# tar -zxvf kibana-5.4.0-linux-x86_64.tar.gz -C /opt/# mv /opt/kibana-5.4.0-linux-x86_64 /opt/kibana/
# cd /opt/
# chown -R elasticsearch:elasticsearch kibana

修改配置文件

# cd kibana/
#
vim config/kibana.yml#修改如下選項: Server.port: 5601 Server.host: “0.0.0.0” Elasticsearch.url: “10.113.130.116:9200” Kibana.index: “.kibana” Pid.file: /var/run/kibana.pid

由于kibana文件夾的所有者為Elsticsearch,運行也要以elsticsearch用戶身份。

與Elsticsearch的處理方式類似,創建啟動腳本:

# vim kibana-start.sh
su - elasticsearch -c "nohup /opt/kibana/bin/kibana> /dev/null 2>&1 &"# chmod +x kibana-start.sh
# mv kibana-start.sh /usr/local/bin

#kibana-start.sh

Kibana啟動以后,在瀏覽器輸入http://10.113.130.118:5601,可以看到如下頁面:

?

?

八、安裝ElasticHD

ElasticHD 是一款 ElasticSearch的可視化應用。不依賴ES的插件安裝,更便捷;導航欄直接填寫對應的ES IP和端口就可以操作ES了。目前支持如下功能:

  • ES 實時搜索
  • ES DashBoard 數據可視化
  • ES Index Template (在線修改、查看、上傳)
  • SQL Converts to DSL
  • ES 基本查詢文檔

?詳見:https://github.com/farmerx/elasticHD/wiki

?

登錄到第一臺服務器(10.113.130.116),下載對應的elasticHD版本,上傳到服務器:

# unzip xxx_elasticHd_xxx.zip
# mv ElasticHD /opt/
# chmod 777 ElasticHD

可指定ip端口運行elastichd

# /opt/ElasticHD -p 10.113.130.116:9800 &

同樣,推薦將上方的啟動命令,制作成啟動腳本eshd-start.sh,并移動到/usr/local/bin/目錄下,可直接執行。

安裝成功后,在瀏覽器輸入配置的地址和端口,看到如下畫面:?

?

?

轉載于:https://www.cnblogs.com/JasonMa1980/p/7222143.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/281289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/281289.shtml
英文地址,請注明出處:http://en.pswp.cn/news/281289.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Discuz X3.2源碼解析 discuz_application類(轉自百度)

discuz_application在/source/class/discuz/discuz_application.php中。 discuz_application繼承自抽象類discuz_base discuz_application主要實現對運行環境、配置、輸入、輸出、數據庫、設置、用戶、session、移動模塊、計劃任務、手機預覽等方面的初始化。 instance()函數來…

.NET性能優化-是時候換個序列化協議了

計算機單機性能一直受到摩爾定律的約束&#xff0c;隨著移動互聯網的興趣&#xff0c;單機性能不足的瓶頸越來越明顯&#xff0c;制約著整個行業的發展。不過我們雖然不能無止境的縱向擴容系統&#xff0c;但是我們可以分布式、橫向的擴容系統&#xff0c;這聽起來非常的美好&a…

Kubernetes-基于Helm安裝部署高可用的Redis

1、Redis簡介 Redis是一個開放源代碼&#xff08;BSD許可證&#xff09;的代理&#xff0c;其在內存中存儲數據&#xff0c;可以代理數據庫、緩存和消息。它支持字符串、散列、列表、集合和位圖等數據結構。Redis 是一個高性能的key-value數據庫&#xff0c; 它在很大程度改進了…

Vue 深度監聽和初始綁定

vue的監聽屬性普通方式無法監聽對象內部屬性的改變&#xff0c;并且初始化時不會監聽數據對象。 vue為監聽屬性提供了一種對象方法 watch: {option.size: {// handler為默認執行的方法handler (newValue, oldValue) {this.size newValue}&#xff0c;// 立即執行handler方法…

markdown流程圖畫法小結

markdown流程圖畫法小結markdown畫圖流程圖 最簡單的流程圖為例mermaid! graph TD A --> B //在沒有(),[].{}等括號的情況之下&#xff0c;圖標默認名字就是字母 A --> C C --> D B --> D 給圖標添加名字&#xff0c;改變只有矩陣圖形&#xff0c;在箭頭上添加文字…

hihocoder 1689 - 推斷大小關系(圖論+二分)

題目鏈接 https://vjudge.net/problem/HihoCoder-1689有N個整數A1, A2, ... AN&#xff0c;現在我們知道M條關于這N個整數的信息。每條信息是&#xff1a;Ai < Aj 或者 Ai Aj 小Hi希望你能從第一條信息開始依次逐條處理這些信息。一旦能推斷出A1和AN的大小關系就立即停止。…

32歲京東畢業程序員,走投無路當了外企外包,閑得心里發慌,到點下班渾身不自在!...

??當一位京東程序員進入外企當外包會怎么樣&#xff1f;順利躺平&#xff0c;實現wlb&#xff08;工作生活平衡&#xff09;嗎&#xff1f;未必&#xff0c;因為人是一種很奇怪的動物。這位網友說&#xff1a;32歲京東畢業程序員&#xff0c;找了幾個月工作一直沒有合適的&am…

SpringBoot+Shiro學習(四):Realm授權

上一節我們講了自定義Realm中的認證&#xff08;doGetAuthenticationInfo&#xff09;&#xff0c;這節我們繼續講另一個方法doGetAuthorizationInfo授權 授權流程 流程如下&#xff1a; 首先調用Subject.isPermitted/hasRole接口&#xff0c;其會委托給SecurityManager&#x…

Git放棄文件修改

已提交 # 撤銷提交&#xff0c;保留修改內容 git reset <commit_id># 撤銷提交&#xff0c;不保留修改內容 git reset --hard <commit_id>已暫存文件 # 撤銷單個文件暫存 git reset HEAD <filename># 撤銷所有文件/文件夾暫存 git reset HEAD .已跟蹤未暫存…

[LeetCode][Java] Unique Paths II

題目&#xff1a; Follow up for "Unique Paths": Now consider if some obstacles are added to the grids. How many unique paths would there be? An obstacle and empty space is marked as 1 and 0 respectively in the grid. For example, There is one obst…

lua windows下編譯

從Lua5.1開始官方給出的文件只有源代碼和makefile文件了&#xff0c;官網給出的bulid方式也是在linux平臺&#xff0c;如果只是想找個庫使用下可以到這里來下載&#xff1a;http://joedf.ahkscript.org/LuaBuilds/ &#xff0c;如果需要自定修改庫配置的話&#xff0c;就需要自…

XAML 創建瀏覽器應用程序

XAML 創建瀏覽器應用程序XAML 創建瀏覽器應用程序作者&#xff1a;WPFDevelopersOrg - 驚鏵原文鏈接&#xff1a;https://learn.microsoft.com/zh-cn/dotnet/desktop/wpf/app-development/wpf-xaml-browser-applications-overview?viewnetframeworkdesktop-4.8框架使用.NET40&…

Git 合并分支選項 --squash 合并提交歷史

git merge --squash <branchname>--squash選項的含義是&#xff1a;本地文件內容與不使用該選項的合并結果相同&#xff0c;但是不提交、不移動HEAD&#xff0c;因此需要一條額外的commit命令。其效果相當于將another分支上的多個commit合并成一個&#xff0c;放在當前分…

Kubernetes共享使用Ceph存儲

目錄 簡要概述環境測試結果驗證簡要概述 Kubernetes pod 結合Ceph rbd塊設備的使用&#xff0c;讓Docker 數據存儲在Ceph,重啟Docker或k8s RC重新 調 度pod 不會引起數據來回遷移。 工作原理無非就是拿到ceph集群的key作為認證&#xff0c;遠程rbdmap映射掛載使用。那么就要啟用…

在Activity不可見時暫停WebView的語音播放,可見時繼續播放之前的語音

private AudioManager mAudioManager;private AudioManager.OnAudioFocusChangeListener mFocusChangeListener; Override protected void onPause() {   super.onPause();   stopPlayVoice(); } Override protected void onResume() {   super.onResume();   startPla…

MFC界面庫BCGControlBar v25.3新版亮點:Dialogs和Forms

2019獨角獸企業重金招聘Python工程師標準>>> 親愛的BCGSoft用戶&#xff0c;我們非常高興地宣布BCGControlBar Professional for MFC和BCGSuite for MFC v25.3正式發布&#xff01;新版本添加了對Visual Studio 2017的支持、增強對Windows 10的支持等。接下來幾篇文…

基于 .NET 7 的 QUIC 實現 Echo 服務

前言隨著今年6月份的 HTTP/3 協議的正式發布&#xff0c;它背后的網絡傳輸協議 QUIC&#xff0c;憑借其高效的傳輸效率和多路并發的能力&#xff0c;也大概率會取代我們熟悉的使用了幾十年的 TCP&#xff0c;成為互聯網的下一代標準傳輸協議。在去年 .NET 6 發布的時候&#xf…

php.ini-development和php.ini-production的區別

使用zip版MySQL安裝時&#xff0c;需要將php.ini-development或php.ini-production改成php.ini&#xff0c;那么php.ini-development和php.ini-production的區別在哪兒呢&#xff0c;通俗的說法時&#xff0c;development是開發環境&#xff0c;production用于生產環境&#xf…

Server.MapPath()的用法

http://blog.csdn.net/qiuhaifeng_csu/article/details/19416407 Server.MapPath(string path)作用是返回與Web服務器上的指定虛擬路徑相對應的物理文件路徑。其參數path為Web 服務器的虛擬路徑&#xff0c;返回結果是與path相對應的物理文件路徑。但有時參數并非為虛擬路徑&a…

為什么阿里巴巴禁止把SimpleDateFormat定義為static類型的?

在日常開發中&#xff0c;我們經常會用到時間&#xff0c;我們有很多辦法在Java代碼中獲取時間。但是不同的方法獲取到的時間的格式都不盡相同&#xff0c;這時候就需要一種格式化工具&#xff0c;把時間顯示成我們需要的格式。 最常用的方法就是使用SimpleDateFormat類。這是一…