Metricbeat 採集 Nginx 指標

2021-10-25 00:01:28 字數 2234 閱讀 1330

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...