dokcer本身命令列介面去管理集群內的資源物件,例如有需求想檢視某一些容器在任意的時間段效能的使用情況,如何通過 elastic stack 進行一站式的資料採集,資料清洗,資料落地,資料視覺化,讓資料發揮真正的價值呢?架構設計
涉及到 elastic stack 中 metricbeat 是用於採集 docker 相關的效能指標, elasticsearch 是用於對於資料落地儲存和搜尋的引擎, kibana 是用於對資料視覺化的工具。
通過將宿主機的 docker 套接字對映到 metricbeat 中進行資料的採集。
實施方法
以 docker 環境下為例
metricbeat
啟動 metricbeat 容器
docker run -d --name metricbeat --user=root -v /var/run/docker.sock:/var/run/docker.sock 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 docker
編輯 nginx 採集配置
vi modules.d/docker.yml
-
module
: docker
metricsets
:- container
- cpu
- diskio
- event
- healthcheck
- info
- memory
- network
period
: 10s
hosts:[
"unix:///var/run/docker.sock"
]
設定 metricbeat 建立 kibana上的 index pattern 和 dashboard
metricbeat setup
重啟 metricbeat 生效配置
docker restart metricbeat
視覺化展示
通過 kibana 中的 dashboard 功能
展示目前 docker 的容器等相關資源物件資訊
Metricbeat 採集 Nginx 指標
nginx 狀態頁可用於分析目前的服務健康狀態和負載,如何通過 elastic stack 進行一站式的資料採集,資料清洗,資料落地,資料視覺化,讓資料發揮真正的價值呢?架構設計 涉及到 elastic stack 中 metricbeat 是用於採集 nginx 相關的效能指標,elasticse...
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...
metricbeat7 1 模板字段自己設定
1.metricbeat 字段模板定義在fields.yml 在metricbeat.yml檔案中新增,字段模板定義 setup.template.fields fields.yml 備份乙份fields.yml,現在可以修改fields.yml,刪除一些不需要用到的,如redis 等。開始安裝使用...