成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在CentOS 7上安裝Elastic Stack

系統 Linux 系統運維
在本教程中,我將向您展示如何在 CentOS 7 服務器上安裝和配置 Elastic Stack 以監視服務器日志。 然后,我將向您展示如何在操作系統為 CentOS 7 和 Ubuntu 16 的客戶端上安裝 “Elastic beats”。

如何在CentOS 7上安裝Elastic Stack

Elasticsearch 是基于 Lucene 由 Java 開發的開源搜索引擎。它提供了一個分布式、多租戶的全文搜索引擎(LCTT 譯注:多租戶是指多租戶技術,是一種軟件架構技術,用來探討與實現如何在多用戶的環境下共用相同的系統或程序組件,并且仍可確保各用戶間數據的隔離性。),并帶有 HTTP 儀表盤的 Web 界面(Kibana)。數據會被 Elasticsearch 查詢、檢索,并且使用 JSON 文檔方案存儲。Elasticsearch 是一個可擴展的搜索引擎,可用于搜索所有類型的文本文檔,包括日志文件。Elasticsearch 是 Elastic Stack 的核心,Elastic Stack 也被稱為 ELK Stack。

Logstash 是用于管理事件和日志的開源工具。它為數據收集提供實時傳遞途徑。 Logstash 將收集您的日志數據,將數據轉換為 JSON 文檔,并將其存儲在 Elasticsearch 中。

Kibana 是 Elasticsearch 的開源數據可視化工具。Kibana 提供了一個漂亮的儀表盤 Web 界面。 你可以用它來管理和可視化來自 Elasticsearch 的數據。 它不僅美麗,而且強大。

在本教程中,我將向您展示如何在 CentOS 7 服務器上安裝和配置 Elastic Stack 以監視服務器日志。 然后,我將向您展示如何在操作系統為 CentOS 7 和 Ubuntu 16 的客戶端上安裝 “Elastic beats”。

前提條件

  • 64 位的 CentOS 7,4 GB 內存 - elk 主控機
  • 64 位的 CentOS 7 ,1 GB 內存 - 客戶端 1
  • 64 位的 Ubuntu 16 ,1 GB 內存 - 客戶端 2

步驟 1 - 準備操作系統

在本教程中,我們將禁用 CentOS 7 服務器上的 SELinux。 編輯 SELinux 配置文件。

  1. vim /etc/sysconfig/selinux 

將 SELINUX 的值從 enforcing 改成 disabled 。

  1. SELINUX=disabled 

然后重啟服務器:

  1. reboot 

再次登錄服務器并檢查 SELinux 狀態。

  1. getenforce 

確保結果是 disabled。

步驟 2 - 安裝 Java

部署 Elastic stack 依賴于Java,Elasticsearch 需要 Java 8 版本,推薦使用 Oracle JDK 1.8 。我將從官方的 Oracle rpm 包安裝 Java 8。

使用 wget 命令下載 Java 8 的 JDK。

  1. wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u77-linux-x64.rpm" 

然后使用 rpm 命令安裝:

  1. rpm -ivh jdk-8u77-linux-x64.rpm 

***,檢查 java JDK 版本,確保它正常工作。

  1. java -version 

您將看到服務器的 Java 版本。

步驟 3 - 安裝和配置 Elasticsearch

在此步驟中,我們將安裝和配置 Elasticsearch。 從 elastic.co 網站提供的 rpm 包安裝 Elasticsearch,并將其配置運行在 localhost 上(以確保該程序安全,而且不能從外部訪問)。

在安裝 Elasticsearch 之前,將 elastic.co 的密鑰添加到服務器。

  1. rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 

接下來,使用 wget 下載 Elasticsearch 5.1,然后安裝它。

  1. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.rpm 
  2. rpm -ivh elasticsearch-5.1.1.rpm 

Elasticsearch 已經安裝好了。 現在進入配置目錄編輯 elasticsaerch.yml 配置文件。

  1. cd /etc/elasticsearch/
  2. vim elasticsearch.yml 

去掉第 40 行的注釋,啟用 Elasticsearch 的內存鎖。這將禁用 Elasticsearch 的內存交換。

  1. bootstrap.memory_lock: true 

在 Network 塊中,取消注釋 network.host 和 http.port 行。

  1. network.host: localhost 
  2. http.port: 9200 

保存文件并退出編輯器。

現在編輯 elasticsearch.service 文件的內存鎖配置。

  1. vim /usr/lib/systemd/system/elasticsearch.service 

去掉第 60 行的注釋,確保該值為 unlimited。

  1. MAX_LOCKED_MEMORY=unlimited 

保存并退出。

Elasticsearch 配置到此結束。Elasticsearch 將在本機的 9200 端口運行,我們通過在 CentOS 服務器上啟用 mlockall 來禁用內存交換。重新加載 systemd,將 Elasticsearch 置為開機啟動,然后啟動服務。

  1. sudo systemctl daemon-reload 
  2. sudo systemctl enable elasticsearch 
  3. sudo systemctl start elasticsearch 

等待 Eelasticsearch 啟動成功,然后檢查服務器上打開的端口,確保 9200 端口的狀態是 LISTEN。

  1. netstat -plntu 

Check elasticsearch running on port 9200 

Check elasticsearch running on port 9200

然后檢查內存鎖以確保啟用 mlockall,并使用以下命令檢查 Elasticsearch 是否正在運行。

  1. curl -XGET 'localhost:9200/_nodes?filter_path=**.mlockall&pretty' 
  2. curl -XGET 'localhost:9200/?pretty' 

會看到如下結果。 

Check memory lock elasticsearch and check status 

Check memory lock elasticsearch and check status

步驟 4 - 安裝和配置 Kibana 和 Nginx

在這一步,我們將在 Nginx Web 服務器上安裝并配置 Kibana。 Kibana 監聽在 localhost 上,而 Nginx 作為 Kibana 的反向代理。

用 wget 下載 Kibana 5.1,然后使用 rpm 命令安裝:

  1. wget https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-x86_64.rpm 
  2. rpm -ivh kibana-5.1.1-x86_64.rpm 

編輯 Kibana 配置文件。

  1. vim /etc/kibana/kibana.yml 

去掉配置文件中 server.port、server.host 和 elasticsearch.url 這三行的注釋。

  1. server.port: 5601 
  2. server.host: "localhost" 
  3. elasticsearch.url: "http://localhost:9200" 

保存并退出。

將 Kibana 設為開機啟動,并且啟動 Kibana 。

  1. sudo systemctl enable kibana 
  2. sudo systemctl start kibana 

Kibana 將作為 node 應用程序運行在端口 5601 上。

  1. netstat -plntu 

Kibana running as node application on port 5601 

Kibana running as node application on port 5601

Kibana 安裝到此結束。 現在我們需要安裝 Nginx 并將其配置為反向代理,以便能夠從公共 IP 地址訪問 Kibana。

Nginx 在 Epel 資源庫中可以找到,用 yum 安裝 epel-release。

  1. yum -y install epel-release 

然后安裝 Nginx 和 httpd-tools 這兩個包。

  1. yum -y install nginx httpd-tools 

httpd-tools 軟件包包含 Web 服務器的工具,可以為 Kibana 添加 htpasswd 基礎認證。

編輯 Nginx 配置文件并刪除 server {} 塊,這樣我們可以添加一個新的虛擬主機配置。

  1. cd /etc/nginx/
  2. vim nginx.conf 

刪除 server { } 塊。

Remove Server Block on Nginx configuration 

Remove Server Block on Nginx configuration

保存并退出。

現在我們需要在 conf.d 目錄中創建一個新的虛擬主機配置文件。 用 vim 創建新文件 kibana.conf。

  1. vim /etc/nginx/conf.d/kibana.conf 

復制下面的配置。

  1. server { 
  2.     listen 80; 
  3.     server_name elk-stack.co; 
  4.     auth_basic "Restricted Access"
  5.     auth_basic_user_file /etc/nginx/.kibana-user
  6.     location / { 
  7.         proxy_pass http://localhost:5601; 
  8.         proxy_http_version 1.1; 
  9.         proxy_set_header Upgrade $http_upgrade; 
  10.         proxy_set_header Connection 'upgrade'
  11.         proxy_set_header Host $host; 
  12.         proxy_cache_bypass $http_upgrade; 
  13.     } 

保存并退出。

然后使用 htpasswd 命令創建一個新的基本認證文件。

  1. sudo htpasswd -c /etc/nginx/.kibana-user admin 
  2. “輸入你的密碼” 

測試 Nginx 配置,確保沒有錯誤。 然后設定 Nginx 開機啟動并啟動 Nginx。

  1. nginx -t 
  2. systemctl enable nginx 
  3. systemctl start nginx 

Add nginx virtual host configuration for Kibana Application 

Add nginx virtual host configuration for Kibana Application

步驟 5 - 安裝和配置 Logstash

在此步驟中,我們將安裝 Logstash,并將其配置為:從配置了 filebeat 的 logstash 客戶端里集中化服務器的日志,然后過濾和轉換 Syslog 數據,并將其移動到存儲中心(Elasticsearch)中。

下載 Logstash 并使用 rpm 進行安裝。

  1. wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.rpm 
  2. rpm -ivh logstash-5.1.1.rpm 

生成新的 SSL 證書文件,以便客戶端可以識別 elastic 服務端。

進入 tls 目錄并編輯 openssl.cnf 文件。

  1. cd /etc/pki/tls
  2. vim openssl.cnf 

在 [v3_ca] 部分添加服務器標識。

  1. [ v3_ca ] 
  2. # Server IP Address 
  3. subjectAltName = IP: 10.0.15.10 

保存并退出。

使用 openssl 命令生成證書文件。

  1. openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout /etc/pki/tls/private/logstash-forwarder.key -out /etc/pki/tls/certs/logstash-forwarder.crt 

證書文件可以在 /etc/pki/tls/certs/ 和 /etc/pki/tls/private/ 目錄中找到。

接下來,我們會為 Logstash 創建新的配置文件。創建一個新的 filebeat-input.conf 文件來為 filebeat 配置日志源,然后創建一個 syslog-filter.conf 配置文件來處理 syslog,再創建一個 output-elasticsearch.conf 文件來定義輸出日志數據到 Elasticsearch。

轉到 logstash 配置目錄,并在 conf.d 子目錄中創建新的配置文件。

  1. cd /etc/logstash/
  2. vim conf.d/filebeat-input.conf 

輸入配置,粘貼以下配置:

  1. input { 
  2.   beats { 
  3.     port => 5443 
  4.     ssl => true 
  5.     ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt" 
  6.     ssl_key => "/etc/pki/tls/private/logstash-forwarder.key" 
  7.   } 

保存并退出。

創建 syslog-filter.conf 文件。

  1. vim conf.d/syslog-filter.conf 

粘貼以下配置:

  1. filter { 
  2.   if [type] == "syslog" { 
  3.     grok { 
  4.       match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } 
  5.       add_field => [ "received_at""%{@timestamp}" ] 
  6.       add_field => [ "received_from""%{host}" ] 
  7.     } 
  8.     date { 
  9.       match => [ "syslog_timestamp""MMM  d HH:mm:ss""MMM dd HH:mm:ss" ] 
  10.     } 
  11.   } 

我們使用名為 grok 的過濾器插件來解析 syslog 文件。

保存并退出。

創建輸出配置文件 output-elasticsearch.conf。

  1. vim conf.d/output-elasticsearch.conf 

粘貼以下配置:

  1. output { 
  2.   elasticsearch { hosts => ["localhost:9200"
  3.     hosts => "localhost:9200" 
  4.     manage_template => false 
  5.     index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
  6.     document_type => "%{[@metadata][type]}" 
  7.   } 

保存并退出。

***,將 logstash 設定為開機啟動并且啟動服務。

  1. sudo systemctl enable logstash 
  2. sudo systemctl start logstash 

Logstash started on port 5443 with SSL Connection 

Logstash started on port 5443 with SSL Connection

步驟 6 - 在 CentOS 客戶端上安裝并配置 Filebeat

Beat 作為數據發送人的角色,是一種可以安裝在客戶端節點上的輕量級代理,將大量數據從客戶機發送到 Logstash 或 Elasticsearch 服務器。有 4 種 beat,Filebeat 用于發送“日志文件”,Metricbeat 用于發送“指標”,Packetbeat 用于發送“網絡數據”,Winlogbeat 用于發送 Windows 客戶端的“事件日志”。

在本教程中,我將向您展示如何安裝和配置 Filebeat,通過 SSL 連接將數據日志文件傳輸到 Logstash 服務器。

登錄到客戶端1的服務器上。 然后將證書文件從 elastic 服務器復制到客戶端1的服務器上。

  1. ssh root@client1IP 

使用 scp 命令拷貝證書文件。

  1. scp root@elk-serverIP:~/logstash-forwarder.crt . 
  2. 輸入 elk-server 的密碼 

創建一個新的目錄,將證書移動到這個目錄中。

  1. sudo mkdir -p /etc/pki/tls/certs/ 
  2. mv ~/logstash-forwarder.crt /etc/pki/tls/certs/ 

接下來,在客戶端 1 服務器上導入 elastic 密鑰。

  1. rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 

下載 Filebeat 并且用 rpm 命令安裝。

  1. wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpm 
  2. rpm -ivh filebeat-5.1.1-x86_64.rpm 

Filebeat 已經安裝好了,請轉到配置目錄并編輯 filebeat.yml 文件。

  1. cd /etc/filebeat/ 
  2. vim filebeat.yml 

在第 21 行的路徑部分,添加新的日志文件。 我們將創建兩個文件,記錄 ssh 活動的 /var/log/secure 文件 ,以及服務器日志 /var/log/messages 。

  1. paths: 
  2.   - /var/log/secure 
  3.   - /var/log/messages 

在第 26 行添加一個新配置來定義 syslog 類型的文件。

  1. document-type: syslog 

Filebeat 默認使用 Elasticsearch 作為輸出目標。 在本教程中,我們將其更改為 Logshtash。 在 83 行和 85 行添加注釋來禁用 Elasticsearch 輸出。

禁用 Elasticsearch 輸出:

  1. #-------------------------- Elasticsearch output ------------------------------ 
  2. #output.elasticsearch: 
  3.   # Array of hosts to connect to
  4. #  hosts: ["localhost:9200"

現在添加新的 logstash 輸出配置。 去掉 logstash 輸出配置的注釋,并將所有值更改為下面配置中的值。

  1. output.logstash: 
  2.   # The Logstash hosts 
  3.   hosts: ["10.0.15.10:5443"
  4.   bulk_max_size: 1024 
  5.   ssl.certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"
  6.   template.name"filebeat" 
  7.   template.path: "filebeat.template.json" 
  8.   template.overwrite: false 

保存文件并退出 vim。

將 Filebeat 設定為開機啟動并啟動。

  1. sudo systemctl enable filebeat 
  2. sudo systemctl start filebeat 

步驟 7 - 在 Ubuntu 客戶端上安裝并配置 Filebeat

使用 ssh 連接到服務器。

  1. ssh root@ubuntu-clientIP 

使用 scp 命令拷貝證書文件。

  1. scp root@elk-serverIP:~/logstash-forwarder.crt . 

創建一個新的目錄,將證書移動到這個目錄中。

  1. sudo mkdir -p /etc/pki/tls/certs/ 
  2. mv ~/logstash-forwarder.crt /etc/pki/tls/certs/ 

在服務器上導入 elastic 密鑰。

  1. wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - 

下載 Filebeat .deb 包并且使用 dpkg 命令進行安裝。

  1. wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-amd64.deb 
  2. dpkg -i filebeat-5.1.1-amd64.deb 

轉到配置目錄并編輯 filebeat.yml 文件。

  1. cd /etc/filebeat/ 
  2. vim filebeat.yml 

在路徑配置部分添加新的日志文件路徑。

  1. paths: 
  2.   - /var/log/auth.log 
  3.   - /var/log/syslog 

設定文檔類型為 syslog 。

  1. document-type: syslog 

將下列幾行注釋掉,禁用輸出到 Elasticsearch。

  1. #-------------------------- Elasticsearch output ------------------------------ 
  2. #output.elasticsearch: 
  3.   # Array of hosts to connect to
  4. #  hosts: ["localhost:9200"

啟用 logstash 輸出,去掉以下配置的注釋并且按照如下所示更改值。

  1. output.logstash: 
  2.   # The Logstash hosts 
  3.   hosts: ["10.0.15.10:5443"
  4.   bulk_max_size: 1024 
  5.   ssl.certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"
  6.   template.name"filebeat" 
  7.   template.path: "filebeat.template.json" 
  8.   template.overwrite: false 

保存并退出 vim。

將 Filebeat 設定為開機啟動并啟動。

  1. sudo systemctl enable filebeat 
  2. sudo systemctl start filebeat 

檢查服務狀態:

  1. systemctl status filebeat 

Filebeat is running on the client Ubuntu 

Filebeat is running on the client Ubuntu

步驟 8 - 測試

打開您的網絡瀏覽器,并訪問您在 Nginx 中配置的 elastic stack 域名,我的是“elk-stack.co”。 使用管理員密碼登錄,然后按 Enter 鍵登錄 Kibana 儀表盤。 

Login to the Kibana Dashboard with Basic Auth 

Login to the Kibana Dashboard with Basic Auth

創建一個新的默認索引 filebeat-*,然后點擊“創建”按鈕。

Create First index filebeat for Kibana 

Create First index filebeat for Kibana

默認索引已創建。 如果 elastic stack 上有多個 beat,您可以在“星形”按鈕上點擊一下即可配置默認 beat。

Filebeat index as default index on Kibana Dashboard 

Filebeat index as default index on Kibana Dashboard

轉到 “發現” 菜單,您就可以看到 elk-client1 和 elk-client2 服務器上的所有日志文件。

Discover all Log Files from the Servers 

Discover all Log Files from the Servers

來自 elk-client1 服務器日志中的無效 ssh 登錄的 JSON 輸出示例。

JSON output for Failed SSH Login 

JSON output for Failed SSH Login

使用其他的選項,你可以使用 Kibana 儀表盤做更多的事情。

Elastic Stack 已安裝在 CentOS 7 服務器上。 Filebeat 已安裝在 CentOS 7 和 Ubuntu 客戶端上。

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2014-12-01 11:27:54

CentOS 7Docker

2019-09-27 08:52:12

RHELCentOSElastic sta

2015-09-10 11:38:37

iTOPCentOS開源

2015-12-11 13:16:10

CentOS 7Redis服務器

2015-12-29 13:59:53

Ubuntu 15.0CentOS 7Android Stu

2016-01-06 13:04:13

CentOS 7Ubuntu 15.0Laravel

2017-03-21 15:51:57

LinuxCentOS 7MariaDB 10

2017-08-15 11:58:15

LinuxCentOSApache Hado

2011-04-06 09:16:05

2017-06-05 13:02:55

CentOS 7iRedMailSamba4 AD

2013-04-07 15:14:41

2013-12-04 14:45:22

2020-03-02 14:06:54

CentOS 8FFmpegLinux

2019-04-08 09:00:00

CentOS 7ElasticsearLinux

2015-12-11 09:45:45

CentOSZephyr工具

2015-12-21 13:19:23

CentosRHEL 6.XWetty

2019-12-02 11:50:09

CentOS 8VirtualBoxLinux

2017-04-24 18:10:27

DrupalCentOSFedora

2017-04-11 13:20:06

CentOSRHELFedora

2019-10-12 10:24:06

CentOSRHELCockpit
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品91久久 | 成人二区三区 | 在线视频一区二区三区 | 国产精品视频一二三区 | 国产九九av | 无人区国产成人久久三区 | 中文字幕视频在线 | 国产一区二区 | 狠狠色香婷婷久久亚洲精品 | 久久精品视频在线观看 | 毛片网站在线观看视频 | 在线小视频 | 伊人免费观看视频 | 欧美综合色 | 精品亚洲一区二区 | 日韩av一区二区在线观看 | 一级网站| 色秀网站 | 国产在线精品一区 | 一区在线观看视频 | 国产视频精品视频 | 亚洲午夜在线 | 色呦呦在线 | a在线视频 | 精精国产xxxx视频在线 | 亚洲成a人片 | 久久精品亚洲精品国产欧美 | 亚洲在线一区 | 国产一区二区精华 | 日日夜夜天天综合 | 中文字幕在线不卡播放 | 亚洲一二三区av | 国产亚洲精品久久久久久牛牛 | 亚欧洲精品在线视频免费观看 | 亚洲一卡二卡 | 久久婷婷国产香蕉 | 精品久 | 成人免费观看视频 | 欧美中文在线 | 国产露脸国语对白在线 | 成人av电影网 |