filebeat独自のモジュールを使用して、nginxログとmysqlログを読み取り、elasticsearchに保存します
多くのオンラインチュートリアルは、ファイルビートがファイルを読み取り、解決されたlogstashに送信され、elasticsearchに送信さ
れ、長い間探していましたが、ファイルビートが見つかりませんでした。今日、elasticsearchに送信されたファイルを読み取り、独自のレコード
参照ドキュメントで学習します。、filebeatモジュールのドキュメント
配置filebeat.yml
~~~yaml
output.elasticsearch:
enabled: true
hosts: ["192.168.0.202:9200"]
#index: "log-%{[event.dataset]}-%{+yyyy.MM.dd}" 也可以不用配置下面的indices,直接配置这个即可
#默认索引格式 filebeat-%{[agent.version]}-%{+yyyy.MM.dd}
indices:
#自定义索引,更细粒度的控制索引,注意不会使用到filebeat索引模板,想要特定的字段类型 需要自己配置索引模板
- index: "log-%{[event.dataset]}-%{+yyyy}" #按年索引
#条件语法参考https://www.elastic.co/guide/en/beats/filebeat/7.9/defining-processors.html#conditions
when.equals:
#需要提前知道数据格式 再决定如何判断
event.module: "mysql"
- index: "log-%{[event.dataset]}-%{+yyyy.MM.dd}" #按天索引
when.equals:
event.module: "nginx"
filebeatを実行する
コマンドで開くためにモジュール構成ファイルを変更する必要はありません
#运行filebeat -e输出详细日志 -modeules
./filebeat run -e -modules=mysql,nginx -M "mysql.slowlog.var.paths=['/data/mariadb/13306/data/log/mariadb-slow.log*']" -M "nginx.access.var.paths=['/usr/local/nginx/logs/access.log']" -M "nginx.error.var.paths=['/usr/local/nginx/logs/error.log']"
注:この開始方法は構成の一部にすぎず、視覚化は適切ではありません。構成ファイルを使用することをお勧めします
構成ファイルを介して開く
コマンドを使用してモジュールを開きます
または、modules.dディレクトリに直接移動して、対応する構成ファイルのファイル名を変更し、.disabledを削除します。
#开启模块 运行完这个命令之后 你会发现modules.d目录下 nginx.yml.disabled变成了nginx.yml
./filebeat enable nginx mysql
構成の編集
modules.d / mysql.yml
# Module: mysql
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-module-mysql.html
- module: mysql
# Error logs
error:
enabled: false
slowlog:
enabled: true
#慢日志路径
var.paths: ["/data/mariadb/13306/data/log/mariadb-slow.log*"]
modules.d / nginx.yml
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.10/filebeat-module-nginx.html
- module: nginx
# Access logs
access:
enabled: true
#nginx access日志
var.paths: ["/usr/local/nginx/logs/access.log*"]
error:
enabled: true
#nginx error日志
var.paths: ["/usr/local/nginx/logs/error.log*"]
ingress_controller:
enabled: false
filebeatを開く
#启动filebeat
./filebeat run -e
試験結果
テストログを追加する
MySQLスローログテストステートメント
select sleep(2);
Nginxテスト、自分でテスト
curl 192.168.0.202/test
インデックスリストを見る
最終的に保存されるデータ形式は次のとおりです。
一般的なコマンド
#查看支持的模块
./filebeat modules list
#设置初始环境,包括索引模板,ILM策略和写入别名,Kibana仪表板(如果可用)以及机器学习作业(如果可用)。
./filebeat setemp
#开启指定模块 比如mysql 然后去编辑/modules.d/mysql.yml
./filebeat modules enable mysql