在Linux上面部署ELK

注明:一下的軟件需要自己準備

一、準備環境:

1.兩臺elasticsearch主機4G內存

2.兩臺elasticsearch配置主機名node1和node2(可以省略)

#vim? /etc/hostname

#reboot

3. 兩臺elasticsearch配置hosts文件

#vim? /etc/hosts

192.168.1.1? node1

192.168.1.2? node2

4.檢查java環境

#java? -version

5.關閉防火墻和selinux

6.利用ping測試,分別ping兩個主機的名,看是否可以通

二、部署elasticsearch

以下前五步,在兩個es上都要做,只是節點名不一樣,es1位node1,es2為node2

1.安裝elasticsearch(在兩臺主機上都要安裝)

#rpm? -ivh? /mnt/elasticsearch-5.5.0.rpm

#systemctl? daemon-reload

#systemctl? enable elasticsearch

2.更改elasticsearch主配置文件(配置都有修改即可 )

#vim /etc/elasticsearch/elasticsearch.yml

cluster.name: my-application?? //群集名字

node.name: node1? //節點名字

path.data: /data/elk_data? //數據存放路徑

path.logs: /var/log/elasticsearch? //日志存放路徑

bootstrap.memory_lock: false? //在啟動時不鎖定內存,可以提高性能

network.host: 0.0.0.0?? //監聽地址0.0.0.0代表所有

http.port: 9200?????? //監聽端口

discovery.zen.ping.unicast.hosts: ["node1", "node2"]? //群集發現通過單播實現

3.創建數據存放路徑并授權

#mkdir? -p? /data/elk_data?

#chown? elasticsearch:elasticsearch?? /data/elk_data? 將/data/elk_data目錄的歸屬更改為elasticsearch

4.啟動elasticsearch并查看是否啟動成功(可能需要重啟系統)

#systemctl? start? elasticsearch

# netstat -anpt|grep 9200

tcp6?????? 0???? ?0 :::9200???????? :::*?????? LISTEN????? 1018/java

5.在客戶機上查看節點信息

Node1節點1的信息

Node2節點1的信息

查看群集是否健康

查看群集的狀態

三、在es1上安裝elasticsearch-head插件

注:es-head是es的web前端工具,可以更直觀方便的管理es集群,在es5.0后需要做為獨立服務進行安裝,需要npm命令,安裝es-head需要提前安裝node和phantomjs,node是一個基于chrome v8引擎的javascript運行環境,而phantomjs是一個基于webkit的javascriptAPI,可以理解為一個隱形的瀏覽器

(1)安裝node 大約需要40分鐘時間

#tar zxf? /mnt/node-v8.2.1.tar.gz -C /usr/src?? //解壓的目錄不能有中文路徑

# cd? /usr/src/node-v8.2.1/

#./configure&&make&&make install

(2)安裝phantomjs

#tar? xvjf? /mnt/phantomjs-2.1.1-linux-x86-64.tar.bz2 -C? /usr/src

#cd? /usr/src/phantomjs-2.1.1-linux-x86_64/bin

#cp? phantomjs? /usr/local/bin

(3)安裝elasticsearch-head

# tar zxf? /mnt/elasticsearch-head.tar.gz? -C? /usr/src

#cd? /usr/src/elasticsearch-head/

#npm? install? //安裝依賴包

(4)修改elasticsearch主配置文件

#vim? /etc/elasticsearch/elasticsearch.yml

http.cors.enabled: ?true?? //增加? 開啟跨域訪問支持,默認為false

http.cors.allow-origin: ?"*"? //增加? 跨域訪問允許的域名地址 即在es head中訪問es

# systemctl restart? elasticsearch.service

(5)啟動es-head服務(必須在elasticsearch-head目錄下啟動):監聽端口為tcp 9100

[root@node4 elasticsearch-head]# npm run start & //前臺啟動,一旦關閉中斷,服務也將隨之關閉

(6)通過elasticsearch-head查看elasticsearch信息,發現索引為空

(7)插入索引。通過命令插入一個測試索引,通過輸出信息可以看到索引為index-demo,類型為test(此步完全是為了驗證可以省略)

# curl? -XPUT? 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'

{

? "_index" : "index-demo",

? "_type" : "test",

? "_id" : "1",

? "_version" : 1,

? "result" : "created",

? "_shards" : {

??? "total" : 2,

??? "successful" : 2,

??? "failed" : 0

? },

? "created" : true

}

四、在node1上安裝kibana

1.安裝kibana

# rpm? -ivh? /mnt/kibana-5.5.1-x86_64.rpm

# systemctl enable? kibana

2.設置kibana的主配置文件/etc/kibana/kibana.yml(默認存在配置,去掉注釋)

server.port: 5601??????????????????????????? ?? //kibana打開的監聽端口

server.host: "0.0.0.0"???????? //kibana監聽的地址

elasticsearch.url: http://192.168.1.1:9200? ?與elasticsearch建立連接

kibana.index: ".kibana"?? //在es中添加.kibana索引

3.啟動kibana服務:監聽端口為tcp5601

# systemctl? start? kibana

4.在客戶機訪問kibana驗證kibana

???

五、在apache上安裝并配置logstash,收集apache的訪問和錯誤日期,并將其發送給elashticsearch服務器

將apache服務器的日志添加到elasticsearch并通過kibana顯示

1.準備工作,安裝httpd

#yum? -y ?install ?httpd

2.啟動httpd

#systemctl? restart? httpd

3.在客戶機上訪問httpd

4.在apache服務器上安裝logstash,以便將收集到的日志發送到elasticsearch中

#rpm? -ivh? /mnt/logstash-5.5.1.rpm

#systemctl? daemon-reload

#systemctl? enable? logstash

5.編寫logstash配置文件apache_log.conf

# vim? /etc/logstash/conf.d/apache_log.conf

input {??????

?file{

??????????????? path => "/etc/httpd/logs/access_log"? //收集apache的訪問日志

??????????????? type => "access"?? //指定日志類型為access(訪問日志),可以自定義

??????????????? start_position => "beginning"? //從日志開始處收集

?}

?file{

??????????????? path => "/etc/httpd/logs/error_log"? //收集apache的錯誤日志

??????????????? type => "error"??????? //指定日志類型為error(錯誤日志),可以自定義

??????????????? start_position => "beginning"? //從日志開始處收集

?}

}

output {

??????? if [type] == "access" {???????? //如果類型為access,即apache訪問日志

??????????????? elasticsearch {????? ???//輸出到elasticsearch

????????????????? ??????hosts => ["192.168.1.1:9200"]? //es服務器監聽地址及端口

??????????????????????? index => "apache_access-%{+YYYY.MM.dd}" //指定索引格式

??????????????????????? }

?? }

??????? if [type] == "error" {? ?//如果類型為error,即apache錯誤日志

??????????????? elasticsearch {?? //輸出到elasticsearch

??????????????????????? hosts => ["192.168.1.1:9200"]? ?//es服務器監聽地址及端口

??????????????????????? index => "apache_error-%{+YYYY.MM.dd}" ?//指定索引格式

??????????????????????? }

?? }

? }

6.啟動logstash并加載配置文件

# /usr/share/logstash/bin/logstash? -f? /etc/logstash/conf.d/apache_log.conf

7.通過瀏覽器訪問http://192.168.1.1:9100查看索引是否創建

六、在apache服務器上,通過修改logstash配置文件,讓其收集系統日志/va/log/messages,并將其輸出到elasticsearch中(視需要)

# chmod? o+r? /var/log/messages

# vim /etc/logstash/conf.d/system.conf

input {

??????? file{

??????????????? path => "/var/log/messages"

??????????????? type => "system"

??????????????? start_position => "beginning"

??????? }

?}

output {

??????? elasticsearch {

??????? hosts => ["192.168.1.1:9200"]

??????? index => "system-%{+YYYY.MM.dd}"

}

七、在es1上配置kibana

1.在客戶機上登錄kibana

2.點擊+create? index? pattern添加apache_access索引和apache_error索引

輸入索引關鍵字

3.選擇Discover選項卡,在中間下拉列表中選擇剛添加的apache_access-*索引,可以查看相應的圖表及日志信息

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

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

相關文章

RTMP低延遲推流

人總是需要壓力才能進步, 最近有個項目, 需要我在RK3568上, 推流到公網, 最大程度的降低延遲. 廢話不多說, 先直接看效果: 數據經過WiFi發送到Inenter的SRS服務器, 再通過網頁拉流的. 因為是打金任務, 所以逼了自己一把, 把RTMP推流好好捋一遍. 先說說任務目標, 首先是MPP編碼…

【Altium】AD-檢查原理圖中元器件未連接的Passive Pin

1、 文檔目標 如何讓原理圖編譯時找出元器件上未連接的Passive Pin 2、 問題場景 當引腳屬性(Pin type)為passive時,原理圖編譯的默認規則是不會去檢查它們是否有連接的。在實際設計過程中,經常會有導線虛連,漏連的事…

醫療傳感器種類不斷增多 市場規模逐漸擴大

醫療傳感器種類不斷增多 市場規模逐漸擴大 醫療傳感器是將人體的生理信息轉換為電信息的變換裝置。醫療傳感器具有高靈敏度、高精度、實時監測等優點,可以檢測佩戴者的心率、呼吸頻率、活動量等,從而更加準確地了解身體情況。   經過多年發展&#…

【極簡】docker常用操作

鏡像images是靜態的 容器container是動態的,是基于鏡像的,類似于一個進程。 查看docker images: docker images 或者docker image ls 查看docker container情況:docker ps -a,-a意思是--all 運行一個container: doc…

MySQL not in不等于找不到null的數據

在使用MySQL的NOT IN語句時,如果找不到NULL值,可能是因為NULL值在比較中具有特殊性質。NULL值不等于任何其他值,包括它自己。因此,使用NOT IN語句時,如果列表中包含NULL值,則查詢不會返回任何結果。 解決此…

有意思的數組

var nums [1,2,3,6] const nums1 [6, 8, 7, 10, 9];/* 數組合并————push */ var n nums.push(...nums1); // 將列表 nums1 拼接到 nums 之后 n //n會是nums的長度 > 9 nums //也push了 > (9) [1, 2, 3, 6, 6, 8, 7, 10, 9]/* 數組合并————concat*/ var arr0…

數字水印 | 奇異值分解 SVD 的 Python 代碼實現

🥑原理:數字水印 | 奇異值分解 SVD 的定義、原理及性質 🥑參考:Python 機器學習筆記:奇異值分解(SVD)算法 正文 對于一個圖像矩陣,我們總可以將其分解為以下形式: 通過…

使用API有效率地管理Dynadot域名,默認將域名隱形轉發至其他界面

關于Dynadot Dynadot是通過ICANN認證的域名注冊商,自2002年成立以來,服務于全球108個國家和地區的客戶,為數以萬計的客戶提供簡潔,優惠,安全的域名注冊以及管理服務。 Dynadot平臺操作教程索引(包括域名郵…

英譯漢早操練-(十九)

hello,are you OK? 生活如此美好,周四了,你還好嗎?堅持了快一周了,是不是最后沖刺一把就開啟周末的美好生活了。 今天我們學習這篇經濟學人文章: 題目是:Banks, at least, are making money from a turbul…

【大模型微調】一文掌握7種大模型微調的方法

本篇文章深入分析了大型模型微調的基本理念和多樣化技術,細致介紹了LoRA、適配器調整(Adapter Tuning)、前綴調整(Prefix Tuning)等多個微調方法。詳細討論了每一種策略的基本原則、主要優點以及適宜應用場景,使得讀者可以依據特定的應用要求和計算資源限…

Linux | VMware安裝鏡像指南(Windows、IOS、麒麟)

文章目錄 虛擬機安裝推薦 虛擬機安裝推薦 macOS系統:macOS虛擬機安裝全過程(VMware)麒麟系統:麒麟系統虛擬機安裝(VMware)VMtools工具解決方案: [第一步](https://blog.csdn.net/weixin_421187…

openGauss一主兩備集群異常斷電后不能正常啟動的解決過程簡記

背景 因異常斷電后opengauss 5.0.0版本,一主兩備集群啟動失敗。 報錯不是主機,由于當時沒有截圖,查看日志后發現報錯是: 定位過程 Day1 1. 嘗試用另外兩臺機器啟動每臺機器 發現都報錯自己不是主機,像極了唐僧被妖…

【算法刷題day55】Leetcode:583. 兩個字符串的刪除操作、72. 編輯距離

文章目錄 Leetcode 583. 兩個字符串的刪除操作解題思路代碼總結 Leetcode 72. 編輯距離解題思路代碼總結 草稿圖網站 java的Deque Leetcode 583. 兩個字符串的刪除操作 題目:583. 兩個字符串的刪除操作 解析:代碼隨想錄解析 解題思路 dp數組的含義是&a…

哪款桌面便簽app能幫助我提升工作效率

作為上班族,我們每天都要處理大量的工作事項,從策劃方案到處理郵件,每一個環節都需高效且有條不紊。在這樣的工作環境下,提升效率顯得尤為重要。而選擇一款優秀的桌面便簽app,無疑是提高工作效率的關鍵。 桌面便簽app…

【數據結構】數據結構大匯總 {數據結構的分類總結:定義和特性、實現方式、操作與復雜度、適用場景、相關算法、應用實例}

一、線性結構 1.1 順序表 定義和特性:順序表是一種線性表的存儲結構,它采用一段地址連續的存儲單元依次存儲線性表中的元素。順序表具有隨機訪問的特性,即可以通過元素的下標直接訪問元素。 實現方式:順序表可以通過數組來實現&…

基于51單片機的非接觸式無線紅外測溫

基于51單片機的無線紅外測溫 (程序+原理圖+設計報告) 功能介紹 具體功能: 1.采用紅外溫度傳感器測溫并用LCD1602顯示; 2.按鍵為啟動按鍵、保存按鍵、顯示數據按鍵,可以實現對溫度數值的控制…

【制作100個unity游戲之26】unity2d橫版卷軸動作類游戲6(附帶項目源碼)

最終效果 系列導航 文章目錄 最終效果系列導航前言敵人動畫配置撞墻判斷敵人基本AI邏輯實現 野豬受傷死亡死亡敵人死亡時,還是會對人物產生傷害有限狀態機&抽象類多態 定義不同狀態的敵人行為防止野豬在懸崖掉下去野豬的追擊狀態的轉換敵人主動查找玩家 追擊狀態…

基于微信小程序+JAVA Springboot 實現的【智慧鄉村旅游服務平臺】app+后臺管理系統 (內附設計LW + PPT+ 源碼+ 演示視頻 下載)

項目名稱 項目名稱: 基于微信小程序的智慧鄉村旅游服務平臺的設計與實現 項目技術棧 該項目采用了以下核心技術棧: 后端框架/庫: Java SSM框架數據庫: MySQL前端技術: 微信開發者工具、uni-app其他技術&#xff1a…

8B10B編碼(高速收發器五)

1、8B10B解決的問題 8B10B編碼是1983年IBM公司提出的傳輸編碼標準,通常用于高速收發器中,常見的JESD204B、SATA等接口協議,使用查表就可以實現編碼和解碼。 在這些高速收發器的接收端需要通過CDR技術去恢復時鐘與數據的相位關系,在…

Linux day6 yum下載,systemctl,

yum命令 yum [-y] install wget 通過yum下載wget小工具 -y的意思是,如果有詢問,自動確認(總是允許)。 yum remove wget 也可以通過這種方式卸載wget