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