diff --git a/.classpath b/.classpath index 1a0a8d2..5e6428b 100644 --- a/.classpath +++ b/.classpath @@ -1,3 +1,4 @@ +<<<<<<< HEAD @@ -38,3 +39,45 @@ +======= + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/.gitignore b/.gitignore index 91eac80..27916c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,6 @@ /target/ -/logs/ \ No newline at end of file +<<<<<<< HEAD +/logs/ +======= +/logs/ +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/.project b/.project index f022afc..a5fb2aa 100644 --- a/.project +++ b/.project @@ -1,3 +1,4 @@ +<<<<<<< HEAD bigmodel @@ -21,3 +22,28 @@ org.eclipse.m2e.core.maven2Nature +======= + + + appliction_manager + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs index 839d647..8993ecc 100644 --- a/.settings/org.eclipse.core.resources.prefs +++ b/.settings/org.eclipse.core.resources.prefs @@ -1,5 +1,13 @@ +<<<<<<< HEAD eclipse.preferences.version=1 encoding//src/main/java=UTF-8 encoding//src/main/resources=UTF-8 encoding//src/test/java=UTF-8 encoding/=UTF-8 +======= +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding/=UTF-8 +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 71df522..a325d98 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,3 +1,4 @@ +<<<<<<< HEAD eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.methodParameters=generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 @@ -7,3 +8,14 @@ org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.source=1.8 +======= +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.methodParameters=generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=1.8 +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs index f897a7f..90a570b 100644 --- a/.settings/org.eclipse.m2e.core.prefs +++ b/.settings/org.eclipse.m2e.core.prefs @@ -1,4 +1,11 @@ +<<<<<<< HEAD activeProfiles= eclipse.preferences.version=1 resolveWorkspaceProjects=true version=1 +======= +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/README.md b/README.md index 72c909d..87620fe 100644 --- a/README.md +++ b/README.md @@ -1 +1,11 @@ +<<<<<<< HEAD 智谱大模型应用 +======= +<<<<<<< HEAD +应用管理中心 +======= +# appliction_manager + +sba应用管理 +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/pom.xml b/pom.xml index f7fb655..82fd39c 100644 --- a/pom.xml +++ b/pom.xml @@ -3,6 +3,7 @@ 4.0.0 +<<<<<<< HEAD org.springframework.boot spring-boot-starter-parent @@ -258,3 +259,149 @@ +======= + + + org.springframework.boot + spring-boot-starter-parent + 2.2.4.RELEASE + + com.bfd + appliction_manager + 0.0.1-SNAPSHOT + + appliction_manager + + http://www.example.com + + + UTF-8 + 1.8 + 1.8 + + + + + junit + junit + 4.11 + test + + + + de.codecentric + spring-boot-admin-starter-server + 2.2.4 + + + + org.springframework.boot + spring-boot-starter-mail + 2.2.4.RELEASE + + + + org.projectlombok + lombok + 1.18.16 + provided + + + com.alibaba + fastjson + 2.0.17 + + + + + + + + + + maven-clean-plugin + 3.1.0 + + + + maven-resources-plugin + 3.0.2 + + + maven-compiler-plugin + 3.8.0 + + + maven-surefire-plugin + 2.22.1 + + + maven-jar-plugin + 3.0.2 + + + maven-install-plugin + 2.5.2 + + + maven-deploy-plugin + 2.8.2 + + + + maven-site-plugin + 3.7.1 + + + maven-project-info-reports-plugin + 3.0.0 + + + + + org.springframework.boot + spring-boot-maven-plugin + + com.bfd.manager.Application + ZIP + + + ${project.groupId} + ${project.artifactId} + + + + + + + repackage + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.1.1 + + + copy + package + + copy-dependencies + + + jar + jar + runtime + ${project.build.directory}/libs + + + + + + + + +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/src/main/java/com/bfd/manager/Application.java b/src/main/java/com/bfd/manager/Application.java new file mode 100644 index 0000000..e658faa --- /dev/null +++ b/src/main/java/com/bfd/manager/Application.java @@ -0,0 +1,26 @@ +package com.bfd.manager; + + + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import de.codecentric.boot.admin.server.config.EnableAdminServer; + +/** + * 主入口 + * + * @author jian.mao + * @date 2023年7月4日 + * @description + */ +@SpringBootApplication +@EnableAdminServer +public class Application { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + +} diff --git a/src/main/java/com/bfd/manager/alter/AdminNotifier.java b/src/main/java/com/bfd/manager/alter/AdminNotifier.java new file mode 100644 index 0000000..c1d6a2c --- /dev/null +++ b/src/main/java/com/bfd/manager/alter/AdminNotifier.java @@ -0,0 +1,108 @@ +package com.bfd.manager.alter; + +import java.util.Arrays; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.stereotype.Component; + +import com.alibaba.fastjson.JSONObject; + +import reactor.core.publisher.Mono; +import de.codecentric.boot.admin.server.domain.entities.Instance; +import de.codecentric.boot.admin.server.domain.entities.InstanceRepository; +import de.codecentric.boot.admin.server.domain.events.InstanceEvent; +import de.codecentric.boot.admin.server.domain.events.InstanceStatusChangedEvent; +import de.codecentric.boot.admin.server.notify.AbstractStatusChangeNotifier; + +@Component +@Slf4j +public class AdminNotifier extends AbstractStatusChangeNotifier { + + /** + * 消息模板 + */ + private static final String template = "<<<%s>>> \n 【服务名】: %s(%s) \n 【状态】: %s(%s) \n 【服务ip】: %s \n 【详情】: %s"; + + private String titleAlarm = "系统告警"; + + private String titleNotice = "系统通知"; + + private String[] ignoreChanges = new String[]{"UNKNOWN:UP","DOWN:UP","OFFLINE:UP"}; + + public AdminNotifier(InstanceRepository repository) { + super(repository); + } + + @Override + protected boolean shouldNotify(InstanceEvent event, Instance instance) { + if (!(event instanceof InstanceStatusChangedEvent)) { + return false; + } else { + InstanceStatusChangedEvent statusChange = (InstanceStatusChangedEvent)event; + String from = this.getLastStatus(event.getInstance()); + String to = statusChange.getStatusInfo().getStatus(); + return Arrays.binarySearch(this.ignoreChanges, from + ":" + to) < 0 && Arrays.binarySearch(this.ignoreChanges, "*:" + to) < 0 && Arrays.binarySearch(this.ignoreChanges, from + ":*") < 0; + } + } + + + @Override + protected Mono doNotify(InstanceEvent event, Instance instance) { + + return Mono.fromRunnable(() -> { + + if (event instanceof InstanceStatusChangedEvent) { + log.info("Instance {} ({}) is {}", instance.getRegistration().getName(), + event.getInstance(), + ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus()); + + String status = ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(); + String messageText = null; + switch (status) { + // 健康检查没通过 + case "DOWN": + log.info("发送 健康检查没通过 的通知!"); + messageText = String + .format(template,titleAlarm, instance.getRegistration().getName(), event.getInstance(), + ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(), "健康检查没通过通知", + instance.getRegistration().getServiceUrl(), JSONObject.toJSONString(instance.getStatusInfo().getDetails())); + log.info(messageText); + break; + // 服务离线 + case "OFFLINE": + log.info("发送 服务离线 的通知!"); + messageText = String + .format(template,titleAlarm, instance.getRegistration().getName(), event.getInstance(), + ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(), "服务离线通知", + instance.getRegistration().getServiceUrl(), JSONObject.toJSONString(instance.getStatusInfo().getDetails())); + log.info(messageText); + break; + //服务上线 + case "UP": + log.info("发送 服务上线 的通知!"); + messageText = String + .format(template,titleNotice, instance.getRegistration().getName(), event.getInstance(), + ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(), "服务上线通知", + instance.getRegistration().getServiceUrl(), JSONObject.toJSONString(instance.getStatusInfo().getDetails())); + log.info(messageText); + break; + // 服务未知异常 + case "UNKNOWN": + log.info("发送 服务未知异常 的通知!"); + messageText = String + .format(template,titleAlarm, instance.getRegistration().getName(), event.getInstance(), + ((InstanceStatusChangedEvent) event).getStatusInfo().getStatus(), "服务未知异常通知", + instance.getRegistration().getServiceUrl(), JSONObject.toJSONString(instance.getStatusInfo().getDetails())); + log.info(messageText); + break; + default: + break; + } + } else { + log.info("Instance {} ({}) {}", instance.getRegistration().getName(), event.getInstance(), + event.getType()); + } + }); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index a651fa6..40a325c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,3 +1,4 @@ +<<<<<<< HEAD logging: level: root: info @@ -83,3 +84,34 @@ task: task-queue-path: ../data/taskQueue.txt thread-num: 5 +======= +logging: + level: + root: info + path: ./logs +server: + port: 8000 + +# 邮件服务配置 +spring: + mail: + host: intmail.baifendian.com + username: bfd_crawler_alarm@baifendian.com + password: z26Iyf3vMRb5ejrI + properties: + mail: + smtp: + auth: true + ssl: + enable: true + boot: + admin: + monitor: + default-timeout: 30000 + notify: + mail: + enabled: true + to: jian.mao@percent.cn + from: bfd_crawler_alarm@baifendian.com + +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml index 549c5ae..ca302bb 100644 --- a/src/main/resources/logback-spring.xml +++ b/src/main/resources/logback-spring.xml @@ -1,3 +1,4 @@ +<<<<<<< HEAD @@ -34,3 +35,41 @@ +======= + + + + + + + + + true + + ${logging.level} + + + ${logging.path}/appManagerInfo.log + + + ${logging.path}/appManagerInfo.log.%d{yyyy-MM-dd} + 7 + + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %line %-5level %logger{50} - %msg%n + UTF-8 + + + + + + + + +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git diff --git a/src/test/java/com/bfd/AppTest.java b/src/test/java/com/bfd/AppTest.java index 77a1a87..3f7e535 100644 --- a/src/test/java/com/bfd/AppTest.java +++ b/src/test/java/com/bfd/AppTest.java @@ -1,5 +1,6 @@ package com.bfd; +<<<<<<< HEAD import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -50,4 +51,23 @@ public class AppTest { // Map result = JSONObject.parseObject(content.replace("\\n", "")); // System.out.println(result); } +======= +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Unit test for simple App. + */ +public class AppTest +{ + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() + { + assertTrue( true ); + } +>>>>>>> branch 'master' of http://82.156.111.58:3000/maojian/appliction_manager.git }