首页 > 系统相关 >8.利用Filebeat收集Nginx的Json格式访问日志和错误日志到Elasticsearch

8.利用Filebeat收集Nginx的Json格式访问日志和错误日志到Elasticsearch

时间:2023-08-10 17:02:13浏览次数:44  
标签:Filebeat log nginx 访问 access Nginx 日志 ubuntu2004

生产环境中经常需要获取Web访问用户的信息,比如:网站的PV,UV,状态码,用户来自哪个地区,访问时间等 

可以通过收集的Nginx的访问日志实现 

默认Nginx的每一次访问生成的访问日志是一行文本,ES没办法直接提取有效信息,不利于后续针对特定信息的分析 
可以将Nginx访问日志转换为JSON格式解决这一问题
安装 nginx 配置访问日志使用 Json格式
#安装Nginx
[root@ubuntu2004 ~]#apt update && apt -y install nginx
[root@ubuntu2004 ~]#vim /etc/nginx/nginx.conf 
.....  
    log_format access_json '{"@timestamp":"$time_iso8601",'                             '"host":"$server_addr",'       
        '"clientip":"$remote_addr",'    
        '"size":$body_bytes_sent,'
        '"responsetime":$request_time,'  
        '"upstreamtime":"$upstream_response_time",'
        '"upstreamhost":"$upstream_addr",'     
        '"http_host":"$host",'      
        '"uri":"$uri",'     
        '"domain":"$host",'     
        '"xff":"$http_x_forwarded_for",'   
        '"referer":"$http_referer",'     
        '"tcp_xff":"$proxy_protocol_addr",' 
        '"http_user_agent":"$http_user_agent",'
        '"status":"$status"}';
    access_log /var/log/nginx/access_json.log access_json ;
    
#默认开启nginx的错误日志,但如果是ubuntu,还需要修改下面行才能记录错误日志
[root@ubuntu2004 ~]#vim /etc/nginx/sites-available/default  
    location / {        
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.   
        #try_files $uri $uri/ =404;  #将此行注释
[root@ubuntu2004 ~]#systemctl restart nginx 

#用浏览器访问几次,包括404等错误访问,查看日志是否记录
10.0.0.106
10.0.0.106/xxx.html
修改 Filebeat 配置文件,收集nginx-access文件,并自定义索引名(把之前定义的注释掉)
[root@ubuntu2004 ~]# vim /etc/filebeat/filebeat.yml 
filebeat.inputs: 
  - type: log
    enabled: true 
    paths: 
    - /var/log/nginx/access.log
output.elasticsearch:
  hosts:["10.0.0.101:9200"]
  index: "nginx-access-%{[agent.version]}-%{+yyyy.MM.dd}"
setup.ilm.enabled: false        
setup.template.name: "nginx"     
setup.template.pattern: "nginx-*"

重启filebeat  
[root@ubuntu2004 ~]# systemctl restart rsyslog.service



标签:Filebeat,log,nginx,访问,access,Nginx,日志,ubuntu2004
From: https://blog.51cto.com/lmm01/7037594

相关文章

  • 一种基于Nginx的热点数据调度处理方法
    本文分享自天翼云开发者社区《一种基于Nginx的热点数据调度处理方法》,作者:康****彬一、应用场景  基于Nginx的热点数据调度处理,热点节点数据负载均衡处理,减少热点节点压力,提高处理和访问效率;每一个节点的nginx服务接收大量的访问,但是每个节点处理请求都有一个峰值,当请求数......
  • Nginx 大文件分片上传处理
    ​ 以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传  可以带参数        [HttpPost("upload")]        publicJsonResultuploadProject(I......
  • nginx动静分离及Rewrite实战
                  (1)location=/{}=为精确匹配/,主机名后面不能带任何字符串,比如访问/和/data,则/匹配,/data不匹配再比如location=/abc,则只匹配/abc,/abc/或/abcd不匹配。若location/abc,则即匹配/abc、/abcd/同时也匹......
  • 用Python学人工智能_学习日志
    学习中国MOOC"用Python学人工智能"整理的笔记——[email protected]欢迎交流20230805在python中,函数和方法很像又有不同'hello'.upper()#得到'HELLO'int(10.5)#得到10python中列表>>>a=[1,2,3,4,5]>>>a[0]1>>>a[0:3][......
  • 【Nginx用法】nginx location正则表达式写法,详解Nginx location 匹配规则(很详细哦)
    本文目录一、常用规则 二、实际使用建议三、Flag标志位四、If判断指令五、全局变量六、常用正则七、Rewrite规则八、Rewrite实例8.1实例一8.2实例二九、项目实例9.1项目一9.2项目实战作为一名Java开发人员,有些东西不经常使用,很容易忘记,好比nginx配置内容,以下内容是记录了公司......
  • nginx降低爬虫的效率
    环境nginx1.20理由不说了,就是通过Nginx一些策略来帮助防止爬虫或恶意访问配置User-Agent检测爬虫通常会使用特定的User-Agent来标识自己,Nginx可以通过检测User-Agent字符串并拒绝使用非法的User-Agent的请求。if($http_user_agent~*"badcrawler"){return403;//......
  • Nginx集群
    Nginx集群Nginx集群 Nginx简介Nginx("enginex")是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx是由IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发的,它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的......
  • Nginx 转发请求的时候,丢失请求头
    请求连接:curl-H"Content-Type:application/json;charset=utf-8"-H"channel_id:21520160723000110027"-H"sequenceid:1122"http://127.0.0.1:1095/app/api/gqzr/swxxcx-XPOST-d'{"shxydm":"911500002115000009D&quo......
  • nginx部署windows
    location/{rootD:\\nginx-1.24.0\\html\\dist;try_files$uri$uri//index.html;indexindex.htmlindex.htm;} location/api/{proxy_set_headerHost$http_host;proxy_set_headerX-Real-IP$r......
  • vue启用https服务及nginx启用https配置
    1.vue开发环境中主要是configjs配置启用https服务devServer:{https:true,//启用https} 2.nginx 申请一个ssl证书,自行申请。 下面是一个nginx例子 需要修改的配置https主要是红色标出来部分。蓝色加粗部分主要是history模式下刷新出现404的解决办法ser......