ELK+FileBeat日志分析系统(正式环境nginx日志)

简介: ELK+FileBeat日志分析系统(正式环境nginx日志)

在这里插入图片描述

ELK顾名思义就是:

ElasticSearch、Logstash和Kibana
这里还用到一个插件那就是filebeat进行进行采集日志
添加filebeat插件现在已经是非常提倡的做法

Logstash太耗费cpu 内存等资源了,所以可以通过filebeat来取代它

`
原理就是通过filebeat进行采集日志,发送到logstash主机然后logstash主机收集之后进行过滤发送到es进行分析方便搜索,最后用kibana进行图形化展示`

实验环境为正式环境

节点 服务 IP
proxy02 Nginx / Filebeat 192.168.80.3
log2 ElasticSearch / Logstash / Kibana 192.168.80.52

上传所需要的安装包,放到对应的节点

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验步骤

log2需要jdk(java)/es/logstash/kibana

如jdk已经安装直接跳过

[root@elasticsearch-master ~]# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

安装es

tar zxf elasticsearch-6.3.2.tar.gz
mv elasticsearch-6.3.2 /usr/local/es

调整系统文件描述符的软硬限制

vim /etc/security/limits.conf
 末尾添加
 打开文件的软限制,ES要求系统文件描述符大于65535
* soft nofile 655360
 打开文件的硬限制
* hard nofile 655360
 用户可用进程数软限制
* soft nproc 2048
 用户可用进程数硬限制
* hard nproc 4096
 JVM能够使用最大线程数
echo "vm.max_map_count=655360" >> /etc/sysctl.conf
sysctl -p 

配置Elasticsearch服务环境

useradd es
mkdir -p /es/{data,logs}  # 日志及数据存放目录
chown -R es:es /usr/local/es /es # 使用es用户启动时,权限不对也会报错

网络对时

ntpdate ntp.ntsc.ac.cn

重启log2主机

编辑elasticsearch.yml配置文件,ES默认就是集群模式的,所以只有一个节点也是集群模式

vim /usr/local/es/config/elasticsearch.yml 
 取消注释
cluster.name: my-application
node.name: node-1
 添加
node.master: true
node.data: true
 取消注释并修改
path.data: /es/data
path.logs: /es/logs
network.host: 192.168.80.52   # 改为本机ip
discovery.zen.minimum_master_nodes: 1 # master的最少节点数
 取消注释
http.port: 9200

安装Kibana

tar zxf kibana-6.3.2-linux-x86_64.tar.gz
mv kibana-6.3.2-linux-x86_64 /usr/local/kibana

修改Kibana配置文件

vim /usr/local/kibana/config/kibana.yml
 取消注释
server.port: 5601
server.host: "192.168.80.52"
 用来连接es服务
elasticsearch.url: "http://192.168.80.52:9200"

安装Logstash

tar zxf logstash-6.3.2.tar.gz 
mv logstash-6.3.2 /usr/local/logstash

编辑logstash配置文件

vim /usr/local/logstash/config/logstash.yml 
 取消注释
path.config: /usr/local/logstash/config/*.conf  # 配置文件路径
config.reload.automatic: true  # 开启自动加载配置文件
config.reload.interval: 3s   # 自动加载配置文件时间间隔
http.host: "192.168.80.52"  # 改为本机ip

proxy02需要Filebeat/Nginx
Nginx已经安装跳过
安装Filebeat

tar zxf filebeat-6.3.2-linux-x86_64.tar.gz 
mv filebeat-6.3.2-linux-x86_64 /usr/local/filebeat

整合环境
修改filebeat配置文件,将本机的nginx日志文件打标签为nginx,方便elasticsearch来创建索引
proxy02

vim /usr/local/filebeat/filebeat.yml
 添加注释
 filebeat.inputs:
- type: log
 paths:
    - /var/log/*.log
 添加以下内容为inputs配置
filebeat:
  prospectors:
    - type: log
      paths:
        - /usr/local/nginx/logs/access.log
      tags: ["nginx"]
 修改
  enabled: true # 表示以上配置是否生效
 添加注释
 output.elasticsearch:
  hosts: ["localhost:9200"]
 取消注释
output.logstash:
  hosts: ["192.168.80.52:5044"]  # 该ip为logstash的主机ip

log2
新建nginx-logstash.conf文件,用来匹配日志索引

vim /usr/local/logstash/config/nginx-logstash.conf
添加:
input {
  beats {
    port => 5044  # filebeat端口号
  }
}
 
output {
  elasticsearch { 
    hosts => "192.168.80.52:9200"   # 该ip为elasticsearch的ip和端口
    index => "nginx"  # 数据索引名
  }
}

进行启动
log2
启动es

su es
/usr/local/es/bin/elasticsearch

proxy02
启动filebeat

/usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml

log2
启动logstash

/usr/local/logstash/bin/logstash -t /usr/local/logstash/config/nginx-logstash.conf

log2
启动kibana

/usr/local/kibana/bin/kibana
各个服务启动之后阻塞信息都是INFO就没问题,遇到WARN是no route的就关闭防火墙或者放行端口

在访问kibana的ip:5601,http://192.168.80.52:5601
在这里插入图片描述
进入管理界面,通过设置索引样式可以匹配出具体索引的数据
在这里插入图片描述
设置在这个索引里使用时间字段来进行过滤数据
在这里插入图片描述
创建成功
在这里插入图片描述
创建可视化图表
在这里插入图片描述
选择样式为条形图样式
在这里插入图片描述
选择为刚才创建的索引数据生成图表
在这里插入图片描述
右上方可保存图表,自动刷新间隔,时间维度
在这里插入图片描述
在这里插入图片描述

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
1010 122
基于docker搭建监控系统&日志收集
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
|
12月前
|
Ubuntu
在Ubuntu系统上设置syslog日志轮替与大小限制
请注意,在修改任何系统级别配置之前,请务必备份相应得原始档案并理解每项变更可能带来得影响。
1283 2
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
1058 90
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
1535 55
WGLOG日志管理系统可以采集网络设备的日志吗
WGLOG日志审计系统提供开放接口,支持外部获取日志内容后发送至该接口,实现日志的存储与分析。详情请访问:https://www.wgstart.com/wglog/docs9.html
|
存储 消息中间件 缓存
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统
基于阿里云SelectDB,MiniMax构建了覆盖国内及海外业务的日志可观测中台,总体数据规模超过数PB,日均新增日志写入量达数百TB。系统在P95分位查询场景下的响应时间小于3秒,峰值时刻实现了超过10GB/s的读写吞吐。通过存算分离、高压缩比算法和单副本热缓存等技术手段,MiniMax在优化性能的同时显著降低了建设成本,计算资源用量降低40%,热数据存储用量降低50%,为未来业务的高速发展和技术演进奠定了坚实基础。
806 1
MiniMax GenAI 可观测性分析 :基于阿里云 SelectDB 构建 PB 级别日志系统