热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ELK如何分析nginxaccess日志

ELK如何分析nginxaccess日志,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题

ELK如何分析nginx access日志,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

注意:修改配置后建议重新创建index

1、nginx 日志文件格式

log_format elk "$http_clientip | $http_x_forwarded_for | $time_local | $request | $status | $body_bytes_sent | "
 "$request_body | $content_length | $http_referer | $http_user_agent | "
 "$http_COOKIE | $remote_addr | $hostname | $upstream_addr | $upstream_response_time | $request_time";

2、logstash nginx 服务器上的配置文件 agent.conf

input {  
        file {  
                type => "elk_frontend_access"  
                path => ["/data/logs/flight1-access_log"]  
        }
}  
filter {
ruby {
init => "@kname = ['http_clientip','http_x_forwarded_for','time_local','request','status','body_bytes_sent','request_body','content_length','http_referer','http_user_agent','http_COOKIE','remote_addr','hostname','upstream_addr','upstream_response_time','request_time']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('message').split('|'))])
new_event.remove('@timestamp')
event.append(new_event)"
}
if [request] {
ruby {
init => "@kname = ['method','uri','verb']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('request').split(' '))])
new_event.remove('@timestamp')
event.append(new_event)
"
}
if [uri] {
ruby {
init => "@kname = ['url_path','url_args']"
code => "new_event = LogStash::Event.new(Hash[@kname.zip(event.get('uri').split('?'))])
new_event.remove('@timestamp')
event.append(new_event)
"
}
kv {
prefix => "url_"
source => "url_args"
field_split => "& "
remove_field => [ "url_args","uri","request" ]
}
}
}
mutate {
convert => ["body_bytes_sent" , "integer", "content_length", "integer", "upstream_response_time", "float","request_time", "float"]
}
date {
match => [ "time_local", "dd/MMM/yyyy:hh:mm:ss Z" ]
locale => "en"
}
        grok {
        match => { "message" => "%{IP:clientip}" }
  }
        geoip 
{
        source => "clientip"
        }
}
output {
        redis {  
                host => "10.10.45.200"  
                data_type => "list"  
                key => "elk_frontend_access:redis"  
                port=>"5379"  
        }  
}

3、logstash elk服务器上的配置文件server.conf

input {  
        redis {  
                host => "10.10.45.200"  
                data_type => "list"  
                key => "elk_frontend_access:redis"  
                port =>"5379"  
        }  
}  
output {  
        elasticsearch {  
                hosts => "10.10.45.200:8200"  
                index => "logstash-zjzc-frontend-%{+YYYY.MM.dd}"  
        }  
        stdout {  
            codec => rubydebug  
        }  
}

注意:如果修改后没有生效,在kibana上重建索引。

看完上述内容,你们掌握ELK如何分析nginx access日志的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程笔记行业资讯频道,感谢各位的阅读!


推荐阅读
  • centos6.8 下nginx1.10 安装 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 这篇文章主要讲解了“openPNE怎么创建项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“open ... [详细]
  • 优秀到卓越就差比他更快搭建elk集群架构上篇
    工作原理开源分布式搜索引擎,特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制 ... [详细]
  • 概述我们非常高兴地宣布,现在您可以创建跨越整个区域的虚拟网络(VNet)了。创建新的虚拟网络时,可以将其关联到区域,而不是关联到关联组。部署到区域虚拟网络中的新服务可使用该区域提供 ... [详细]
  • E L K ⽇ 志 分 析系统
    ELK⽇志分析系统elk介绍1.应⽤需求前景(1)业务发展越来越庞⼤,服务器越来越多;(2)各种访问⽇志、应⽤⽇志、错误⽇志量越来越多,导致运维⼈员⽆法很好的去管理⽇志;(3)开 ... [详细]
  • ELK 日志采集框架(七):Kibana安装与配置
    1资源资源信息版本号备注 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • AssetbundlegenerateemptyJavaScriptandCSSfiles资产包生成空的JavaScript和CSS文件namespacefrontend\ass ... [详细]
  • 案例–聊天机器人1演示案例要完成的效果实现步骤:①梳理案例的代码结构②将用户输入的内容渲染到聊天窗口③发起请求获取聊天消息④将机器人的聊天内容转为语音⑤通过播放语音 ... [详细]
author-avatar
少年tyrty
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有