一、日志文件采集
- 参考文档
- 可以从日志文件中采集数据
- 自定义配置文件logstash.conf配置文件,配置文件采集信息
input {
# 从文件读取日志信息
file{
path => "日志文件路径"
codec => plain {
charset => "UTF-8"
}
}
}
output {
# 输出到es
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash"
}
}
二、MySQL数据采集
- 可以将MySQL数据导入到ES中,时间es检索的是数据库中的数据信息
- 导入mysql的驱动包:mysql-connector-java-8.0.20.jar,并确定数据库服务可用
- 将jar包上传到**/opt/es/logstash/logstash-7.8.0/logstash-core/lib/jars**
- 在logstash目录下修改配置文件内容如下
input {
# 从数据库中读取数据
jdbc {
# 数据库驱动地址
jdbc_driver_library => "./repository/mysql-connector-java-5.1.47.jar"
# 驱动包名称
jdbc_driver_class => "com.mysql.jdbc.Driver"
# 连接地址
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/logstash"
# 数据库用户名
jdbc_user => "root"
# 数据库密码
jdbc_password => "tianxin"
# 获取数据SQL
statement => "select * from logstash where id > :sql_last_value"
# 可以将SQL定义到文件中
#statement_filepath => "./config/jdbc.sql"
# 同步频率(分 时 天 月 年),默认一分钟执行一次
schedule => "*/1 * * * *"
# 记录上次执行结果,将会保存到last_run_metadata_path配置文件中,不建议配置
# 如果配置为true将会导致磁盘受到两倍IO压力
#record_last_run => false
# 数据库自增字段,用来增量记录,通常是主键
use_column_value => true
# 查询字段类型,此处为数值,时间戳为timestamp
tracking_column_type => "numeric"
# 查询条件的字段
tracking_column => "id"
# 记录最后一次查询的id,初始数值默认0,时间戳为1970后的时间戳
last_run_metadata_path => "./repository/last_run_metadata.txt"
# 是否清除last_run_metadata_path值,如果为true,表示每次都做全量同步
clean_rum => false
}
}
output {
# 输出到es
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash"
# 文档id与数据库id字段关联
document_id => "%{id}"
# 使用模板,可以提升效率
template_overwrite => true
}
}
三、TCP数据采集
- 可以采集TCP端口数据信息
- 在logstash目录下修改配置文件内容如下
input {
# 监听TCP端口信息
tcp {
port => 4560
codec => json_lines
}
}
output {
# 输出到es
elasticsearch {
hosts => ["127.0.0.1:9200"]
index => "logstash"
}
}