1. 程式人生 > >CentOS7中ELK6.2.3安裝

CentOS7中ELK6.2.3安裝

  一、配置主機名
  1. hostnamectl set-hostname elk
  2. vim /etc/sysconfig/network修改HOSTNAME=elk
  3. 安裝Java環境:yum install java-1.8.0-openjdk.x86_64
  4. 新增JAVA環境:vim /etc/profile,新增下列行,儲存後執行source /etc/profile export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre export CLASSPATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
  5. 配置網路:/etc/hosts中新增172.16.4.141 elk
  6. 關閉防火牆(如果因為其他原因不能關閉防火牆,也請不要禁止80埠):systemctl stop firewalld.service
  7. 禁止防火牆自動啟動:systemctl disable firewalld.service
  8. 開啟檔案/etc/security/limits.conf,新增下面四行內容:
    • * soft nofile 65536
    • * hard nofile 131072
    • * soft nproc 2048
    • * hard nproc 4096
  9. 開啟檔案/etc/sysctl.conf,新增下面一行內容:vm.max_map_count=655360
  10. 載入sysctl配置,執行命令:sysctl -p
  11. 重啟: reboot
  二、下載程式
  1. 請在ELK官網 https://www.elastic.co/downloads下載以下檔案,並放置到/opt目錄下。
  2. 進入/opt目錄下分別執行下列命令解壓:
    • tar -zvxf elasticsearch-6.2.3.tar.gz
    • tar -zvxf logstash-6.2.3.tar.gz
    • tar -zvxf kibana-6.2.3-linux-x86_64.tar.gz
    三、設定使用者,ElasticSerach要求以非root身份啟動,所以我們要建立一個使用者:
  1. 建立使用者組:groupadd elasticsearch
  2. 建立使用者加入使用者組:useradd elasticsearch -g elasticsearch
  3. 設定elasticsearch-6.2.3資料夾為使用者elasticsearch所有:chown -R elasticsearch.elasticsearch /opt/elasticsearch-6.2.3
  4. 設定logstash-6.2.3.資料夾為使用者elasticsearch所有:chown -R elasticsearch.elasticsearch /opt/logstash-6.2.3
  5. 設定kibana-6.2.3-linux-x86_64資料夾為使用者elasticsearch所有:chown -R elasticsearch.elasticsearch /opt/kibana-6.2.3-linux-x86_64
  四、啟動Elasticsearch
  1. 切換到使用者elasticsearch:su elasticsearch;
  2. 進入目錄/opt/elasticsearch-6.2.3;
  3. 執行啟動命令:bin/elasticsearch -d,此時會在後臺啟動elasticsearch;
  4. 檢視啟動日誌可執行命令:tail -f /opt/elasticsearch-6.2.3/logs/elasticsearch.log,大約五到十分鐘後啟動成功。
  5. 通過命令:ss -tanl檢視9200、9300埠是否啟動成功。
  6. 設定開機啟動:將:/opt/elasticsearch-6.2.3/bin/elasticsearch -d加入到/etc/rc.d/rc.local末尾,並執行:chmod +x /etc/rc.d/rc.local
  7. 執行:curl 127.0.0.1:9200 檢查服務是否正常,注意,此時外網可能無法訪問Elasticsearch,這是正常情況。
  8. 如果要設定其它機器也能訪問,可以修改config/elasticsearch.yml中的network.host : 0.0.0.0
  9. 如果要設定資料目錄,可以修改config/elasticsearch.yml中的 path.data:/data/elk/data
  10. 如果要設定日誌目錄,可以修改config/elasticsearch.yml中的 path.logs:/data/elk/logs
  11. 建議在/opt/elasticsearch-6.2.3目錄下新建一個start.sh角本,內容如下:
    1. #!/bin/bash
    2. /opt/elasticsearch-6.2.3/bin/elasticsearch -d
  12. 執行chmod 777 start.sh,並在/etc/rc.d/rc.local中加入/opt/elasticsearch-6.2.3/start.sh來實現開機啟動。
  五、配置和啟動Logstash
  1. cd /opt/logstash-6.2.3
  2. 在目錄/opt/logstash-6.2.3下建立檔案default.conf,內容如下:
    1. input {
    2.     #beats {
    3.     #    port => "5044"
    4.     #}
    5.     tcp {
    6.           port=> 5044
    7.           codec => "json"
    8.     }
    9. }
    10. filter {
    11.     grok {
    12.         match => { "message" => "%{COMBINEDAPACHELOG}" }
    13.     }
    14.     geoip {
    15.         source => "clientip"
    16.     }
    17. }
    18. output {
    19.     elasticsearch {
    20.         hosts => ["127.0.0.1:9200"]
    21.     }
    22. }
  3. 後臺啟動Logstash服務:nohup bin/logstash -f default.conf --config.reload.automatic &
  4. 檢視日誌 tail -f logs/logstash-plain.log或者ss -tanl檢查是否5044埠已啟動,如果啟動表示已成功。
  5. 建議在/opt/logstash-6.2.3目錄下新建一個start.sh角本,內容如下:
    1. #!/bin/bash
    2. nohup /opt/logstash-6.2.3/bin/logstash -f /opt/logstash-6.2.3/default.conf --config.reload.automatic &
  6. 執行chmod 777 start.sh,並在/etc/rc.d/rc.local中加入/opt/logstash-6.2.3/start.sh來實現開機啟動。
  六、配置和啟動Kibana
  1. cd /opt/kibana-6.2.3-linux-x86_64
  2. 修改:config/kibana.yml,將#server.host:"localhost"修改為server.host:"0.0.0.0"
  3. 執行:bin/kibana 嘗試啟動,如果啟動成功,建議新建一個角本start.sh,並設定內容如下:
    1. #!/bin/bash
    2. nohup /opt/kibana-6.2.3-linux-x86_64/bin/kibana &
  4. 執行chmod 777 ./start.sh並新增/opt/kibana-6.2.3-linux-x86_64/start.sh到/etc/rc.d/rc.local末尾實現開機啟動。
  5. 執行ss -tanl檢查5601埠是否已經完全啟動。
  七、安裝完成說明
  • 至此,ELK已全部安裝完成,親測試OK。
  • 如果某一臺伺服器上的C#或JAVA程式產生日誌,可以直接傳送日誌到LogStash。
  • 如果需要在某一臺伺服器有已輸出的log檔案,如Nginx、Tomcat,需要進行增量收集,可以使用安裝並使用FileBeat
  • 部分內容參考網站: https://blog.csdn.net/boling_cavalry/article/details/79836171