ELK 日誌分析系統 ----------- 部署ElasticSearch群集
部署ElasticSearch群集
ELK日誌分析系統簡介
- 伺服器中產生的日誌是龐大的,通常我們想要從日誌中查詢自己想要的資訊時時通過 grep、awk等來實現,但在那些龐大規模的web、機構面前,就不夠看了。像那些大型電商網站,動則上百億PV的日誌產生,如何快速歸檔、快速定位、查詢成為問題。
- 這時候我們就可以用到ELK日誌分析系統,ELK提供了一整套解決方案。它是由ElasticSearch(群集) 、logstash(日誌蒐集)、Kibana(展現相關的分析的日誌資訊、資料資訊、索引資訊在web頁面上)這些開源軟體,相互作用配合,對日誌進行集中化管理的一種架構系統。
ELK的工作原理
- 前端產生了各種web日誌被Logstash代理端蒐集到,(Lofstash會指定這些Web服務的路徑定時去檢索日誌裡面的內容,然後進行蒐集),然後將這些日誌轉化成es所能識別的格式,傳輸給es,接著es會將這些日誌進行儲存,並做相應的索引以便快速定位,當需要讓它展示相關的日誌資訊時,Kibana會將es傳輸給它的資料在web頁面上以柱狀圖、餅狀圖、分析圖以及相關的複製索引資訊展現給管理者或使用者.
Elasticsearch 群集介紹
- Elasticsearch是個開源分散式搜尋引擎,提供蒐集、分析、儲存資料三大功能。它的特點有:分散式,零配置,自動發現,索引自動分片,索引副本機制,restful風格介面,多資料來源,自動搜尋負載等
部署ElasticSearch群集
部署規劃
1、2臺CentOS7.4 版本的Linux作業系統
2、node1:20.0.0.101
node2:20.0.0.102
3、所需軟包請到官網下載
安裝ES群集
- 分別在兩臺節點上執行下列操作
1、 安裝環境設定
systemctl stop firewalld
setenforce 0
hostnamectl set-hostname node1 ###另一臺node2
vi /etc/hosts
20.0.0.101 node1
20.0.0.102 node2
java -version ####確認java版本
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
2、將elasticsearch-5.5.0.rpm軟體包上傳到家目錄中並安裝
3、過載系統引數,並設定為開機自啟
systemctl daemon-reload
systemctl enable elasticsearch.service
4、修改lasticsearch主配置檔案
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak ###將檔案做個備份
vi /etc/elasticsearch/elasticsearch.yml ####修改並去掉行頭 # 號
17行 :cluster.name: my-elk-cluster
23行 :node.name: node1
33行 :path.data: /data/elk_data
37行 :path.logs: /var/log/elasticsearch/
43行 :bootstrap.memory_lock: false
55行 :network.host: 0.0.0.0
59行 :http.port: 9200
68行 :discovery.zen.ping.unicast.hosts: ["node1", "node2"]
5、建立資料存放目錄,並授權
mkdir -p /data/elk_data
[root@node2 ~]# id elasticsearch ####rpm預設會建立程式使用者elasticsearch,這個使用者專門管理es的
uid=990(elasticsearch) gid=985(elasticsearch) 組=985(elasticsearch)
chown elasticsearch:elasticsearch /data/elk_data ####給資料存放目錄授權,要不然無法存入資料
[root@node2 ~]# ll /data/ ####確認授權
總用量 0
drwxr-xr-x. 2 elasticsearch elasticsearch 6 10月 28 14:49 elk_data
6、開啟服務並確認服務是否開啟
systemctl start elasticsearch.service
[root@node2 ~]# netstat -anpt | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 54162/java
7、真機網頁輸入: http://20.0.0.101:9200 和 http://20.0.0.102:9200 分別檢視節點資訊
101:
{
"name" : "node1",
"cluster_name" : "my-elk-cluster",
"cluster_uuid" : "J3Jom7kbS4GqpTw1KSGUQg",
"version" : {
"number" : "5.5.0",
"build_hash" : "260387d",
"build_date" : "2017-06-30T23:16:05.735Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
102:
{
"name" : "node2",
"cluster_name" : "my-elk-cluster",
"cluster_uuid" : "J3Jom7kbS4GqpTw1KSGUQg",
"version" : {
"number" : "5.5.0",
"build_hash" : "260387d",
"build_date" : "2017-06-30T23:16:05.735Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
}
網頁輸入: http://20.0.0.101:9200/_cluster/health?pretty 檢視健康狀態
101和102:
{
"cluster_name" : "my-elk-cluster",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 2,
"number_of_data_nodes" : 2,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
在網頁輸入: http://20.0.0.102:9200/_cluster/state?pretty 檢查群集狀態資訊
{
"cluster_name" : "my-elk-cluster",
"version" : 3,
"state_uuid" : "IM53qDZaTneZVZW7Ujo6bg",
"master_node" : "GnH2gHnqSVC4GlpcZLUrSw",
"blocks" : { },
"nodes" : {
"CgH_iSNLSXiex70Q4vRErw" : {
"name" : "node2",
"ephemeral_id" : "1pfVovCVQhWuzrDgsuMxrg",
"transport_address" : "20.0.0.102:9300",
"attributes" : { }
},
"GnH2gHnqSVC4GlpcZLUrSw" : {
"name" : "node1",
"ephemeral_id" : "_GYOm0SwRsWzmH-eQ3EQtw",
"transport_address" : "20.0.0.101:9300",
"attributes" : { }
}
},
"metadata" : {
"cluster_uuid" : "J3Jom7kbS4GqpTw1KSGUQg",
"templates" : { },
"indices" : { },
"index-graveyard" : {
"tombstones" : [ ]
}
},
"routing_table" : {
"indices" : { }
},
"routing_nodes" : {
"unassigned" : [ ],
"nodes" : {
"CgH_iSNLSXiex70Q4vRErw" : [ ],
"GnH2gHnqSVC4GlpcZLUrSw" : [ ]
}
}
}
8、 編譯安裝 node 元件依賴包
上傳node-v8.2.1.tar.gz軟體包到家目錄中並解壓
tar zxvf node-v8.2.1.tar.gz
cd node-v8.2.1/
./configure
make -j4 (等待時間較長,加 -j4 選項)
make install
9、安裝 phantomjs 前端框架
上傳phantomjs-2.1.1-linux-x86_64.tar.bz2軟體包到家目錄中並解壓
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
cd phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
10、安裝 elasticsearch-head 資料視覺化工具
上傳elasticsearch-head.tar.gz安裝包到家目錄
tar zxvf elasticsearch-head.tar.gz
cd elasticsearch-head/
npm install
11、修改主配置檔案
vi /etc/elasticsearch/elasticsearch.yml ####在檔案末尾插入下面二條
http.cors.enabled: true ####開啟跨域訪問支援,預設為false
http.cors.allow-origin: "*" ####跨域訪問允許的域名地址
systemctl restart elasticsearch
12、啟動 elasticsearch-head 工具
cd elasticsearch-head/
npm run start &
確認埠是否啟動:
netstat -lnupt | grep 9100
tcp 0 0 0.0.0.0:9100 0.0.0.0:* LISTEN 101486/grunt
netstat -lnupt | grep 9200
tcp6 0 0 :::9200 :::* LISTEN 101335/java
13、 真機測試
輸入網址: http://20.0.0.101:9100 ; 進入之後修改 連線localhost 為本機IP地址,就可以進行節點連線,健康值為綠色
★node1
●node2
虛擬機器節點中輸入:
curl -XPUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
(重新整理下真機網頁頁面,點選索引選項,即可看到儲存值)
到此結束,感謝瀏覽
相關文章
- ELK日誌分析系統
- 最新Centos7.6 部署ELK日誌分析系統CentOS
- ELK-日誌分析系統
- ELK+FileBeat日誌分析系統
- ELK日誌分析系統詳解
- 企業級日誌分析系統——ELK
- 基於AWS-ELK部署系統日誌告警系統
- 日誌分析系統 - k8s部署ElasticSearch叢集K8SElasticsearch
- Elasticsearch+Kibana日誌分析系統搭建Elasticsearch
- 使用Docker快速部署ELK分析Nginx日誌實踐DockerNginx
- ElasticSearch實戰系列九: ELK日誌系統介紹和安裝Elasticsearch
- [日誌分析篇]-利用ELK分析jumpserver日誌-日誌拆分篇Server
- 日誌分析平臺ELK之搜尋引擎Elasticsearch叢集Elasticsearch
- ELK日誌系統之通用應用程式日誌接入方案
- ELK+kafka+Winlogbeat/FileBeat搭建統一日誌收集分析管理系統Kafka
- ELK日誌分析系統 超詳細!!理論+實操講解!!
- ELK日誌系統之使用Rsyslog快速方便的收集Nginx日誌Nginx
- ELK日誌
- 開源元件ELK日誌系統配置與管理元件
- Kafka與ELK實現一個日誌系統Kafka
- Windows系統搭建ELK日誌收集伺服器Windows伺服器
- 爬蟲日誌監控 -- Elastc Stack(ELK)部署爬蟲AST
- 2023最新ELK日誌平臺(elasticsearch+logstash+kibana)搭建Elasticsearch
- Centos部署Loki日誌聚合系統CentOSLoki
- 部署Sentry日誌監控系統
- 日誌分析平臺ELK之日誌收集器logstash
- 日誌分析平臺ELK之日誌收集器filebeat
- Kibana+Logstash+Elasticsearch 日誌查詢系統Elasticsearch
- 【ELK】elastalert 日誌告警AST
- go-kit 微服務 日誌分析管理 (ELK + Filebeat)Go微服務
- 微服務下,使用ELK做日誌收集及分析微服務
- Docker Compose部署 EFK(Elasticsearch + Fluentd + Kibana)收集日誌DockerElasticsearch
- SpringBoot使用ELK日誌收集Spring Boot
- Linux-ELK日誌收集Linux
- 使用 ELK 搭建日記系統
- ELK實時分析之php的laravel專案日誌PHPLaravel
- Docker安裝ELK並實現JSON格式日誌分析DockerJSON
- Linux檔案系統與日誌分析Linux