{"id":20499234,"url":"https://github.com/likavn/ds-platform","last_synced_at":"2026-06-06T10:32:14.326Z","repository":{"id":105166637,"uuid":"261924737","full_name":"likavn/ds-platform","owner":"likavn","description":"ds-platform是使用shell简单封装的maxwell数据同步程序，maxwell宕机重启及邮件通知","archived":false,"fork":false,"pushed_at":"2020-08-19T11:24:07.000Z","size":52326,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T06:58:02.482Z","etag":null,"topics":["alarm","maxwell","maxwell-alarm","maxwell-manage","maxwell-monitor","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/likavn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-07T01:56:06.000Z","updated_at":"2021-07-16T07:28:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"f5cda5a8-cd72-46ff-a10e-594b0623ab2e","html_url":"https://github.com/likavn/ds-platform","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/likavn%2Fds-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/likavn%2Fds-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/likavn%2Fds-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/likavn%2Fds-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/likavn","download_url":"https://codeload.github.com/likavn/ds-platform/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242089266,"owners_count":20069933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alarm","maxwell","maxwell-alarm","maxwell-manage","maxwell-monitor","shell"],"created_at":"2024-11-15T18:16:53.743Z","updated_at":"2025-03-05T19:24:03.460Z","avatar_url":"https://github.com/likavn.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ds-platform\n环境要求：jdk1.8+\n\n本程序基于[maxwell](http://maxwells-daemon.io/),在原有的基础上经过封装进行监控，已具备maxwell宕机重启，以及宕机时发送邮件通知相关人员，部署过程如下：\n\n\u003e 需要邮件通知，邮件通知需要部署maxwell的服务器具备访问外网的能力，即能ping通：[smtp.163.com](http://smtp.163.com/)， 且请先安装邮件发送服务：\n\n\n\n#### 1.安装linux sendmail邮件服务(不需要邮件通知可跳过此步)\n\n- 安装sendmail:\n\n  ```shell\n  yum  -y  install  sendmail\n  service sendmail start\n  ```\n\n  \u003e 设置开机自启：chkconfig sendmail on\n\n- 安装mailx ：\n\n  ```sh\n  yum install -y mailx\n  ```\n\n  \n\n- 配置证书：\n\n  ```shell\n  #1.创建证书目录 /root/mail/.certs\n  mkdir -p /root/mail/.certs\n  #2. 分别执行以下命令：\n  echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \u003e /root/mail/.certs/163.crt\n  \n  certutil -A -n \"GeoTrust Global CA\" -t \"C,,\" -d /root/mail/.certs -i /root/mail/.certs/163.crt\n  \n  certutil -A -n \"GeoTrust SSL CA\" -t \"C,,\" -d /root/mail/.certs -i /root/mail/.certs/163.crt\n  \n  certutil -L -d /root/mail/.certs\n  \n  certutil -A -n \"GeoTrust SSL CA - G3\" -t \"Pu,Pu,Pu\" -d /root/mail/.certs/ -i /root/mail/.certs/163.crt\n  ```\n\n  \n\n- 在 `/etc/mail.rc`文件最后添加如下配置\n\n  ```shell\n  set from=user@163.com\n  set smtp=smtps://smtp.163.com:465\n  # 忽略证书警告\n  set ssl-verify=ignore\n  # 证书所在目录\n  set nss-config-dir=/root/mail/.certs\n  set smtp-auth-user=user@163.com\n  set smtp-auth-password=xxxx\n  set smtp-auth=login\n  ```\n\n- 测试邮件是否可以正常发送\n\n  ```shell\n  echo  '内容'  |  mail  -s  '主题'  user@163.com\n  ```\n\n\n\n#### 2.服务部署\n\n- 部分修改配置`ds-platform.sh`文件，如下\n\n  ```shell\n  #是否发送通知邮件\n  sendEmail=true\n  #接收邮箱\n  readonly email_no=user@163.com\n  #邮件标题\n  email_title='maxwell服务通知'\n  \n  #定时监听进程,停顿时间（秒）,即每多少时间进行一次服务进程监听,默认5分钟\n  readonly delay_millisecond=300\n  \n  #宕机时，最大重启次数\n  total_count=2016\n  \n  #应用名ID,注意：此sh脚本全路径名不能包含此应用名,覆盖config.properties里的client_id\n  export readonly APP_NAME=\"maxwell\"\n  \n  #maxwell运行日志删除，默认删除\n  delete_log=true\n  \n  #邮件附件最大值,默认10M\n  email_accessory_maxsize=$((1024 * 1024 * 10))\n  \n  #截取问题日志前多少行\n  analysisLog_pre=20\n  #截取问题日志后多少行\n  analysisLog_later=100\n  ```\n\n  \n\n- 部分修改配置`config.properties`，如下:\n\n  ```shell\n  #日志级别 [debug | info | warn | error]\n  log_level=error\n  \n  #mysql options 数据库配置，会建立maxwell表结构\n  host=localhost\n  user=root\n  password=xxx\n  port=3306\n  jdbc_options=useUnicode=true\u0026characterEncoding=utf-8\u0026useSSL=false\u0026allowMultiQueries=true\u0026zeroDateTimeBehavior=convertToNull\n  schema_database=maxwell\n  \n  #监听数据变更的数据库\n  replication_host=localhost\n  replication_user=root\n  replication_password=xxx\n  replication_port=3306\n  replication_jdbc_options=useUnicode=true\u0026characterEncoding=utf-8\u0026useSSL=false\u0026allowMultiQueries=true\u0026zeroDateTimeBehavior=convertToNull\n  replication_schema_database=change_db\n  \n  #kafka服务地址，多个用逗号分隔\n  kafka.bootstrap.servers=localhost:9092\n  #kafka主题，前缀“Q.DATA_SYNC.”固定，后面可以为浆站所在组织拼音，但必须与平台配置一致。\n  kafka_topic=Q.DATA_SYNC.lixian\n  \n  #filtering\n  #过滤器\n  filter=exclude: *.*, include: change_db.*\n  \n  #过滤脚本地址\n  javascript=/xxx/filter.js\n  ```\n\n- 在`ds-platform` 目录下，启动如下：\n\n  ```shell\n  nohup ./ds-platform.sh start \u0026\n  ```\n\n\u003e maxwell 日志路径： `/home/jysys/ds-platform/logs/MaxwellDaemon.out`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flikavn%2Fds-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flikavn%2Fds-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flikavn%2Fds-platform/lists"}