beats系列~3.beats部署


前言

​ Beats的部署方式和监控的日志/指标/心跳服务/安全漏洞有很多选择。可在kibana的‘Home’中‘Get started by adding your data’内添加被监控的数据来源。

​ 被监控的服务可以是apache、rabbitmq、kafka、mysql….等等等等

​ 以下将部署beats 容器以及监控docker的指标,并将数据通过logstash传输到elasticsearch,最终在kibana进行可视化展示。

1. 部署Beats

1)官网安装配置

​ 在kibana的‘Home’中‘Get started by adding your data’ 选择需要加入被监控和采集的服务,比如使用metrics beats监控docker metrics。

​ 可根据官网的命令进行安装配置,

  • 下载metricbeat安装包
1
2
3
curl -L -O https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.15.2-darwin-x86_64.tar.gz
tar xzvf metricbeat-7.15.2-darwin-x86_64.tar.gz
cd metricbeat-7.15.2-darwin-x86_64/
  • 配置metricbeat.yml
1
2
3
4
5
6
output.elasticsearch:
hosts: ["elasticseatch:9200"]
username: "elastic"
password: "changeme"
setup.kibana:
host: "kibana:5601"
  • 启动docker.yml配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 启动docker配置
./metricbeat modules enable docker

# 编辑 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
1
2
./metricbeat setup
./metricbeat -e
  • kibana中检查是否接收到metricbeat docker的指标数据

2)docker安装

注意:使用docker进行安装metricbeat时,需要将network指定为docker-elk_elk,这样处于同一网络下的kibana、logstash、elasticsearch就可以相互之间通信。

  • 启动metricbeat容器
1
docker run -d --name metricbeat --user=root --network=docker-elk_elk  -v /var/run/docker.sock:/var/run/docker.sock elastic/metricbeat:7.9.2
  • 相关文件metricbeat.yml、docker.yml,以及启动命令都和上面的执行步骤一致

3) 安装失败处理

1> 安装中出现截图中的错误:data path already locked by another beat. Please make sure that multiple beats are not sharing the same data path (path.data).

解决办法:删除data文件夹下的metricbeat.lock文件,然后重新执行./metricbeat -e 命令

1
2
cd /usr/share/metricbeat/data
rm -rf metricbeat.lock

2. kibana监控docker效果


文章作者: 王海飞
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 王海飞 !
  目录