Kubernetes Ingress NGINX Controller 日志可视化

摘要:

Ingress NGINX Controller是一个Kubernetes上的Ingress控制器,它可以将外部流量路由到K8s集群内的服务。主要提供7层路由能力,是目前K8sHTTP/HTTPS服务的主流暴露方式。当Ingress NGINX Controller处理访问请求时,会将相关信息记录在日志中,例如请求的URL、状态码等。有了这些数据信息,对业务系统的流量分析,包括问题定位都有极大的帮助。

image.png

接下来我们将介绍如何收集Ingress NGINX Controller的日志,并将日志存储在Elasticsearch中,然后使用Grafana进行展示可视化展示及分析。如各服务的PVUV、访问最多的IP地址、最常请求的资源、历史趋势等。

日志收集

我们集群的管理日志使用filebeat收集,只需要简单配置就能收集到Ingress NGINX Controller的日志,并且filebeat有专门的模块解析Ingress NGINX Controller日志的字段,都不需要自己写gork解析日志字段。

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: kube-logging
  name: filebeat-config
  labels:
    app: filebeat
data:
  filebeat.yml: |-
    filebeat.config:
      inputs:
        # Mounted `filebeat-inputs` configmap:
        path: ${path.config}/inputs.d/*.yml
        # Reload inputs configs as they change:
        reload.enabled: true
        reload.period: 10s
      modules:
        path: ${path.config}/modules.d/*.yml
        # Reload module configs as they change:
        reload.enabled: false 
        xpack.monitoring.enabled: true
 
    # 使用filebeat autodiscover收集ingress nginx controller的日志
    filebeat.autodiscover:
      providers:
        - type: kubernetes
          templates:
            - condition:
                equals:
                  kubernetes.namespace: "ingress-nginx"
              config:
                - module: nginx
                  ingress_controller:
                    enabled: true
                    input:
                      type: container
                      paths:
                        - /var/log/containers/*-${data.kubernetes.container.id}.log
                      ignore_older: 48h
                      fields_under_root: true
                      fields:
                        servicetype: "k8s_ingress_log"

收集到日志后配置outputElasticsearch

    output.elasticsearch:
      hosts: ["elasticsearch:9200"]
      indices:
        - index: "k8s-ingress-log-%{+yyyy.MM.dd}"
          when.contains:
            servicetype: "k8s_ingress_log"

Ingress NGINX Controller 日志分析

image-20231101192902396.png

日志入库后就可以检索了。

这些访问日志通常包含URL、源IPUserAgent、状态码、入/出流量、响应时间等,数据量大、信息价值也比较高。从这些信息中,我们能够分析出非常多的信息:

  • 服务访问的PVUV
  • 访问的客户端IP信息
  • 访问的错误比例
  • 后端服务的响应延迟
  • 不同URL访问分布
  • 恶意攻击分析

当然还可以进行服务来源的地域分析,但我们的服务访问基本都发生在内网之间,所以就不做这部分的信息分析了。

有了这些信息,就可以很轻松应对业务同事的各种数据统计已经问题定位的需求了。比如面前我们有位业务系统小姐姐同事找我要访问响应状态码,统计接口的调用量,查看请求的转发等等。

Ingress 可视化

我们根据收集到的日志数据,定制了几个可视化看板:总体概览、TOPPV & UV、趋势展示、报表分析。所有可视化看板均可通过单一服务过滤,亦可根据业务系统实际场景进行定制化调整。

总体概览

总体概览看板主要展示当前集群的整体状态,主要包括以下几类信息:

  • 整体状态,包括:PVUV、处理时间、平均响应时间等
image-20231101202921347.png

TOP

TOP则可统计展示源IPUserAgentURL等比较多的信息。

image-20231101203719194.png

趋势展示

趋势展示可以分析请求数、状态码等信息的时间趋势。

image-20231101204536577.png

报表分析

最后可以根据各种需求场景,做一些统计报表。

image-20231101205019226.png
image-20231101205126377.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容