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”
待完善... ...