一、日志采集过程
filebeat收集 --> logstash过滤 --> elasticsearch存储 --> kibana展示
二、为什么用filebeat收集数据
因为beats工具不需要java环境,方便部署。logstash非常庞大
三、下载logstash
1、安装
cd /tmp
wget https://artifacts.elastic.co/downloads/logstash/logstash-7.14.1-linux-x86_64.tar.gz
tar -zxvf logstash-7.14.1-linux-x86_64.tar.gz
mv logstash-7.14.1 /appserver/logstash
cd /appserver
chown -R elk:elk logstash/
2、修改配置
1)jvm.options
-Xms512m
-Xmx512m
logstash支持Java8、Java11、Java15,本机安装的是JDK1.8,所以没有问题
2)logstash-sample.conf
修改用户名、密码登录:
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.
input {
beats {
port => 5044
id => "my_beat_test"
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
user => "elastic"
password => "123456"
}
}
说明:
1)%{[@metadata][beat]}:表示定义index名称的第一个部分,为beat的名称,比如filebeat
2)%{[@metadata][version]}:表示beat的版本,比如7.14.1
3)%{+YYYY.MM.dd}:表示定义一个日期,根据Logstash的@timestamp字段
4)id:表示对这个beat input的唯一标识
3)pipelines.yml
添加:
- pipeline.id: logstash-sample
pipeline.workers: 1
pipeline.batch.size: 1
path.config: "/appserver/logstash/config/logstash-sample.conf"
分成两步:先配置beats,再配置处理beats的管道
3、配置文件类型
jvm.options:JVM参数设置
logstash-sample.conf:简单的Logstash配置beats样例文件
pipelines.yml:处理*.conf文件的管道配置
log4j2.properties:打印日志相关
logstash.yml:主配置文件
startup.options:用户为logstash使用$LS_HOME/bin/system-install创建启动脚本,logstash本身不使用
四、获取系统日志文件
1、路径为/var/log/下的日志文件
2、在另一台机器上执行
cd /tmp
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.14.1-linux-x86_64.tar.gz
tar -zxvf filebeat-7.14.1-linux-x86_64.tar.gz
mkdir -p /appserver
mv filebeat-7.14.1-linux-x86_64 /appserver/filebeat
3、编辑配置文件user.yml
1)
cd /appserver/filebeat
vi user.yml
filebeat.inputs:
- type: log
paths:
- /var/log/messages
- /var/log/secure
- /var/log/*.log
output.logstash:
hosts: ["192.168.1.2:5044"]
2)建立index:filebeat,建立Index Patterns:filebeat-*,添加角色绑定
3)启动filebeat
./filebeat -e -c user.yml
4、效果
存在问题,左边的Available fields不能自己定义,没有时间搜索框
五、获取系统日志文件—进阶
1、目标
1)根据日志文件格式,分割字段
2)点击查询,最新的日志在最上面
3)每次查询返回的最大条数为100
2、日志格式为
Sep 14 03:01:01 host1594396010 systemd: Started Session 66 of user root.
日期 + 主机名 + 内容