1. 程式人生 > 實用技巧 >elk日誌分析系統部署

elk日誌分析系統部署

elastic官網地址:https://www.elastic.co/cn/elastic

產品地址:https://www.elastic.co/cn/elastic-stack

yum源地址:https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum

ELK主要由ElasticSearch、Logstash和Kibana三個開源工具組成

產生日誌--》收集日誌--》儲存日誌--》展示日誌--》檢視日誌

elasticsearch:主要用於彈性搜尋,日誌儲存,接受logstash提交得日誌,進行儲存

logstash:手機appserver產生得log,並存放到elasticsearch叢集當中

kibana:視覺化平臺,能夠搜尋、展示儲存在elasticsearch中得索引資料,使用它可以很方便得用圖表、表格、地圖展示和分析資料

安裝:

環境準備:

  系統:CentOS Linux release 7.5

  伺服器IP:192.168.53.6、192.168.53.7

1、配置jdk環境(略)

2、配置域名解析

  echo -e "192.168.53.6 elk-node1\n192.168.53.7 elk-node2" >>/etc/hosts

3、安裝elasticsearch

基礎環境安裝:elk-node1、elk-node2同時操作

1)安裝yum源

vim/etc/yum.repos.d/elk.repo

[ELK]
name=ELK-Elasticstack
baseurl=https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum/elastic-7.x/
gpgcheck=0
enabled=1
1 # yum -y install elasticsearch 
2 # yum -y install elasticsearch --downloadonly --downloaddir=./    #只下載不安裝

2)配置部署

  自定義儲存日誌目錄

  # mkdir -p /data/es-datas

  # chown -R elasticsearch.elasticsearch /data/es-data  ##安裝elasticsearch時候會生成內建使用者

  追加配置以下內容:

屬性名 說明
cluster.name: my-application 配置叢集名稱,同一個叢集名稱必須一致
node.name: elk-node1 節點名稱,建議和主機名稱一致
path.data: /data/es-data  資料存放路徑
path.logs: /var/log/elasticsearch 日誌存放路徑
bootstrap.mlockall: true 鎖住記憶體不被使用到交換分割槽
network.host: 0.0.0.0 網路設定
http.port: 9200
transport.tcp.port 叢集節點之間得通訊埠,預設9300
discovery.seed_hosts 叢集發現,配置該節點會與哪些候選地址進行通訊 #不需要配置
cluster.initial_master_nodes 當你第一次啟動全新的Elasticsearch叢集時,會有一個叢集引導(cluster bootstrapping)步驟,這個步驟會確定一個在第一次選舉中投票被計數的、並且可以成為master節點的集合。在開發模式,如果沒有配置 discovery settings,該步驟由節點自身自動執行。因為這種自動引導本質上是不安全的,當您在生產模式下啟動一個全新的叢集時,你必須顯式指定那些可以成為master節點的名稱或者IP地址,這些節點應該在第一次選舉中計算選票數

啟動服務

[root@elk-node1 ~]# systemctl start elasticsearch.service 
[root@elk-node1 ~]# systemctl status elasticsearch.service 
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-12-12 22:39:40 PST; 10s ago
     Docs: https://www.elastic.co
 Main PID: 3114 (java)
    Tasks: 42
   Memory: 1.2G
   CGroup: /system.slice/elasticsearch.service
           ├─3114 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.network...
           └─3299 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

Dec 12 22:38:59 elk-node1 systemd[1]: Starting Elasticsearch...
Dec 12 22:39:40 elk-node1 systemd[1]: Started Elasticsearch.

節點2做同樣操作

4、logstash安裝:部署在應用伺服器

# https://mirrors.tuna.tsinghua.edu.cn/elasticstack/yum/elastic-7.x/7.10.1/logstash-7.10.1-x86_64.rpm
# rpm -ivh logstash-7.10.1-x86_64.rpm

  修改配置檔案

    vim /etc/logstash/logstash.yml

      http.host: “0.0.0.0”

    # cp /etc/logstash/logstash-sample.conf /etc/logstash/conf.d/logstash.conf

    # vim /etc/logstash/conf.d/logstash.conf

      # Sample Logstash configuration for creating a simple

# Beats -> Logstash -> Elasticsearch pipeline.

input {
beats {
port => 5044
}
}

output {
elasticsearch {
hosts => ["http://192.168.53.6:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}

自定義手機日誌得話模板如下:

input {
 file {
   path => "/var/log/messages"
   type => "system"
   start_position => "beginning"
 }
}
output {
 elasticsearch {
   hosts => ["192.168.53.6:9200"]
   index => "system-%{+YYYY.MM.dd}"
 }
}

啟動

5、部署kibana

  yum -y install kibana

  修改配置檔案

vim /etc/kibana/kibana.ymlm

server.port: 5601

server.host: “0.0.0.0”

elasticsearch.hosts: [“http://localhost:9200”]

kibana.index: “.kibana”

待完善... ...