nginx 狀態頁可用於分析目前的服務健康狀態和負載,如何通過 elastic stack 進行一站式的資料採集,資料清洗,資料落地,資料視覺化,讓資料發揮真正的價值呢?架構設計
涉及到 elastic stack 中 metricbeat 是用於採集 nginx 相關的效能指標, elasticsearch 是用於對於資料落地儲存和搜尋的引擎, kibana 是用於對資料視覺化的工具。
在 nginx 中相關的狀態頁面需要通過開啟 http_stub_status_module 這個模組獲取,在編譯 nginx 時,通過加上--with-http_stub_status_module
進行開啟,對應的訪問/nginx_status
頁面就可以獲取的 nginx 的服務狀態了。
實施方法
以 docker 環境下為例
nginx
啟動 nginx 容器,並且將儲存卷對映到日誌目錄
docker run -d --name nginx -p 80:80 nginx:latest
進入容器修改配置
docker exec -it nginx /bin/bash
安裝 vim 工具,便於修改配置
apt update; apt install vim
新增 status 頁面
vim /etc/nginx/conf.d/default.conf
location /nginx_status
metricbeat
啟動 metricbeat 容器
docker run -d --name metricbeat --user=root elastic/metricbeat:7.9.2
進入容器修改配置
docker exec -it metricbeat /bin/bash
修改配置,新增 elasticsearch 和 kibana 的主機
vi metricbeat.yml
metricbeat.config.modules
:path
: $/modules.d/*.yml
reload.enabled
:false
processors:-
add_cloud_metadata:~
-add_docker_metadata:~
output.elasticsearch
:hosts
:'elasticsearch:9200'
username
:'elastic'
password
:'***'
setup.kibana
:host
:"kibana:5601"
啟用 nginx 採集模組
metricbeat modules enable nginx
編輯 nginx 採集配置
vi modules.d/nginx.yml
-
module
: nginx
metricsets
:- stubstatus
period
: 10s
hosts:[
""]server_status_path
:"nginx_status"
設定 metricbeat 建立 kibana上的 index pattern 和 dashboard
metricbeat setup
重啟 metricbeat 生效配置
docker restart metricbeat
視覺化展示
通過 kibana 中的 dashboard 功能
展示目前 nginx 的連線數等請求資料
Metricbeat 採集 Docker 指標
dokcer本身命令列介面去管理集群內的資源物件,例如有需求想檢視某一些容器在任意的時間段效能的使用情況,如何通過 elastic stack 進行一站式的資料採集,資料清洗,資料落地,資料視覺化,讓資料發揮真正的價值呢?架構設計 涉及到 elastic stack 中 metricbeat 是用於...
Metricbeat環境搭建
將檔案包上傳到伺服器中 解壓tar xvf metricbeat 6.5.4 linux x86 64.tar.gz進入metricbeat 6.5.4 linux x86 64中,修改metricbeat.yml 設定在elasticsearch中分片的數量 index.number of sha...
MediaSoup demo模組增加nginx
相關連線 webrtc 框架學習 一 mediasoup基本框架學習 使用docker 搭建mediasoup服務 mediasoup demo模組增加nginx 使用docker 搭建mediasoup服務 github專案路徑 docker hub 路徑 nginx 配置檔案 nginx.con...