第二步:配置Metricbeat
编辑配置文件就可以配置Metricbeat。默认的配置文件名为metricbeat.yml。文件的位置与你的平台有关有所不同。具体文件位置,参考Directory layout。
还有一份名为metricbeat.reference.yml的样例配置文件,这份文件里展示了所有没有过时的配置选项。
ℹ️有关配置文件结构的更多信息,请参见Beats Platform参考的“配置文件格式”部分。
当你配置Metricbeat是,你需要指定哪些modules需要运行。Metricbeat使用modules来收集数据。每个module定义了从一个服务中收集信息的基本逻辑,比如Redis或者MySQL。一个module由获取和构建数据集组成。更多信息参阅Metricbeat是如何工作的。
配置Metricbeat:
- 启用需要运行的modules。如果你使用默认配置文件,不添加其他modules,那么Metricbeat将只收集系统数据。(推荐)启用modules.d目录中定义的默认模块配置,或将配置添加到metricbeat.yml文件。modules.d目录包含所有可用Metricbeat模块的默认配置。
如果你使用的是Docker镜像,参阅在Docker上运行Metricbeat。
下面这些例子启用了在modules.d目录中apache和mysql配置:(译者注:其实就是将modules.d目录下的.disable后缀的配置文件重命名为.yml后缀即可启用)
deb and rpm:
metricbeat modules enable apache mysql
mac and linux:
./metricbeat modules enable apache mysql
win:
PS > .\metricbeat.exe modules enable apache mysql
参阅modules command了解更多关于这个命令的信息
要更改默认模块配置,请修改modules.d目录中的.yml文件。有关可用设置的更多信息,参见Standard config options
如果你想吧module配置添加到metricbeat.yml而不是使用modules.d目录,请参阅Modules。
- 配置输出。 Metricbeat支持多个输出。通常情况下,直接讲事件发送到Elasticssearch或者交由Logstash做其他处理。
将数据直接发送到Elasticsserach(不使用Logstash),设置Elasticsearch安装路径:
- 如果 你使用Elastic Cloud托管Elasticsearch Serivce,指定你的Cloud ID,如下:
cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw=="
- 如果你在自己的机器上运行Elasticsearch,设置Metricbeat可以找到Elasticsearch位置的主机和端口,如下:
output.elasticsearch:
hosts: ["myEShost:9200"]
将输出发送到Logstash, 参考配置Logstash输出。其他输出,参考Output。
- 如果你打算用Metricbeat提供的样例Kibana,配置kibana endpoint。你可以跳过此步如果Kibana运行在与Elasticsearch同一台机器上:
setup.kibana:
host:"mykibanahost:5601" ℹ️
ℹ️运行kibana的主机和端口。比如mykibanahost:5601。如果在端口号后面指定了路径,包括schema和port:http://mykibanahost:5601/path。
- 如果Elasticsearch和Kibana是受保护的(加密验证),你需要在运行命令启动Metricbeat之前在metricbeat.yml设置credentials。
- 如果你运行的是托管在Elastic Cloud上的Elasticsearch服务, 指定你cloud auth的creedentials, 如下:
cloud.auth: "elastic:YOUR_PASSWORD"
- 如果在你自己的硬件上运行Elasticserach,指定Elasticserach和kibana的credentials如下:
output.elasticsearch:
hosts: ["myEShost:9200"]
username: "filebeat_internal"
password: "YOUR_PASSWORD"ℹ️1
setup.kibana:
host: "mykibanahost:5601"
username: "my_kibana_user"ℹ️2,3
password: "YOUR_PASSWORD"
ℹ️1. 这个例子中密码是明文硬编码的,但是你应该将这些敏感信息存储在 secrets keystore 。
ℹ️2. kibana的username和password的设置是可选的。如果你不指定Kibana的credentials,Metricbeat会使用Elasticsearch指定的username和password
ℹ️3.要使用预构建Kibana仪表盘,此用户必须具备kibana_user内置角色或同等权限。
更多信息参考Secure.
ℹ️要测试您的配置文件,请转到安装Metricbeat二进制文件的目录,然后使用指定的以下选项在前台运行Metricbeat:./metricbeat test config -e。 确保配置文件位于Metricbeat期望的路径中(请参阅Directory layout),或使用-c标志指定配置文件的路径。
更多配置信息,参考Configure。