mirror of https://gitee.com/anolis/sysom.git
feat(monitor): Enable monitor dispatch node files itself
This commit is contained in:
parent
40efdcbba0
commit
7cd21a2815
|
@ -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:
|
||||
|
|
|
@ -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}"/
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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}"
|
||||
|
|
|
@ -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 = "<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level}</level> | <cyan>{file.path}</cyan>:<cyan>{line}</cyan> | {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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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/
|
||||
}
|
||||
|
|
|
@ -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/
|
||||
|
|
|
@ -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/
|
||||
|
|
Loading…
Reference in New Issue