ELK 安裝與基本配置(一)

来源:http://www.cnblogs.com/FRESHMANS/archive/2016/10/20/5981484.html
-Advertisement-
Play Games

對於日誌來說,最常見的需求就是收集、存儲、查詢、展示,開源社區正好有相對應的開源項目:logstash(收集)、elasticsearch(存儲+搜索)、kibana(展示),我們將這三個組合起來的技術稱之為ELKStack,所以說ELKStack指的是Elasticsearch、Logstash、 ...


對於日誌來說,最常見的需求就是收集、存儲、查詢、展示,開源社區正好有相對應的開源項目:logstash(收集)、elasticsearch(存儲+搜索)、kibana(展示),我們將這三個組合起來的技術稱之為ELKStack,所以說ELKStack指的是Elasticsearch、Logstash、Kibana技術棧的結合

主機名

IP

服務

node1

192.168.16.73

Elasticsearch、Kibana

node2

192.168.17.224

Elasticsearch、Kibana

node3

192.168.16.70

Logstash、服務及程式日誌

node4

192.168.16.111

Logstash、Redis(消息隊列)

本次採用集群安裝,單台安裝大同小異

一、安裝

Elasticsearch、需要Java環境,所以直接使用yum安裝。 最好用1.8版本(centos7),centos 6.X版本可tar包安裝

[root@node1]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

1、下載並安裝GPG key

[root@node1 ~]# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

 

2、添加elasticsearch、logstash、kibana的yum倉庫

# 添加elasticsearch/logstash/ kibana的yum倉庫
[root@node1 ~]# cat /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

cat kibana.repo
[kibana-4.5]
name=Kibana repository for4.5.x packages
baseurl=http://packages.elastic.co/kibana/4.5/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1

 

3、安裝ElasticSearch

[root@node1 ~]# yum install -y elasticsearch
[root@node1 ~]# yum install -y kibana

4、yum安裝需要配置limits

[root@node1 ~]# vim /etc/security/limits.conf
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

二、配置Elasticsearch(註,此處可能有坑,yml配置文件":"兩邊要有空格)

[root@node1 ~]# mkdir -p /data/es-data #創建es數據目錄
[root@node1 ~]# chown -R elasticsearch.elasticsearch /data/es-data/ #授權
[root@node1 /]# grep '^[a-z]' /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-cluter #集群名稱
node.name: linux-node1  #節點的名稱
path.data: /data/es-data #數據存放路徑
path.logs: /var/log/elasticsearch/  #日誌存放日誌
bootstrap.mlockall: true    #不使用swap分區,鎖住記憶體
network.host: 192.168.16.73   #允許訪問的IP(本機ip)
http.port: 9200  #elasticsearch訪問埠
discovery.zen.ping.unicast.hosts: ["192.168.16.73","192.168.17.224"] #單播(配置一臺即可,生產可以使用組播方式)
 

運行Elasticsearch

1.啟動elasticsearch

systemctl daemon-reload
systemctl enable elasticsearch

 [root@node1 ~]# systemctl start elasticsearch          ##centos7 啟動方式

啟動時如果提示:  Can't start up: not enough memory,有可能是java未用到1.8,還是用的1.5或者1.6

解決辦法:

vi /etc/sysconfig/elasticsearch

將 JAVA_HOME=/root/jdk1.8.0_60 寫到文件中保存後啟動

service elasticsearch start    ####centos 6.x 啟動方式

 

2.訪問:elasticsearch_url: "http://192.168.16.73:9200/"     出現下麵 json 串表示安裝成功

{
  "name" : "linux-node1",
  "cluster_name" : "elk-cluter",
  "cluster_uuid" : "8Tw1Ko2PS6aJzSguT7kwig",
  "version" : {
    "number" : "2.4.1",
    "build_hash" : "c67dc32e24162035d18d6fe1e952c4cbcbe79d16",
    "build_timestamp" : "2016-09-27T18:57:55Z",
    "build_snapshot" : false,
    "lucene_version" : "5.5.2"
  },
  "tagline" : "You Know, for Search"
}

三、Elasticsearch插件

1.安裝Elasticsearch集群管理插件

[root@node1 ~]# /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

訪問head集群插件:http://ES_IP:9200/_plugin/head

 

 

 

2.安裝Elasticsearch監控插件

[root@node1 plugins]# /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf

訪問kopf監控插件:http://ES_IP:9200/_plugin/kopf 

 

elasticsearch集群

1.node2配置一個與node1相同的節點,通過組播進行通信,會通過cluster進行查找,如果無法通過組播查詢,修改成單播即可

[root@node2 ~]# grep "^[a-Z]" /etc/elasticsearch/elasticsearch.yml
cluster.name: elk-cluter
node.name: linux-node2
path.data: /data/es-data
path.logs: /var/log/elasticsearch/
bootstrap.mlockall: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.16.73","192.168.17.224"] #單播(配置一臺即可,生產可以使用組播方式)
 

 

 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 追問 我現在有一個項目是這樣子的,先燒boot.bin,再燒寫uboot.bin,這是怎麼回事啊,引入兩個引導程式,不知道為什麼? 追答 那就是你這個板子在 uboot 之前還有一個 boot 代碼。這個代碼應該是硬體相關的。不過我記得大部分這種板子都應該直接固化這部分代碼不讓重寫才對。當然不固化的 ...
  • 預設centos和redhat7都是不啟用有線網卡的,要麼手動開啟,要麼安裝時直接啟用! 打開終端 ls 找出 ifcfg-eno*** (後面是數字),然後vi 編輯 輸入 i 修改 ONBOOT="yes" 開啟自動啟用網路連接按ESC鍵,輸入 :wq 保存退出 重啟網路,就可以聯網了。。但是, ...
  • 1、建立httpd伺服器,提供兩個基於名稱的虛擬主機 2、為上面的第2個虛擬主機提供https服務,使得用戶可以通過https安全的訪問此web站點 ...
  • 功能:刪除文件或目錄。語法:rm [-dfirv][--help][--version][文件或目錄...]註意:小心使用rm -rf,沒有提示直接刪除目錄(可能會毀掉你整個公司--此句來源於網路)。參數: -d或–directory 直接把欲刪除的目錄的硬連接數據刪成0,刪除該目錄。 -f或–fo ...
  • (1)啟動任務管理器(ctrl+ alt + del)停止explorer進程(停止後你的任務欄等都消失了,不過不用怕,這樣你只是不能通過圖形界面去訪問系統資源,但是通過命令行還是可以的,現在iconcache.db還沒有刪掉。所以千萬不要重啟機器,要不然工作就白費了,別忘了顯示這些文字的瀏覽器視窗... ...
  • 總結了14門Linux課程,有基礎入門的、有進階提高的、有實戰項目的……適合各種Linux學習需求。 ...
  • 以TCPServ 服務程式來說: 1)父進程:負責系統初始化,以及監聽(listen),接受連接請求(accept);其中accept 預設阻塞調用。 2)每接受一個連接請求,動態新建(fork)一個子進程,任務完成或客戶端斷開,服務子進程需要退 出並收回系統資源。 3)根據linux的設計子進程的 ...
  • 簡介 IO復用技術,簡單來說就是同時監聽多個描述符。在沒有用到IO復用以前,只能是一個線程或一個 線程去監聽,服務端同時有多個連接的時候,需要創建多個線程或者進程。而且,並不是所有的連 接是一直在傳輸這數據,可能只是連接後啥都沒乾,如果這樣,進程就啥都沒乾。 現在有了IO復用技術,只有描述符就緒的時 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...