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