Nginx 是一种流行的 HTTP 服务器和反向代理服务器。作为 HTTP 服务器,Nginx 可以非常有效和可靠地提供静态内容;作为反向代理,它可以用作多个后端服务器或其他应用程序(例如缓存和负载平衡)的单个访问入口。
Nginx 同时提供了免费的开源版本,以及更能更全面的商业发行版本 Nginx Plus。
监控目标
监控 Nginx 服务的数据源包括指标和日志两类数据,监控内容包括:
-
统计服务的基本使用情况
-
统计服务接收到的请求和回复
解决方案
为 Nginx 服务配置 status API 以及写入到文件的 access log
使用 Vector agent 通过 Nginx status API 和 access log 文件采集数据,并将数据通过 HEI 导入指定的数据集
使用仪表板展示 Nginx 服务的状态信息
操作步骤
1、部署 Nginx [操作步骤]
(https://docs.nginx.com/nginx/admin-guide/installing-nginx/installing-nginx-open-source/)
配置 status API
配置写入到文件的 access log
2、创建数据集 [操作步骤]
(https://www.yanhuangdata.com/honghu_manual/docs/data_management/eventset/#%E5%88%9B%E5%BB%BA%E6%95%B0%E6%8D%AE%E9%9B%86)
如使用已经存在的数据集,可跳过此步骤
3、创建 HEI endpoint [操作步骤]
(https://www.yanhuangdata.com/honghu_manual/docs/gdi/push_based/#%E6%96%B0%E5%BB%BAhei%E7%AB%AF%E5%8F%A3%E6%8E%A5%E6%94%B6%E6%95%B0%E6%8D%AE)
如使用已经存在的 HEI endpoint,可跳过此步骤
4、部署 Vector agent 导入数据 [操作步骤]
(https://vector.dev/docs/setup/quickstart/)
5、导入 Nginx 服务监控仪表板 [操作步骤]
(https://www.yanhuangdata.com/honghu_manual/docs/dashboard/#%E5%88%9B%E5%BB%BA%E4%BB%AA%E8%A1%A8%E6%9D%BF)
📎nginx_monitoring.json
(具体内容请至官网加入鸿鹄技术交流群获取)
仪表板 Screenshot
Nginx 监控
后续工作
除 access log 之外,还可以导入 Nginx 的 error log ,进一步提高对服务的监控能力。