在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在CentOS系統中部署ELK日志分析系統

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-05-08 11:47 ? 次閱讀

日志分析已成為企業監控、故障排查和性能優化的重要組成部分。ELK(Elasticsearch、Logstash 和 Kibana)堆棧作為一種強大的開源解決方案,提供了高效的日志收集、存儲和可視化功能,使用戶能夠快速獲取關鍵業務洞察。本文將詳細介紹如何在 CentOS 系統中部署 ELK 日志分析系統,

1.實驗環境

f58b70d2-2763-11f0-9310-92fbcf53809c.png

配置ELK日志分析集群

使用logstash收集日志

使用kibana分析日志

2.環境準備

所需安裝包

node1

elasticsearch-5.5.0.rpm v8.2.1.tar.gz
kibana-5.5.1-x86_64.rpm
elasticsearch-head.tar.gz

node-v8.2.1.tar.gz

phantomjs-2.1.1-linux-x86_64.tar.bz2


apache

`logstash-5.5.1.rpm`

所有服務器上操作

關閉防火墻和Selinux 配置hosts文件

systemctl stop firewalld && systemctl disable firewalld
setenforce 0


vim /etc/hosts


192.168.192.113 node1
192.168.192.114 node2
192.168.192.116 apache          

yum install -y lrzsz


部署Elasticsearch

在 Node1 和 Node2 節點上都需要部署 lasticsearch

Node1

檢測java環境

[root@node1 ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)


如果沒有java的話安裝

`yum install -y java-openjdk`

上傳安裝包

[root@node1 ~]# ls
elasticsearch-5.5.0.rpm v8.2.1.tar.gz

rpm -ivh elasticsearch-5.5.0.rpm


編輯配置文件

自己打開配置文件一個個比對找,行數我已經標出

vim /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/elk_logs     # 日志存儲路徑
43 bootstrap.memory_lock: false     # 是否鎖定內存以避免交換
55 network.host: 0.0.0.0        # 監聽所有網絡接口
59 http.port: 9200           # HTTP 服務端口
68 discovery.zen.ping.unicast.hosts: ["node1", "node2"] # 發現其他節點的地址也可以填寫ip地址


重新加載系統管理器配置,設置 Elasticsearch 服務為開機自啟。

systemctl daemon-reload
systemctlenableelasticsearch.service



創建數據和日志目錄

將數據和日志目錄的所有權更改為 elasticsearch 用戶,以確保 Elasticsearch 有權限訪問這些目錄

mkdir -p /data/elk_data
mkdir -p /var/log/elk_logs

chown elasticsearch:elasticsearch /data/elk_data/
chown elasticsearch:elasticsearch /var/log/elk_logs

systemctl start elasticsearch

netstat -nultp | grep 9200
tcp6    0   0 :::9200         :::*          LISTEN   1264/java


啟動 Elasticsearch 服務。

Node2

方法一樣不過多介紹

[root@node1 ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)


`yum install -y java-openjdk`

這里需改更改節點為node2

vim /etc/elasticsearch/elasticsearch.yml

17 cluster.name: my-elk-cluster
23 node.name: node2      //這里需要更改
33 path.data: /data/elk_data
37 path.logs: /var/log/elk_logs
43 bootstrap.memory_lock: false
55 network.host: 0.0.0.0
59 http.port: 9200
68 discovery.zen.ping.unicast.hosts: ["node1", "node2"]  //或者輸入IP地址


systemctl daemon-reload
systemctl enable elasticsearch.service

vim /etc/elasticsearch/elasticsearch.yml
mkdir -p /data/elk_data
mkdir -p /var/log/elk_logs

chown elasticsearch:elasticsearch /data/elk_data/
chown elasticsearch:elasticsearch /var/log/elk_logs

systemctl start elasticsearch


netstat -nultp | grep 9200
tcp6    0   0 :::9200         :::*          LISTEN   1384/java 


3.查看節點信息

Web 鏈接 http://192.168.192.113:9200,可以查看節點Node1 的信息

f5a8170a-2763-11f0-9310-92fbcf53809c.png

node2

f5dea914-2763-11f0-9310-92fbcf53809c.png

檢查群集的健康狀態,可以看到status為綠色表示節點健康運行

在瀏覽器中輸入

4.查看群集的健康情況

`http://192.168.192.113:9200/_cluster/health?pretty`
f5f8df64-2763-11f0-9310-92fbcf53809c.png

5.查看群集的狀態信息

`http://192.168.192.113:9200/_cluster/state?pretty`
f61658e6-2763-11f0-9310-92fbcf53809c.png

安裝Elasticsearch-head插件

在Node1上安裝

安裝 Elasticsearch-head 需要提前安裝 node 和 phantomjs

1.安裝node

編譯安裝node 時間可以有多久 大概20分鐘左右

`yum install -y gzip`
ls
node-v8.2.1.tar.gz

tar zxf node-v8.2.1.tar.gz
ls
node-v8.2.1
node-v8.2.1.tar.gz

cd node-v8.2.1
./configure && make && make install


2.安裝phantomjs

[root@node1 ~]# ls
elasticsearch-head.tar.gz  node-v8.2.1.tar.gz
elasticsearch-5.5.0.rpm   node-v8.2.1
phantomjs-2.1.1-linux-x86_64.tar.bz2

[root@node1 ~]# tar -jxf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
[root@node1 ~]# cd /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin/
[root@node1 bin]# ls
phantomjs
[root@node1 bin]# cp phantomjs /usr/local/bin


開始安裝

cd
[root@node1 ~]# tar -zxf elasticsearch-head.tar.gz
[root@node1 ~]# cd elasticsearch-head
[root@node1 elasticsearch-head]# npm install


f6341f3e-2763-11f0-9310-92fbcf53809c.png

修改Elasticsearch 主配置文件

vim /etc/elasticsearch/elasticsearch.yml
//加入一下內容
90 http.cors.enabled: true        # 啟用 CORS
91 http.cors.allow-origin: "*"      # 允許所有來源的請求



systemctl restart elasticsearch


執行命令npm run start &

cd elasticsearch-head    //必須進入這個目錄執行命令
[root@node1 elasticsearch-head]# npm run start &
[6] 51980
[root@node1 elasticsearch-head]#
> elasticsearch-head@0.0.0 start /root/elasticsearch-head
> grunt server

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100


elasticsearch-head 監聽的端口是 9100

f65452f4-2763-11f0-9310-92fbcf53809c.png

通過Elasticsearch-head 查看 Elasticsearch信息。可以看到群集很健康,健康值為 green 綠色。單擊數據瀏覽,可以查螺引信息,此時索引為空

瀏覽器訪問

`http://192.168.192.113:9100/`
f6736586-2763-11f0-9310-92fbcf53809c.png

3.創建索引

Elasticsearch 中的 index-demo 索引添加了一個文檔

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
}


"_index":文檔所在的索引。
"_type":文檔的類型。
"_id":文檔的唯一標識符。
"_version":文檔的版本號。
"result":操作結果,表示文檔已成功創建。
"_shards":分片信息,顯示總分片數、成功的分片數和失敗的分片數。
"created":布爾值,表示文檔是否被創建。

刷新瀏覽器可以看到創建成功的目錄

f6a4b672-2763-11f0-9310-92fbcf53809c.png

點擊概述 ,還可以看到索引默認被分片成5個篇,且存在一個副本

f6b9e1aa-2763-11f0-9310-92fbcf53809c.png

Logstash安裝及使用方法

logstash 一般部署在需要監控其日志的服務器中,在本案例中,Logsiash 部署在 Apache 服務器上解收集 Apsche 服務器的日志信息并發送到 Elasticserch 中,

安裝在被監控端,

本案例安裝在apache服務器上,用于收集apache服務器的日志信息發送到Elasticsearch中

以下在apache服務器中安裝

1.檢測java環境

[root@node1 ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)


`yum install -y java-openjdk`

報錯解決

root@apache ~]# rpm -ivh logstash-5.5.1.rpm
警告:logstash-5.5.1.rpm: 頭V4 RSA/SHA512 Signature, 密鑰 ID d88e42b4: NOKEY
準備中...             ################################# [100%]
正在升級/安裝...
 15.5.1-1        ################################# [100%]
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME.
警告:%post(logstash-1:5.5.1-1.noarch) 腳本執行失敗,退出狀態碼為 1


下載java即可

2.上傳rpm包

[root@apache ~]# ls
logstash-5.5.1.rpm


rpm -ivh logstash-5.5.1.rpm

systemctl start logstash.service

ln -s /usr/share/logstash/bin/logstash /usr/local/bin/


測試 Logstash

logstash -e'input { stdin{} } output { stdout{} }'


logstash -e'input { stdin{} } output { stdout{ codec=>rubydebug } }'


f6d9cfe2-2763-11f0-9310-92fbcf53809c.png

在Elsticsearch 中查看Logstesh 新增加的索引

配置 Logstash 以讀取系統日志

cd /etc/logstash/conf.d/

[root@apache conf.d]# chmod o+r /var/log/messages
[root@apache conf.d]# ll /var/log/messages
-rw----r--. 1 root root 41906 7月 26 13:44 /var/log/messages
[root@apache conf.d]# touch system.conf
[root@apache conf.d]# vim system.conf


vim system.conf

input {
    file {
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
      }
}

output {
    elasticsearch{
        hosts => ["192.168.192.113:9200"]
        index => "system-%{+YYYY.MM.dd}"
      }

}


systemctl restart logstash
ls
system.conf


這時候系統日志信息就添加進來了

完成后,通過瀏覽器查看Elasticsearch 的信息

f70cf778-2763-11f0-9310-92fbcf53809c.png

安裝Kibana

Kibana 是一個開源的分析和可視化平臺,通常與 Elasticsearch 和 Logstash 一起使用,形成 ELK 堆棧。它允許用戶通過圖形界面輕松地探索和可視化存儲在 Elasticsearch 中的數據。

在Node1上安裝

首先上傳rpm包

kibana-5.5.1-x86_64.rpm

rpm -ivh kibana-5.5.1-x86_64.rpm


systemctl enable kibana


設置主配置文件

vim /etc/kibana/kibana.yml

2 server.port: 5601
7 server.host: "0.0.0.0"
21 elasticsearch.url: "http://192.168.192.113:9200"
30 kibana.index: ".kibana"


驗證 Kibana、通過瀏覽器訪問

`http://192.168.192.113:5601`

添加system索引

f7265a06-2763-11f0-9310-92fbcf53809c.png

添加一個

f746acf2-2763-11f0-9310-92fbcf53809c.png

這時候就可以查看圖表和 系統有關的日志信息了

f7762e14-2763-11f0-9310-92fbcf53809c.png

添加apache日志

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

ip地址記得更換

cd /etc/logstash/conf.d/

vim apache_log.conf
//加入一下內容

input {
    file {
        path => "/var/log/httpd/access_log"
        type => "access"
        start_position => "beginning"
      }
    file {
        path => "/var/log/httpd/error_log"
        type => "error"
        start_position => "beginning"
      }
    }
output {
    if [type] == "access" {
    elasticsearch {
        hosts => ["192.168.192.113:9200"]
        index => "apache_access-%{+YYYY.MM.dd}"
        }
    }
    if [type] == "error" {
    elasticsearch {
        hosts => ["192.168.192.113:9200"]
        index => "apache_error-%{+YYYY.MM.dd}"
        }
    }
   }


4.編寫腳本

用于啟動 Logstash 并加載指定的配置文件。

通過這個腳本快速啟動 Logstash 處理 Apache 日志了。

vim /elk.sh
#!/bin/bash

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


wq

chmod a+x /elk.sh

. /elk.sh &


訪問查看索引是否創建成功

`http://192.168.192.113:9100/`
f7a25f16-2763-11f0-9310-92fbcf53809c.png

回到kibana

f7b86e28-2763-11f0-9310-92fbcf53809c.pngf7db0424-2763-11f0-9310-92fbcf53809c.png

如果想要添加其他服務的日志信息也是一樣的!

總結

通過本教程,我們詳細探討了在 CentOS 系統中部署 ELK 日志分析系統的各個步驟。我們從環境準備、組件安裝到配置與實際應用,全面覆蓋了這一強大工具的使用方法。ELK 堆棧不僅提升了日志管理的效率,也為數據分析提供了豐富的可視化手段。希望本文能夠幫助您更好地理解和應用 ELK 系統,助力您的業務決策和性能優化。

鏈接:https://blog.csdn.net/jxjdhdnd/article/details/140798722?spm=1001.2014.3001.5502

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3634

    瀏覽量

    43617
  • 日志
    +關注

    關注

    0

    文章

    143

    瀏覽量

    10840
  • CentOS
    +關注

    關注

    0

    文章

    83

    瀏覽量

    14184

原文標題:Linux中ELK日志分析系統的部署(詳細教程8K字)附圖片

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    DevOps擁抱日志管理系統ELK623淺析

    DevOps之擁抱日志管理系統ELK623
    發表于 07-15 06:06

    CentOS系統的知識介紹

    CentOS系統的被很多人使用,但是有些人是被CentOS系統的名聲所吸引的,對CentOS系統
    發表于 07-15 07:41

    ELK開源工具

    ELK日志分析系統
    發表于 10-12 15:23

    基于docker的elk平臺來分析java

    搭建基于docker的elk平臺來分析java日志
    發表于 04-21 15:07

    在嵌入式環境中部署環境的相關資料分享

    在嵌入式環境中部署環境:1.1 在linux中,當文件系統初始化后,在vi/etc/profile中可以輸入一個命令,來配置系統的ip地址: ifconfig eth0 192.168.1.10這樣就能實現,
    發表于 10-27 07:02

    何在N1SDP上安裝發行版ubuntu和centos系統

    based on the Neoverse N1 core.這篇文章將向大家介紹如何在N1SDP上安裝發行版ubuntu和centos系統,目前N1SDP僅支持kernel 4.18或以上版本。目前的方法是在
    發表于 07-06 10:52

    基于DOCKER容器的ELK日志收集系統分析

    分布式消息隊列redis部署實時消息自動化系統,能夠快速、實時地收集應用日志,提高運維人員的工作效率。詳細介紹了Docker、ELK、Docker Swarm和Etcd的功能及原理,最
    發表于 11-06 14:15 ?3次下載
    基于DOCKER容器的<b class='flag-5'>ELK</b><b class='flag-5'>日志</b>收集<b class='flag-5'>系統分析</b>

    對于大規模系統日志日志模式提煉算法的優化

    LARGE框架是部署在中國科學院超級計算環境中的日志分析系統,通過日志收集、集中分析、結果反饋等
    發表于 11-21 14:54 ?7次下載
    對于大規模<b class='flag-5'>系統</b><b class='flag-5'>日志</b>的<b class='flag-5'>日志</b>模式提煉算法的優化

    輕松搭建ELK日志分析系統

    Logstash是一個用來搜集、分析、過濾日志的工具。它支持幾乎任何類型的日志,包括系統日志、錯誤日志
    的頭像 發表于 04-12 11:03 ?1.2w次閱讀
    輕松搭建<b class='flag-5'>ELK</b><b class='flag-5'>日志</b><b class='flag-5'>分析</b><b class='flag-5'>系統</b>

    何在小型集群中部署Xilinx FPGA卡

    Xilinx FPGA是支持OpenStack的第一個(也是目前唯一的)FPGA。 該視頻快速介紹了如何在小型集群中部署Xilinx FPGA卡,以便在Xilinx SC16展臺上運行每個演示,并使用OpenStack進行配置和管理。
    的頭像 發表于 11-23 06:14 ?3960次閱讀

    干貨:Centos 6.5部署nginx和php環境部署

    干貨:Centos 6.5部署nginx和php環境部署
    的頭像 發表于 06-28 10:00 ?2463次閱讀

    分布式實時日志ELK部署架構方案

    該架構與第一種架構唯一不同的是:應用端日志收集器換成了Filebeat,Filebeat輕量,占用服務器資源少,所以使用Filebeat作為應用服務器端的日志收集器,一般Filebeat會配合Logstash一起使用,這種部署
    的頭像 發表于 01-08 09:56 ?1118次閱讀

    分布式實時日志分析解決方案ELK部署架構

    ELK 已經成為目前最流行的集中式日志解決方案,它主要是由 Beats、Logstash、Elasticsearch、Kibana 等組件組成,來共同完成實時日志的收集,存儲,展示等一站式的解決方案。本文將會介紹
    的頭像 發表于 01-29 11:55 ?1113次閱讀

    CentOS7中使用一鍵腳本部署Librenms網絡監控系統

    今天在CentOS7下使用一鍵腳本部署Librenms網絡監控系統
    的頭像 發表于 09-14 09:27 ?1675次閱讀
    <b class='flag-5'>CentOS</b>7中使用一鍵腳本<b class='flag-5'>部署</b>Librenms網絡監控<b class='flag-5'>系統</b>

    何在Centos系統中部署KVM虛擬化平臺

    KVM 通過將 Linux 內核轉換為一個裸機(bare-metal)管理程序(hypervisor),使得用戶可以在單一物理主機上運行多個虛擬機(VM),每個虛擬機都擁有獨立的操作系統和資源。這樣的架構不僅提高了硬件資源的利用率,還簡化了系統管理和
    的頭像 發表于 05-09 13:40 ?267次閱讀
    如<b class='flag-5'>何在</b><b class='flag-5'>Centos</b><b class='flag-5'>系統</b><b class='flag-5'>中部署</b>KVM虛擬化平臺
    主站蜘蛛池模板: 日本免费大黄 | 亚洲一区二区免费视频 | 亚洲六月丁香六月婷婷花 | 免费又爽又黄1000禁片 | 在线观看你懂的网站 | 四虎黄色 | 国产二区三区毛片 | 视频一区二区不卡 | 日本免费人成黄页网观看视频 | 色吧色吧色吧网 | 色播五月激情 | 天天舔天天射 | 日本高清不卡视频 | 超人碰碰碰人人成碰人 | 狠狠色噜噜狠狠狠狠2021天天 | 日本高清视频色 | 草草影院私人免费入口 | 久久综合狠狠综合久久综合88 | 天天干天天爽天天操 | 两性色午夜视频免费播放 | 女性一级全黄生活片免费看 | 免费观看a毛片一区二区不卡 | 日日艹 | 日本不卡免费高清一级视频 | 99久久综合精品免费 | 国产性夜夜性夜夜爽91 | 三级全黄a| 奇米影视四色7777久久精品 | 男人和女人在床做黄的网站 | 色婷婷狠狠干 | 乱说欲小说又粗又长 | 色偷偷88欧美精品久久久 | 国产福利毛片 | 国产乱码免费卡1卡二卡3卡四 | 国产一级一级片 | 黑色丝袜在丝袜福利国产 | 成人国产一区二区 | 日本黄色xxxx| 欧美精品二区 | 91啪在线视频 | 国产亚洲精品成人a在线 |