应用与数据集成平台 ROMA Connect-修改Filebeat和ELK配置:修改Filebeat配置
修改Filebeat配置
Filebeat目录和文件结构如下所示:
|_ filebeat |_ log |_ docker-compose.yml |_ filebeat.yml
- 登录SHUBAO组件所在节点,切换root用户,执行以下命令创建Filebeat相关目录和配置文件。
用户可自定义配置文件所在路径,此处以在根目录下创建filebeat目录为例进行说明。
mkdir -p /filebeat/logtouch /filebeat/filebeat.ymltouch /filebeat/docker-compose.yml
其中,log目录用于存储Filebeat收集到的日志数据以及其它元数据信息,即使容器Filebeat被删除并重新启动,会继续读取该目录中的内容(如registry),并在收集数据时更新该目录,这样可确保Filebeat只收集新的日志数据,避免将已经发送过的数据再次发送。
- 执行以下命令为log目录配置权限。
chmod 777 /filebeat/log
- 编辑filebeat.yml文件,在文件中增加如下配置。
filebeat.inputs: - type: filestream # id需要替换为数字,不同SHUBAO组件所在节点之间相互唯一。例如SHUBAO组件所在节点有3个,则id可分别配置为site_log_filebeat_01,site_log_filebeat_02,site_log_filebeat_03 id: site_log_filebeat_id enabled: true paths: - /usr/share/filebeat/access_log/access_public.log fields: # index_name为在ElasticSearch存储和Kibana可视化显示时的指定索引名称,可自定义,若需要区分日志来源,则不同SHUBAO组件所在节点之间配置为不一样。 es_index_name: index_name fields_under_root: true close_inactive: 1m clean_inactive: 72houtput.logstash: # 填写ELK组件所服务器的IP和Logstash对外开放的端口号(在ELK的logstash.conf文件中配置,默认为5044),需自行配置防火墙端口,开放访问权限。 hosts: ["ELK_ LOG STASH_IP:5044"]
- 编辑docker-compose.yml文件,在文件中增加如下配置。
version: '3'services: filebeat: image: docker.elastic.co/beats/filebeat:8.7.1 network_mode: host restart: always container_name: filebeat volumes: - ./filebeat.yml:/usr/share/filebeat/filebeat.yml # 如果需要把Filebeat收集到的日志数据保存到本地log目录下,则取消本行代码注释 # - ./log:/usr/share/filebeat/data # filebeat读取本地日志,该本地日志地址需要根据实际待监控路径的地址进行配置,相对路径或绝对路径均可。 # 多地址监听:若在一台服务器中需要监听多个地址,则需在filebeat.yml的path和docker-compose.yml的volumes中增加新的配置,配置方式与该例子相同。 - /opt/roma/logs/apic-shubao/run/access_public.log:/usr/share/filebeat/access_log/access_public.log
- 重复步骤1-4,登录其他SHUBAO组件所在节点修改Filebeat配置。