ELK堆棧(Elasticsearch、Logstash、Kibana)是一個流行的日志管理和分析解決方案,可以用于收集、處理、存儲和可視化日志數據。以下是使用ELK堆棧分析CentOS上的Node.js日志的步驟:
下載Elasticsearch:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.12.0-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/elasticsearch-7.12.0
配置Elasticsearch:
編輯 /usr/local/elasticsearch-7.12.0/config/elasticsearch.yml
文件,設置集群名稱、節點名稱和監聽地址等參數。
啟動Elasticsearch:
./bin/elasticsearch
下載Kibana:
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.12.0-linux-x86_64.tar.gz
tar -zxvf kibana-7.12.0-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/kibana-7.12.0
配置Kibana:
編輯 /usr/local/kibana-7.12.0/config/kibana.yml
文件,設置Elasticsearch的URL。
啟動Kibana:
./bin/kibana
下載Logstash:
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.12.0-linux-x86_64.tar.gz
tar -zxvf logstash-7.12.0-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/logstash-7.12.0
配置Logstash:
編輯 /usr/local/logstash-7.12.0/config/logstash.conf
文件,配置輸入、過濾和輸出插件。例如,使用Filebeat收集日志:
input {
beats {
port => 5044
}
}
filter {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:log-level}-%{GREEDYDATA:message}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "nodejs-logs-%{+YYYY.MM.dd}"
}
}
啟動Logstash:
./bin/logstash -f logstash.conf
安裝Filebeat:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.12.0-linux-x86_64.tar.gz
tar -zxvf filebeat-7.12.0-linux-x86_64.tar.gz -C /usr/local
cd /usr/local/filebeat-7.12.0
配置Filebeat:
編輯 /usr/local/filebeat-7.12.0/filebeat/filebeat.yml
文件,設置Logstash的地址和日志文件路徑。
啟動Filebeat:
./bin/filebeat -e
訪問Kibana界面:
打開瀏覽器,訪問 http://localhost:5601
,使用Elasticsearch的URL(通常是 http://localhost:9200
)進行登錄。
創建儀表板: 在Kibana中創建儀表板,展示Node.js日志的關鍵信息和趨勢。
通過以上步驟,你可以使用ELK堆棧有效地收集、處理、存儲和可視化CentOS上的Node.js日志。這不僅提高了日志分析的效率和準確性,還為系統的性能優化提供了寶貴的數據支持。