Azure Data Explorer 日志分析解决方案
很多小伙伴在日常日志分析方面都在使用 ES (ElasticSearch),但微软云 Azure 上没有原生的托管的 ES PaaS 服务。其实微软云上 Azure Data Explorer 是一款非常适合做日志分析的服务,微软云原生的 LogAnalytics 服务就是基于 Azure Data Explorer 服务构建的,相较于数据源的灵活性,LogAnalytics 对于微软云原生服务作为数据源兼容性更好,对于希望自己灵活构建数据源的小伙班这里我推荐大家使用 Azure Data Explorer 服务,它可以平滑的将你现有的 ELK 技术栈继承过来,它原生支持与 LogStash 的集成,从而可以将各种日志数据源采集到 Azure Data Explorer 中进行分析查询。除此之外 Azure Data Explorer 作为 PaaS 托管服务用户无需关心底层 Infra 的基础构建,并且可以实现平滑的水平扩展满足性能的要求。
本文以 Nginx 的 Access Log 为例,为大家介绍如何通过 Filebeat + Logstash + Azure Data Explorer 来实现日志收集和分析。架构图参考如下:
Nginx 本文示例中采用 1.16.1 版本,从1.11.8 版本开始 Nginx Access Log 已经原生支持 Json 格式,大家可以参考如下 Nginx 配置文件,对 Access Log 格式进行定义,创建 nginx-log-json.conf
log_format json escape=json '{ ' '"remote_ip": "$remote_addr", ' '"user_name": "$remote_user", ' '"time": "$time_iso8601", ' '"method": "$request_method", ' '"nginxhostname": "$host", ' '"url": "$request_uri", ' '"http_protocol": "$server_protocol", ' '"response_code": "$status", ' '"bytes": "$body_bytes_sent", ' '"referrer": "$http_referer", ' '"user_agent": "$http_user_agent" ' '}';
相关文章