準備工作:
這裡我準備了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函式生...