官方提供了两种收集 Nginx 指标的方式。第一种是 Nginx metric library,这是一段Lua脚本(prometheus.lua),Nginx需要开启Lua支持(libnginx-mod-http-lua 模块)。为方便起见,也可以使用 OpenResty的OPM(OpenResty Package Manager)来安装。
第二种是 Nginx VTS exporter,这种方式比第一种要强大的多,安装要更简单,支持的指标也更丰富,它依赖于nginx-module-vts模块,vts模块可以提供大量的 Nginx 指标数据,可以通过 JSON、HTML 等形式查看这些指标。Nginx VTS exporter 就是通过抓取 /status/format/json 接口来将 vts 的数据格式转换为 Prometheus 的格式。不过,在 nginx-module-vts 最新的版本中增加了一个新接口:/status/format/prometheus,这个接口可以直接返回 Prometheus 的格式,从这点这也能看出 Prometheus的影响力,目前Nginx VTS exporter基本退役了,所以我们只需安装此模块即可。无需安装基于nginx的exporter。
这里假定要监控的nginx服务器IP地址为172.16.213.70,后面会用到这个IP地址。
1、安装nginx以及nginx-module-vts模块
nginx必须安装nginx-module-vts模块支持,它提供对虚拟主机状态信息的访问,它包含当前状态,如服务器、upstreams、缓存等,此模块自带了prometheus可读取的数据格式,因此,只