Metricbeat 轻量型指标采集器
一、介绍
用于从系统和服务收集指标。从 CPU 到内存,从 Redis 到 Nginx,Metricbeat 能够以一种轻量型的方式,输送各种系统和服务统计数据。
1、系统级监控,更简洁(轻量型指标采集器)
将 Metricbeat 部署到您所有的 Linux、Windows 和 Mac 主机,并将它连接到 Elasticsearch 就大功告成啦:您可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,以及获得如同系统上 top 命令类似的各个进程的统计数据。
2、一个二进制文件,多种模块
Metricbeat 提供多种内部模块,用于从服务中收集指标。安装简单,完全零依赖性。只需在配置文件中启用所需的模块即可,可谓是按需使用。
而且,如果您没有看到您要找的模块,还可以自己构建。新 Metricbeat 模块使用 Go 语言编写,创建过程简单。
3、输送至 Elasticsearch 或 Logstash。在 Kibana 中实现可视化。
Metricbeat 是 Elastic Stack 的一部分,因此能够与 Logstash、Elasticsearch 和 Kibana 无缝协作。无论您要使用 Logstash 转换或充实指标,还是在 Elasticsearch 中随意处理一些数据分析,亦或在 Kibana 中构建和分享仪表板,Metricbeat 都能轻松地将您的数据发送至最关键的地方。
4、容器就绪
近来是不是所有工作都转移到了 Docker 中?您可以将 Metricbeat 部署到同一台主机上单独的容器内,它将收集与主机上运行的其他每一个容器相关的统计数据。它在收集统计数据时直接从 proc 文件系统读取 cgroup 信息,这就意味着它无需特权即可访问 Docker API,这同样适用于其他运行时。针对 Docker 的 Autodiscovery 让事情进一步简化,您只需指定一个条件即可自动开启 Metricbeat 相应的模块。
5、不错过任何检测信号
将指标通过假脱机传输方式输送至磁盘,这样您的数据管道再也不会错过任何一个数据点,即使发生中断(例如网络问题),也勿需担心。Metricbeat 会保留输入数据,当恢复正常后,会将这些指标输送至 Elasticsearch 或 Logstash。
二、安装
1、下载
https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-6.5.1-x86_64.rpm
2、安装
使用rz命令把安装包导入,然后执行下面的命令。
yum install metricbeat-6.5.1-x86_64.rpm
中间按个Y就安装好了。
3、配置metricbeat:
vim /etc/metricbeat/metricbeat.yml找到下面几个配置节并修改
# 直接发送elasticsearch output.elasticsearch: hosts: ["localhost:9200"] # 要加载仪表板,可以在metricbeat设置中启用仪表板加载。当仪表板加载被启用时,Metricbeat使用Kibana API来加载样本仪表板。只有当Metricbeat启动时,才会尝试仪表板加载。 # 设置kibana服务地址 setup.kibana: host: "localhost:5601" # 加载默认的仪表盘样式 setup.dashboards.enabled: true
4、启动服务
systemctl start metricbeat systemctl enable metricbeat systemctl status metricbeat
5、预览
虽然这里我们有很多面板,但是并不是所有的都可以获取到数据。我们先看一下Host overview。
[Metricbeat System] Overview
我自己调整了下
三、启用应用程序监控(mongodb)
MongoDB metrics是metrics的一个插件,也可以说是一个基础设施。
ls /etc/metricbeat/modules.d/
很多未启用的yml文件,把MongoDB的yml文件启用
cp /etc/metricbeat/modules.d/mongodb.yml.disabled /etc/metricbeat/modules.d/mongodb.yml
修改mongodb.yml
vim /etc/metricbeat/modules.d/mongodb.yml sudo service metricbeat stop
sudo metricbeat setup sudo service metricbeat start
现在面板里的mongodb监控就可以用了。
同样,配置mysql,redis等