sql server 配置 日志跟踪


sql server 配置

配置 日志跟踪(sql server profiler)
  1. 在win系统下面的开始菜单中找到 sql server profiler 打开

  1. 点击文件 依次选择 ‘模板’ ‘新建模板’

  1. 选择 ‘选择事件’

    • 列为:EventClass,TextData,DatabaseName,DatabaseID,RowCounts,SPID,HostName,Writes

    • 事件:

  • 列筛选

    • TextData

      • 类似于 :%update%,%UPDATE%,%delete%,%DELETE%,%ALTER%

      • 排除不包含值的行 也需要勾选

      • 不类似于:%declare%,%SELECT%,%BEGIN%,%ROLLBACK%,%COMMIT%,%EXECUTE%

      • 排除不包含值的行 也需要勾选

    • RowCounts

      • 不等于:0 表示清除掉 执行语句对 数据没有影响的信息
      • 排除不包含值的行 也需要勾选

      以上是采集sql server 的配置

    启动SQL Server 的日志跟踪
    1. 点击 文件 选择 新建跟踪
    2. 连接到 SQL Server 服务器
      • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B6KBdEbe-1571062930789)(C:\Users\yx\AppData\Roaming\Typora\typora-user-images\1563761135057.png)]
    3. 跟踪属性
      1. 在 使用模板内 选择 上面新建的模板 名
      2. 选择 保存到表
    4. 运行启动 测试 查看表中是否能采集到数据信息
flume 配置
配置conf文件
  1. 找到 flume 的配置文件 目录

    • 创建 flume 配置文件 flume-sqlserver-kafka.conf ( 命令 touch /opt/cloudera/parcels/CDH/lib/flume-ng/conf/flume-sqlserver-kafka.conf)

      # 数据来源
      sync.sources = s-1
      # 数据通道
      sync.channels = c-1
      # 数据去处,这里配置了failover,根据下面的优先级配置,会先启用k-1,k-1挂了后再启用k-2
      sync.sinks = k-1
      
      #这个是配置failover的关键,需要有一个sink group
      sync.sinkgroups = g-1
      sync.sinkgroups.g-1.sinks = k-1 k-2
      #处理的类型是failover
      sync.sinkgroups.g-1.processor.type = failover
      #优先级,数字越大优先级越高,每个sink的优先级必须不相同
      sync.sinkgroups.g-1.processor.priority.k-1 = 5
      sync.sinkgroups.g-1.processor.priority.k-2 = 10
      #设置为10秒,当然可以根据你的实际状况更改成更快或者很慢
      sync.sinkgroups.g-1.processor.maxpenalty = 10000
      
      ########## 数据通道的定义
      # 数据量不大,直接放内存。其实还可以放在JDBC,kafka或者磁盘文件等
      sync.channels.c-1.type = memory
      # 通道队列的最大长度
      sync.channels.c-1.capacity = 100000
      # putList和takeList队列的最大长度,sink从capacity中抓取batchsize个event,放到这个队列。所以此参数最好比capacity小,比sink的batchsize大。
      # 官方定义:The maximum number of events the channel will take from a source or give to a sink per transaction.
      sync.channels.c-1.transactionCapacity = 1000
      sync.channels.c-1.byteCapacityBufferPercentage = 20
      ### 默认值的默认值等于JVM可用的最大内存的80%,可以不配置
      # sync.channels.c-1.byteCapacity = 800000
      
      #########sql source#################
      # source s-1用到的通道,和sink的通道要保持一致,否则就GG了
      sync.sources.s-1.channels=c-1
      ######### For each one of the sources, the type is defined
      sync.sources.s-1.type = org.keedio.flume.source.SQLSource
      sync.sources.s-1.hibernate.connection.url = jdbc:sqlserver://10.3.2.158:1433; DatabaseName=ReportServerTempDB
      ######### Hibernate Database connection properties
      sync.sources.s-1.hibernate.connection.user = sa
      sync.sources.s-1.hibernate.connection.password = Aa1234
      sync.sources.s-1.hibernate.connection.autocommit = true
      sync.sources.s-1.hibernate.dialect = org.hibernate.dialect.SQLServer2008Dialect  
      sync.sources.s-1.hibernate.connection.driver_class = com.microsoft.sqlserver.jdbc.SQLServerDriver
      sync.sources.s-1.run.query.delay=1000
      sync.sources.s-1.status.file.path = /var/log/flume/ #数据采集状态文件
      flumeSql.sources.sourceTest.status.file.name=flumeSql.sqlSource.status
      
      sync.sources.s-1.status.file.name = trace-demo.log
      ######## Custom query  
      sync.sources.s-1.start.from = 0
      #flume 会自动将第一列 保存到状态文件中 (/var/log/flume/)的 "LastIndex"字段  例如 {"LastIndex":"3"}
      sync.sources.s-1.custom.query =select [RowNumber],(REPLACE([DatabaseName], CHAR(13) + CHAR(10), ' ')+'#-#'+REPLACE(cast([TextData] as nvarchar(MAX)),CHAR(13) + CHAR(10),' ')) AS DatabaseNames from [dbo].[trace-demo]  WHERE [RowNumber]>$@$ ORDER BY [RowNumber] ASC 
       
      sync.sources.s-1.batch.size = 100
      sync.sources.s-1.max.rows = 100
      sync.sources.s-1.hibernate.connection.provider_class = org.hibernate.c3p0.internal.C3P0ConnectionProvider
      sync.sources.s-1.hibernate.c3p0.min_size=5
      sync.sources.s-1.hibernate.c3p0.max_size=20
      
      ######### sinks 1
      # sink k-1用到的通道,和source的通道要保持一致,否则取不到数据
      sync.sinks.k-1.channel = c-1
      sync.sinks.k-1.type = org.apache.flume.sink.kafka.KafkaSink
      sync.sinks.k-1.kafka.topic = sqlserver158
      sync.sinks.k-1.kafka.bootstrap.servers = 10.100.11.29:9092,10.100.11.30:9092,10.100.11.32:9092
      sync.sinks.k-1.kafka.producer.acks = 1
      # 每批次处理的event数量
      sync.sinks.k-1.kafka.flumeBatchSize  = 100
      
      ######### sinks 2
      # sink k-2用到的通道,和source的通道要保持一致,否则取不到数据
      #sync.sinks.k-2.channel = c-1
      #sync.sinks.k-2.type = org.apache.flume.sink.kafka.KafkaSink
      #sync.sinks.k-2.kafka.topic = test-0
      #sync.sinks.k-2.kafka.bootstrap.servers = 192.168.200.10:9092
      #sync.sinks.k-2.kafka.producer.acks = 1
      #sync.sinks.k-1.kafka.flumeBatchSize  = 100
      
      
flume 执行命令
flume-ng agent -n sync -c conf -f /opt/cloudera/parcels/CDH/lib/flume-ng/conf/flume-sqlserver-kafka.conf -Dflume.root.logger=DEBUG,console
kafka 主题创建
创建主题
  • kafka-topics --create --zookeeper 10.100.11.29:2181,10.100.11.30:2181,10.100.11.32:2181 --replication-factor 3 --partitions 3 --topic sqlserver158
    
消息生产
  • kafka-console-producer --broker-list 10.100.11.29:9092,10.100.11.30:9092,10.100.11.32:9092 --topic sqlserver158
    
消息消费
  • kafka-console-consumer  --bootstrap-server 10.100.11.29:9092,10.100.11.30:9092,10.100.11.32:9092 --from-beginning --topic sqlserver158
    
数据从新采集配置
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值