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日志。这不仅提高了日志分析的效率和准确性,还为系统的性能优化提供了宝贵的数据支持。