lapis 是基于openresty 扩展的,因此直接将支持prometheus的模块构建进openresty 就能够了
我使用的是nginx-module-vts 模块html
我已经构建好了支持的基础镜像,能够直接配置便可,具体的能够看下面的参考资料nginx
version: "3" services: api: build: ./ ports: - "8080:8080" volumes: - "./web:/web"
FROM dalongrong/lapis-1.7.0:metrics ENTRYPOINT [ "lapis","server" ]
FROM dalongrong/openresty-nginx-module-vts:fat RUN apk add openssl-dev WORKDIR /web RUN /usr/local/openresty/luajit/bin/luarocks install lapis
worker_processes ${{NUM_WORKERS}}; error_log stderr notice; daemon off; pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; vhost_traffic_status_zone; server { listen ${{PORT}}; lua_code_cache ${{CODE_CACHE}}; vhost_traffic_status_filter_by_set_key $uri uris::$server_name; vhost_traffic_status_filter_by_host on; location / { vhost_traffic_status_bypass_limit on; default_type text/html; content_by_lua ' require("lapis").serve("app") '; } location /status { vhost_traffic_status_display; vhost_traffic_status_display_format html; } location /static/ { alias static/; } location /favicon.ico { alias static/favicon.ico; } } }
docker-compose up -d
https://github.com/rongfengliang/openresty-nginx-module-vts
https://github.com/rongfengliang/openresty_nginx-module-vts_prometheus_grafana
https://github.com/rongfengliang/lapis-dockergit