Metricbeat介绍
1、Metricbeat简介
-
用来定期搜集操作系统,软件的指标数据
-
Metric vs Logs
-
Metric -- 可聚合的数据,定期收集
-
Logs 文本数据,随机收集
-
-
指标存储在 Elasticsearch 中,可以通过 kibana 进行实时的数据分析
2、Metricbeat组成
-
Module
- 搜集的指标对象,例如不同的操作系统,不同的数据库,不同的应用程序
-
Metricset
-
一个 Module 可以有多个 metricset
-
具体的指标集合,以减少调用次数为原则进行划分
- 不同的 metricset 可以设置不同的抓取时长
-
3、Module
- Metricbeat提供了大量的开箱即用的Module
https://www.elastic.co/guide/en/beats/metricbeat/index.html
-
通过执行
./metricbeat modules list
查看 -
通过执行
./metricbeat modules enable module_name
定制
4. 安装配置
安装metricbeat
tar -zxvf metricbeat-7.3.2-linux-x86_64.tar.gz
编辑metricbeat.yml配置文件
grep -Ev "#|^$" metricbeat.yml
metricbeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
setup.template.settings:
index.number_of_shards: 1
index.codec: best_compression
setup.dashboards.enabled: false
setup.kibana:
host: "10.135.73.73:5601"
output.kafka:
hosts: ["10.135.50.82:9092", "10.135.50.83:9092", "10.135.50.84:9092"]
topic: 'metricbeat-baichuan'
partition.round_robin:
reachable_only: false
worker: 2
required_acks: 1
compression: gzip
max_message_bytes: 10000000
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
logging.level: error
# 打开 nginx 模块
./metricbeat modules enable nginx
# 打开 kibana 模块
./metricbeat modules enable kibana
# 打开 elasticsearch 模块
./metricbeat modules enable elasticsearch
# 将 kibana 相关的 dashboard 插入 elasticsearch 当中,运行前需确保 kibana 和 elasticsearch 都已经运行了
./metricbeat setup --dashboards
#编辑相关的modules
vim ./modules.d/nginx.yml
运行metricbeat
nohup ./metricbeat -e -c metricbeat.yml -d "publish" &
示例
https://discuss.elastic.co/t/solved-netflow-module-error-in-visualization/192694
PUT /metricbeat-*/_mapping"
{
"properties": {
"process.name": {
"type": "text",
"fielddata": true
}
}
}
PUT /metricbeat-*/_mapping
{
"properties": {
"system.filesystem.mount_point": {
"type": "text",
"fielddata": true
}
}
}
./kibana/7/dashboard/Metricbeat-host-overview.json