iLogtail

1769
下载
iLogtail 是阿里云日志服务(Log Service)中的一款高性能、可扩展的日志采集工具。它被设计用于实时收集、解析和传输各类日志数据,支持多种数据源和复杂的日志处理场景,广泛应用于分布式系统、Web 服务器、应用程序等环境中的日志管理。

PostgreSQL 查询数据


简介

service_pgsql input插件可以采集PostgreSQL 查询数据。

版本

Beta

配置参数

参数类型,默认值说明
TypeString,无默认值(必填)插件类型,指定为service_pgsql
HostString,127.0.0.1数据库主机。
PortInterger,5432数据库端口。
UserString,root数据库用户名。
PasswordString,默认值为空数据库密码。
DatabaseString,默认值为空数据库名称。
DialTimeOutMsInterger,5000数据库连接超时时间,单位:ms,默认5000ms
StatementString,默认值为空SQL语句。设置CheckPoint为true时,StateMent中SQL语句的where条件中必须包含CheckPointColumn,并将该列的值配置为$ 1。例如:CheckPointColumn配置为id,则StateMent配置为SELECT * from … where id > $1。
LimitBoolean,false是否使用Limit分页。不配置时,默认为false,表示不使用Limit分页。建议使用Limit进行分页。设置Limit为true后,进行SQL查询时,会自动在StateMent中追加LIMIT语句。
PageSizeInterger,无默认值分页大小,Limit为true时必须配置。
MaxSyncSizeInterger,0每次同步最大记录数。不配置时,默认为0,表示无限制。
CheckPointBoolean,false是否使用checkpoint。不配置时,默认为false,表示不使用checkpoint。
CheckPointColumnString,无默认值checkpoint列名称。 CheckPoint为true时必须配置。 注意 该列的值必须递增,否则可能会出现数据漏采集问题(每次查询结果中的最大值将作为下次查询的输入)。
CheckPointColumnTypeString,无默认值checkpoint列类型,支持int和time两种类型。int类型的内部存储为int64,time类型支持MySQL的date、datetime、time。 CheckPoint为true时必须配置。
CheckPointStartString,无默认值checkpoint初始值。CheckPoint为true时必须配置。
CheckPointSavePerPageBoolean,无默认值设置为true,则每次分页时保存一次checkpoint;设置为false,则每次同步完后保存checkpoint。
IntervalMsInterger,无默认值同步间隔,单位:ms。

样例

对postgres数据库下的specialalarmtest进行读取。

  • 表结构及数据信息如下
CREATE TABLE IF NOT EXISTS specialalarmtest (
id BIGSERIAL NOT NULL,
time TIMESTAMP NOT NULL,
alarmtype varchar(64) NOT NULL,
ip varchar(16) NOT NULL,
COUNT INT NOT NULL,
PRIMARY KEY (id)
);
insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 0);
insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 1);
insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 2);
insert into specialalarmtest (time, alarmtype, ip, count) values(now(), 'NO_ALARM', '10.10.***.***', 3);
  • 采集配置
enable: true
inputs:
- Type: service_pgsql
Address: 127.0.0.1
CheckPoint: true
CheckPointColumn: id
CheckPointColumnType: int
CheckPointSavePerPage: true
CheckPointStart: "0"
Database: postgres
IntervalMs: 1000
Limit: true
MaxSyncSize: 100
PageSize: 100
User: postgres
Password: xxxxx
StateMent: "select * from specialalarmtest where id > $1"
flushers:
- Type: flusher_stdout
OnlyStdout: true
  • 输出
{"id":"1","time":"2022-08-25T06:01:07.276901Z","alarmtype":"NO_ALARM","ip":"10.10.***.***","count":"0","__time__":"1661416452"}
{"id":"2","time":"2022-08-25T06:01:07.277624Z","alarmtype":"NO_ALARM","ip":"10.10.***.***","count":"1","__time__":"1661416452"}
{"id":"3","time":"2022-08-25T06:01:07.278072Z","alarmtype":"NO_ALARM","ip":"10.10.***.***","count":"2","__time__":"1661416452"}
{"id":"4","time":"2022-08-25T06:01:07.278494Z","alarmtype":"NO_ALARM","ip":"10.10.***.***","count":"3","__time__":"1661416452"}

observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32