前置条件
安装部署好graylog server
创建graylog-sidecar的token
创建完毕后记得复制出来,后面看不见了
安装collector-sidecar
wget https://github.com/Graylog2/collector-sidecar/releases/download/1.1.0/graylog-sidecar_1.1.0-1_amd64.deb
sudo dpkg -i graylog-sidecar_1.1.0-1_amd64.deb
修改配置
sudo vi /etc/graylog/sidecar/sidecar.yml
server_url: "真实ip+端口"
server_api_token: "上面获取的token"
node_name: "自己取"
update_interval: 10
send_status: true
注册为系统服务
sudo graylog-sidecar -service install
sudo systemctl start graylog-sidecar
filebeat安装
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.3.0-amd64.deb
sudo dpkg -i filebeat-6.3.0-amd64.deb
配置采集规则
在Sidecar Overview界面点击Configuration
点击Create Configuration创建配置
配置信息
红色圈的都是需要根据实际情况修改的
参考:
# Needed for Graylog
fields_under_root: true
fields.collector_node_id: ${sidecar.nodeName}
fields.gl2_source_collector: ${sidecar.nodeId}
filebeat.inputs:
- input_type: log
paths:
- /opt/docker/data/log/info/*.log
#处理多行
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
type: log
output.logstash:
hosts: ["192.168.0.22:5044"]
path:
data: /var/lib/graylog-sidecar/collectors/filebeat/data
logs: /var/lib/graylog-sidecar/collectors/filebeat/log
multiline.pattern: '^/[[0-9]{4}-[0-9]{2}-[0-9]{2}' multiline.negate: true multiline.match: after
上方代码处理多行日志到同一行输出,注意正则表达式,这里我的日志全部是日期格式yyyy-MM-dd开头的,所以这样配置,效果为:
此配置使用negate: true
和match: after
设置来指定任何不符合指定模式的行都属于上一行。
配置好以后点击create保存配置
配置文件下发
先回到Sidecar Overview界面, 点击Administration管理按钮, 进行配置下发
选择采集器,勾选filebeat
点击configure, 选择之前创建的配置文件, 进行配置应用下发
验证日志采集是否生效
在Sidecars Overview 点击show messages 查询对应日志 如果存在则证明成功
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/243929.html