serverless-log-connector

所属分类:FaaS/Serverless
开发工具:Python
文件大小:671KB
下载次数:0
上传日期:2023-03-03 06:24:47
上 传 者sh-1993
说明:  无服务器日志连接器,,
(serverless-log-connector,,)

文件列表:
LICENSE (11357, 2023-03-03)
assets (0, 2023-03-03)
assets\cloudwatchrule.png (116275, 2023-03-03)
assets\crule2.png (62346, 2023-03-03)
assets\ctarget.png (40712, 2023-03-03)
assets\dynamodb1.png (61459, 2023-03-03)
assets\gcode.png (187482, 2023-03-03)
assets\glue_job1.png (90542, 2023-03-03)
assets\glueconfig.png (86604, 2023-03-03)
assets\glueschedule.png (45229, 2023-03-03)
assets\rdslog.drawio.png (57633, 2023-03-03)
connectors (0, 2023-03-03)
connectors\mysql.py (6493, 2023-03-03)

# serverless-log-connector ## 架构图 ![架构图](https://github.com/assets/rdslog.drawio.png) ## 部署方法 ### 手动部署 #### 配置任务 1. 进入glue服务,创建一个 glue python script job ![glue job](https://github.com/assets/glue_job1.png) 2. 将connectors文件夹下的mysql.py 的python code 复制脚本编辑器。注意修改注释部分 ![glue job](https://github.com/assets/gcode.png) 3. 配置 glue job相关的参数,如执行role, 重试次数改为 0,超时时间根据要同步的数据量估计,1GB的数据大概要3分钟 ![glue job](https://github.com/assets/glueconfig.png) 4. 配置执行角色,角色策略参考下图及代码 ![glue role](https://github.com/assets/rolerule.png) ```json { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "s3:PutObject", "dynamodb:PutItem", "rds:DownloadDBLogFilePortion", "dynamodb:GetItem", "rds:DownloadCompleteDBLogFile", "rds:DescribeDBLogFiles", "s3:PutObjectTagging" ], "Resource": [ "arn:aws-cn:rds:cn-northwest-1:xxxxxxx:db:*", "arn:aws-cn:dynamodb:cn-northwest-1:xxxxxx:table/db_log_to_s3", "arn:aws-cn:s3:::tx-audit-log2/*" ] } ] } ``` 注意修改上面的账号信息,dynamodb 表信息,s3 桶信息 4. 在 glue schedules页面配置执行计划 (第一次同步,由于数据量较大,建议手动触发, 等第一次同步成功以后,后续的增量同步,可以使用scheduler触发执行) ![glue job](https://github.com/assets/glueschedule.png) 5. 配置dynamodb, 如图新建一个dynamodb table, 并按截图配置 ![dynamodb](https://github.com/assets/dynamodb1.png) #### 配置监控 1. 进入sns控制台 创建 sns topic 2. 在sns 控制台,右边导航栏创建订阅,配置相关的收件人信息 3. 在cloudwatch 创建rule, event patten 如下,将 rds_to_s3 替换成你的glue job name ![cloudwatchrule](https://github.com/assets/cloudwatchrule.png) 要把 rds_to_s3 改成你的glue job的名称 ``` { "source": ["aws.glue"], "detail-type": ["Glue Job State Change"], "detail": { "jobName": ["rds_to_s3"], "state": ["FAILED"] } } ``` 4. 配置cloudwatch rule 目标。选择前面创建的主题作为规则目标 ![cloudwatchrule](https://github.com/assets/ctarget.png) ## 注意 第一次跑,要评估一下目前审计日志的大小,如果使用glue 跑,超时时间大一些,或者不同的job跑不同的db

近期下载者

相关文件


收藏者