ELK redis訊息佇列,防止資料丟失

2021-10-10 15:56:05 字數 3080 閱讀 9267

準備工作:

這裡我準備了3臺虛擬機器: ip

----

----

----

--部署的服務

192.168

.131

.80--

-elasticsearch,kibana

192.168

.131

.81--

-logstash,redis

192.168

.131

.82--

-logstash

工作流程:

1、 .82的logstash 獲取日誌資訊傳送到 .81 的redis上

1、 .81 redis在此處的作用是防止elasticsearch服務異常導致丟失日誌,提供訊息佇列的作用

3、 .81 的logstash是讀取redis中的日誌資訊傳送給 .80 的elasticsearch

4、 .80 的elasticsearch提供日誌儲存和檢索

5、 .80 的kibana是elasticsearch視覺化介面外掛程式

1. 安裝elasticsearch

rpm -ivh elasticsearch-

7.3.2

-x86_64.rpm

2. 修改配置檔案:

vim /etc/elasticsearch/elasticsearch.yml

3. 配置

**集群的名稱**

**節點的名字,在集群中是唯一的**

node.name: node-

1**監聽的ip位址(一般寫本機)**

network.host:

192.168

.131

.80 (本機ip)

0.0.0.0(代表所有)

**監聽的埠**

**發現的集群的其他elasticsearch節點(多個節點用逗號隔開)**

discovery.seed_hosts:

["192.168.189.80"

] cluster.initial_master_nodes:

["192.168.189.80"

]**集群中有幾個elasticsearch 執行時,集群恢復正常**

gateway.recover_after_nodes:

2 儲存退出

4. 啟動elasticsearch

systemctl start elasticsearch

1. 安裝kibana

rpm -ivh kibana-

7.3.2

-x86_64.rpm

2. 修改配置檔案

vim /etc/kibana/kibana.yml

3. 配置

**監聽埠**

server.port:

5601

**監聽ip

** server.host:

"192.168.131.80"

**elasticsearch伺服器位址**

elasticsearch.hosts:

[""]**設定頁面語言為中文**

i18n.locale:

"zh-cn"

4. 啟動kibana

systemctl start kibana

安裝redis

安裝依賴環境

yum -y install gcc gcc-c++

上傳redis原始碼包

解壓 tar zxf redis-

5.0.3

.tar.gz

進入目錄 cd redis-

5.0.3

編譯安裝 make && make install

複製檔案 cp redis-

5.0.3

/redis.conf /etc

更改redis配置檔案

vim /etc/redis.conf

69行 bind 0.0

.0.0

136行 daemonize yes --

---守護程序方式啟動

啟動redis redis-server /etc/redis.conf

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

----

安裝logstash:

rpm -ivh jdk-

8u131-linux-x64_.rpm

rpm -ivh logstash-

7.3.2

.rpm

配置:cd /etc/logstash/conf.d/

vim system.conf --

---必須以.conf結尾,命名什麼隨意

input

}output "

}}

安裝:

rpm -ivh jdk-

8u131-linux-x64_.rpm

rpm -ivh logstash-

7.3.2

.rpm

配置:cd /etc/logstash/conf.d/

vim redis.conf --

---必須以.conf結尾,命名什麼隨意

input

} output

}

各個服務啟動後,瀏覽器訪問kibana(ip:5601),建立索引然後就可以查詢日誌了!

訊息佇列 訊息佇列

輪詢排程 一次性分發所有訊息,保證訊息平均分配,不管消費者是否能正常消費 訊息應答 保證消費端能確實消費,不丟失 公平 乙個乙個分發所有訊息,在保證分發到的執行緒確認回覆後,才分發下個訊息給下個空閒的消費者,訊息持久化 保證佇列中的訊息不丟失,包括3要素 交換器 訊息佇列 訊息都必須宣告持久化 發布...

訊息佇列 訊息佇列 kafka

kafka是乙個分布式的基於發布 訂閱模式的訊息佇列,主要用於大資料實時處理領域。要理解kafka首先要有分布式的概念,要有訊息佇列的概念。分布式系統最大的優勢就是解耦和削峰,這種情況下,a系統生成了乙個訊息,b系統非同步獲取,那麼就需要乙個存放訊息的訊息佇列 mq 相比較傳統的訊息佇列,訊息被消費...

linux訊息佇列 Linux訊息佇列

訊息佇列,unix的通訊機制之一,可以理解為是乙個存放訊息 資料 容器。將訊息寫入訊息佇列,然後再從訊息佇列中取訊息,一般來說是先進先出的順序。可以解決兩個程序的讀寫速度不同 處理資料速度不同 系統耦合等問題,而且訊息佇列裡的訊息哪怕程序崩潰了也不會消失。最簡單的訊息記憶體的使用流程 ftok函式生...