diff --git a/conf/config.yml b/conf/config.yml index 963c8c24..09c062b6 100644 --- a/conf/config.yml +++ b/conf/config.yml @@ -6,7 +6,7 @@ sysom_global: # Unified configuration of Server sysom_server: path: - root_path: !concat [*global_root_path, "server/target/sysom_server"] + root_path: !concat [*global_root_path, "/server/target/sysom_server"] db: redis: host: localhost @@ -34,7 +34,7 @@ sysom_server: # Unified configuration of Web sysom_web: path: - root_path: !concat [*global_root_path, "server/target/sysom_web"] + root_path: !concat [*global_root_path, "/server/target/sysom_web"] # Unified configuration of Node sysom_node: diff --git a/package.sh b/package.sh index 2849d1d6..5f8c10c1 100644 --- a/package.sh +++ b/package.sh @@ -18,6 +18,7 @@ check_cmd tar RELEASE=sysomRelease-$(date +"%Y%m%d%H%M%S") SERVERDIR=sysom_server WEBDIR=sysom_web +CONFDIR=conf SCRIPTDIR=script TOOLSDIR=tools # build web @@ -27,7 +28,7 @@ yarn build popd || exit mkdir -p "${RELEASE}" -cp -r ${SERVERDIR}/ ${TOOLSDIR}/ "${RELEASE}"/ +cp -r ${SERVERDIR}/ ${TOOLSDIR}/ ${CONFDIR}/ "${RELEASE}"/ cp -r ${WEBDIR}/dist/ "${RELEASE}"/${WEBDIR}/ mkdir -p "${RELEASE}"/${WEBDIR}/download/ cp ${TOOLSDIR}/deploy/deploy.sh "${RELEASE}"/ diff --git a/script/server/0_env/init.sh b/script/server/0_env/init.sh index 166c0a83..2987b3e4 100755 --- a/script/server/0_env/init.sh +++ b/script/server/0_env/init.sh @@ -103,6 +103,7 @@ install_sdk() { python setup_cec_base.py develop python setup_cec_redis.py develop python setup_channel_job.py develop + python setup_sysom_utils.py develop sudo rm -r *.egg-info build dist popd } diff --git a/script/server/1_sysom_monitor/init.sh b/script/server/1_sysom_monitor/init.sh index a7a4c0c0..2b444f99 100755 --- a/script/server/1_sysom_monitor/init.sh +++ b/script/server/1_sysom_monitor/init.sh @@ -194,13 +194,13 @@ main() mkdir -p ${RESOURCE_DIR} install_grafana install_prometheus - download_node_exporter + # download_node_exporter start_grafana_service start_prometheus_service set_node_init_cmd - prepare_node_init_tar + #prepare_node_init_tar configure_grafana configure_cron diff --git a/sysom_server/sdk/channel_job/job.py b/sysom_server/sdk/channel_job/job.py index 5d5a1343..bbfdba71 100644 --- a/sysom_server/sdk/channel_job/job.py +++ b/sysom_server/sdk/channel_job/job.py @@ -245,7 +245,7 @@ class ChannelFileJob: return self._get_file() async def execute_async(self) -> JobResult: - return anyio.to_thread.run_sync(self.execute) + return await anyio.to_thread.run_sync(self.execute) class ChannelJobExecutorConfig: diff --git a/sysom_server/sdk/sysom_utils/node_manager.py b/sysom_server/sdk/sysom_utils/node_manager.py index ea318fbe..bad9db9f 100644 --- a/sysom_server/sdk/sysom_utils/node_manager.py +++ b/sysom_server/sdk/sysom_utils/node_manager.py @@ -194,7 +194,7 @@ class NodeManager: "instances": [target_instance] } ).execute_async() - if result.code != 200: + if result.code != 0: # Dispatch file failed raise NodeManagerException( f"Dispatch file to node failed: {result.err_msg}" diff --git a/sysom_server/sysom_monitor_server/conf/common.py b/sysom_server/sysom_monitor_server/conf/common.py index cebef50f..ab4533c5 100644 --- a/sysom_server/sysom_monitor_server/conf/common.py +++ b/sysom_server/sysom_monitor_server/conf/common.py @@ -6,6 +6,8 @@ Email mfeng@linux.alibaba.com File common.py Description: """ +from cec_base.log import LoggerHelper, LoggerLevel +import sys from pathlib import Path from sysom_utils import ConfigParser @@ -25,3 +27,14 @@ YAML_CONFIG = ConfigParser(YAML_GLOBAL_CONFIG_PATH, YAML_SERVICE_CONFIG_PATH) ################################################################## # channl_job SDK 需要的url CHANNEL_JOB_URL = YAML_CONFIG.get_local_channel_job_url() + + +################################################################## +# Logger settings +################################################################## +# Config log format +log_format = "{time:YYYY-MM-DD HH:mm:ss} | {level} | {file.path}:{line} | {message}" +LoggerHelper.add(sys.stdout, level=LoggerLevel.LOGGER_LEVEL_INFO, + format=log_format, colorize=True) +LoggerHelper.add(sys.stderr, level=LoggerLevel.LOGGER_LEVEL_WARNING, + format=log_format, colorize=True) diff --git a/sysom_server/sysom_monitor_server/main.py b/sysom_server/sysom_monitor_server/main.py index 254e70c5..0eba6764 100644 --- a/sysom_server/sysom_monitor_server/main.py +++ b/sysom_server/sysom_monitor_server/main.py @@ -1,13 +1,25 @@ +from channel_job import default_channel_job_executor from fastapi import FastAPI +from conf.settings import * from app.routeres import home +from sysom_utils import PluginEventExecutor app = FastAPI() app.include_router(home.router, prefix="/api/v1/monitor/home") +def init_monitor(): + # 从 Channel 为服务拉取配置初始化 channel_job + default_channel_job_executor.init_config(CHANNEL_JOB_URL) + default_channel_job_executor.start() + + PluginEventExecutor(YAML_CONFIG, default_channel_job_executor).start() + + @app.on_event("startup") async def on_start(): + init_monitor() pass diff --git a/tools/deploy/deploy.sh b/tools/deploy/deploy.sh index dddc2978..8c4caf8a 100755 --- a/tools/deploy/deploy.sh +++ b/tools/deploy/deploy.sh @@ -9,6 +9,7 @@ APP_NAME="sysom" SERVER_DIR="sysom_server" WEB_DIR="sysom_web" +CONF_DIR="conf" SCRIPT_DIR="script" APP_HOME=/usr/local/sysom SERVER_LOCAL_IP="" @@ -57,7 +58,7 @@ update_target() { fi mkdir -p ${TARGET_PATH} echo "INFO: copy project file..." - cp -r ${SERVER_DIR} ${WEB_DIR} ${TARGET_PATH} + cp -r ${SERVER_DIR} ${WEB_DIR} ${CONF_DIR} ${TARGET_PATH} cp -r ${SCRIPT_DIR} ${APP_HOME}/init_scripts cp tools/deploy/sysom-server.service /usr/lib/systemd/system/ } diff --git a/tools/deploy/sysom-offline.spec b/tools/deploy/sysom-offline.spec index 55fa53c0..3d1bff16 100755 --- a/tools/deploy/sysom-offline.spec +++ b/tools/deploy/sysom-offline.spec @@ -146,6 +146,7 @@ echo "build sysom end........" mkdir -p %{buildroot}/usr/local/sysom/server/target mkdir -p %{buildroot}/usr/local/sysom/server/redis cp -a sysom_server %{buildroot}/usr/local/sysom/server/target +cp -a conf %{buildroot}/usr/local/sysom/server/target cp -a sysom_web/dist %{buildroot}/usr/local/sysom/server/target/sysom_web cp -a script %{buildroot}/usr/local/sysom/init_scripts cp -a monitor %{buildroot}/usr/local/sysom/server/ diff --git a/tools/deploy/sysom.spec b/tools/deploy/sysom.spec index 99e5fb2d..f897410f 100755 --- a/tools/deploy/sysom.spec +++ b/tools/deploy/sysom.spec @@ -146,6 +146,7 @@ echo "build sysom end........" mkdir -p %{buildroot}/usr/local/sysom/server/target #mkdir -p %{buildroot}/usr/local/sysom/server/redis cp -a sysom_server %{buildroot}/usr/local/sysom/server/target +cp -a conf %{buildroot}/usr/local/sysom/server/target cp -a sysom_web/dist %{buildroot}/usr/local/sysom/server/target/sysom_web cp -a script %{buildroot}/usr/local/sysom/init_scripts #cp -a monitor %{buildroot}/usr/local/sysom/server/