Compare commits
120 Commits
49f0ba4a7a
...
multi-tena
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c77981e587 | ||
|
|
745ec999b4 | ||
|
|
1054da9b4e | ||
|
|
6226809e8d | ||
|
|
86f994cbe6 | ||
|
|
6ff8e49cf6 | ||
|
|
858eec188a | ||
|
|
73911f3192 | ||
|
|
8f50df5bd1 | ||
|
|
f9a2a84144 | ||
|
|
ec756261be | ||
|
|
f8e17fbcd6 | ||
|
|
255f531fb7 | ||
|
|
75405e0482 | ||
|
|
e176154f73 | ||
|
|
c893d8d051 | ||
|
|
234a403bca | ||
|
|
ac9d369235 | ||
|
|
cde04d7608 | ||
|
|
b6dc85e51e | ||
|
|
8000d6c263 | ||
|
|
8447da9d46 | ||
|
|
8def038993 | ||
|
|
271aaa1f69 | ||
|
|
3a1cac9f0e | ||
|
|
5b47a8d366 | ||
|
|
b18224c95d | ||
|
|
14623348b8 | ||
|
|
e5ca189b05 | ||
|
|
f84d4e48a8 | ||
|
|
521936fbcc | ||
|
|
1bb763df6e | ||
|
|
e8d51f0821 | ||
|
|
72d299a87a | ||
|
|
fc8d8bd9d9 | ||
|
|
764ef45098 | ||
|
|
dd9ded3ad1 | ||
|
|
32a0fc7d46 | ||
|
|
4bc25c840a | ||
|
|
cc7a42edb2 | ||
|
|
b5a4d8f084 | ||
|
|
22cad473ab | ||
|
|
8426a91eec | ||
|
|
45bed62998 | ||
|
|
e5fd1fe7a2 | ||
|
|
5820c66f8b | ||
|
|
f1250f6409 | ||
|
|
9e4427b3e8 | ||
|
|
4566d4ff4c | ||
|
|
eba31a09a2 | ||
|
|
60e4034ca8 | ||
|
|
0676d237ec | ||
|
|
f2de67e311 | ||
|
|
106d499eae | ||
| 16ce7958f0 | |||
| f1d7c0b1b7 | |||
| a2278d066c | |||
| d96a2400ce | |||
| 39204e55c0 | |||
| 6a60d55180 | |||
| 8fb18ef6bb | |||
| e389f98b46 | |||
| fa9870f690 | |||
| 09250dfaf8 | |||
| 0946603828 | |||
| 23591dfda0 | |||
| 1a97be11df | |||
| 2454fbf1d6 | |||
| f3ee5c189b | |||
| 2be4cfdd03 | |||
| 9acb7caaa1 | |||
| a547fda132 | |||
| 821af0148e | |||
| 0a43eea194 | |||
| e11f0235f1 | |||
| 904a13fd56 | |||
| c4539e30bb | |||
| 103140f08d | |||
| 48e6bfd67d | |||
| 05940359d8 | |||
| 9ddc4ea6cb | |||
| e4deb815b9 | |||
|
|
3649afe328 | ||
|
|
5cdb82297a | ||
| 615000ee68 | |||
| 625b49a6b4 | |||
| 2fe1725288 | |||
| 7ecd7e1602 | |||
| 9dd9a2f391 | |||
| 11e1604683 | |||
| a78fd76e3b | |||
| 22119320d1 | |||
| c4142d894b | |||
| 815a754485 | |||
| 1bbaf9b4d7 | |||
| ac6ef015eb | |||
| 69a54c9243 | |||
| 860b53b06a | |||
| 7831377857 | |||
| dfb1b87772 | |||
| 8c2e7957d9 | |||
| 5902ba2f51 | |||
| 5a822828e6 | |||
| a4ff093c81 | |||
| 41ea7703f8 | |||
| ed650b18db | |||
| ca9b21ffe3 | |||
| 52f038e4e1 | |||
| 761e4ed44a | |||
| 2097f177e0 | |||
| 07868f83dc | |||
| 3837d1d491 | |||
| 5d390fcefc | |||
| d17ae34d37 | |||
| 272ff190c0 | |||
| 66366c39fc | |||
| c86f8e0356 | |||
| 152813bbd4 | |||
| a7e9e6acb7 | |||
| bf6a756b28 |
31
.gitignore
vendored
@@ -12,26 +12,21 @@
|
||||
# Run temp file and dir
|
||||
docs/temp/
|
||||
|
||||
|
||||
# Built Visual Studio Code Extensions
|
||||
*.vsix
|
||||
*.bak
|
||||
|
||||
build/usr/local/omc/bin/captrace
|
||||
build/usr/local/omc/bin/crontask
|
||||
build/usr/local/omc/bin/data2html
|
||||
build/usr/local/omc/bin/restagent
|
||||
build/usr/local/omc/bin/sshsvc
|
||||
debbuild/22.04/usr/local/omc/bin/captrace
|
||||
debbuild/22.04/usr/local/omc/bin/crontask
|
||||
debbuild/22.04/usr/local/omc/bin/data2html
|
||||
debbuild/22.04/usr/local/omc/bin/restagent
|
||||
debbuild/22.04/usr/local/omc/bin/sshsvc
|
||||
|
||||
# release package
|
||||
build/usr/local/omc/htdocs
|
||||
debbuild/22.04/usr/local/omc/htdocs
|
||||
debbuild/usr/local/omc/htdocs
|
||||
# build and release package
|
||||
build/
|
||||
debbuild/
|
||||
release/
|
||||
debbuild/etc
|
||||
debbuild/usr
|
||||
debbuild/lib
|
||||
debbuild/22.04/etc
|
||||
debbuild/22.04/usr
|
||||
debbuild/22.04/lib
|
||||
# !debbuild/DEBIAN
|
||||
# !debbuild/22.04/DEBIAN
|
||||
|
||||
# --> release
|
||||
release/*
|
||||
# --> debbuild
|
||||
|
||||
32
README.md
@@ -6,21 +6,31 @@ OS: Ubuntu 18.04 / 22.04 (Recommendation)
|
||||
|
||||
Arch: amd64
|
||||
|
||||
Golang: go1.22.1 linux/amd64
|
||||
|
||||
Database: 10.6.16-MariaDB, Redis server v=5.0.5 (or above)
|
||||
|
||||
node.js: v18.16.0 (or above)
|
||||
- Golang: go1.24.2 linux/amd64
|
||||
- node.js: v20.18.0 (or above)
|
||||
|
||||
## Build Guide
|
||||
|
||||
```bash
|
||||
git clone https://xxx@bitbucket.org/bluearcuscom/ems.git omc.git
|
||||
cd omc.git
|
||||
git pull
|
||||
cd fe.ems.vue3
|
||||
npm install
|
||||
npm run build
|
||||
cd ../build.ems
|
||||
./build.sh deb
|
||||
# pwd
|
||||
cd /root/omc.git
|
||||
# ls
|
||||
# be.ems build.ems fe.ems.vue3
|
||||
cp build.ems/pkg.sh .
|
||||
bash pkg.sh --web --api -v 2.2508.1
|
||||
```
|
||||
|
||||
Encountered character error
|
||||
|
||||
error: `sed: -e expression #1, char 46: Invalid collation character`
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install locales
|
||||
sudo locale-gen en_US.UTF-8
|
||||
sudo update-locale LANG=en_US.UTF-8
|
||||
source /etc/default/locale
|
||||
locale
|
||||
```
|
||||
|
||||
@@ -31,7 +31,8 @@ fi
|
||||
# Use a new parameter list
|
||||
set -- "${new_args[@]}"
|
||||
|
||||
GitLocalRoot=${HOME}/omc.git
|
||||
RootDir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
GitLocalRoot=$(dirname $(dirname "$RootDir"))
|
||||
while getopts "r:d" option; do
|
||||
case $option in
|
||||
r)
|
||||
@@ -56,9 +57,9 @@ fi
|
||||
ProjectL=omc
|
||||
ProjectU=OMC
|
||||
PROJECT=${ProjectL}
|
||||
VERSION=2.2410.3
|
||||
VERSION=2.2508.1
|
||||
RelDate=`date +%Y%m%d`
|
||||
RelVer=${VERSION}-${RelDate}
|
||||
RelVer=${VERSION}-${RelDate}-mt
|
||||
Ky10Arch=ky10.aarch64
|
||||
RpmPkgName=${ProjectL}-${RelVer}.ky10.aarch64.rpm
|
||||
RpmPkgRename=${ProjectL}-r${RelVer}-ky10.rpm
|
||||
@@ -69,6 +70,7 @@ RpmArch=`arch`
|
||||
RpmsDir=${EmsBuildRoot}/rpmbuild/RPMS/
|
||||
ReleaseDir=${EmsBuildRoot}/release
|
||||
DumpToolDir=${EmsBEDir}/tools/misc
|
||||
ProjectTag=""
|
||||
|
||||
BuildDir=${EmsBuildRoot}/build
|
||||
CustomizedDir=${EmsBuildRoot}/customized
|
||||
@@ -92,24 +94,13 @@ EmsFEDir=${GitLocalRoot}/fe.ems
|
||||
EmsFEVue3Dir=${GitLocalRoot}/fe.ems.vue3/dist
|
||||
LibDir=${EmsBEDir}/lib
|
||||
RESTAGENT=restagent
|
||||
CRONTASK=crontask
|
||||
SshSvcBin=sshsvc
|
||||
CapTraceBin=captrace
|
||||
Data2htmlBin=data2html
|
||||
NBI_ALARM=nbi_alarm
|
||||
NBI_AGENT=nbi_agent
|
||||
AAAA_AGENT=4a_agent
|
||||
RestagentDir=${EmsBEDir}/${RESTAGENT}
|
||||
CrontaskDir=${EmsBEDir}/${CRONTASK}
|
||||
SshSvcDir=${EmsBEDir}/${SshSvcBin}
|
||||
CapTraceDir=${EmsBEDir}/${CapTraceBin}
|
||||
Data2htmlDir=${EmsBEDir}/${Data2htmlBin}
|
||||
DBSQLSrcDir=${EmsBEDir}/database
|
||||
MiscDir=${EmsBEDir}/misc
|
||||
FrontBuildDir=${BuildOMCDir}/htdocs
|
||||
FrontSrcDir=${EmsBEDir}/front
|
||||
CrontaskSize=27788951
|
||||
RestagentSize=29525312
|
||||
BinWriterDir=${HOME}/bin
|
||||
|
||||
if [[ ${RpmArch} =~ "x86_64" ]];then
|
||||
@@ -120,15 +111,8 @@ fi
|
||||
|
||||
case "${pkgtype}" in
|
||||
rpm)
|
||||
ReleasePkgDir=${ReleaseDir}/rpms/${RelArch}
|
||||
ProcList="restagent crontask sshsvc captrace data2html"
|
||||
cd $EmsBEDir
|
||||
for procName in $ProcList;do
|
||||
cd $EmsBEDir/$procName
|
||||
echo "Make $procName ..."
|
||||
make
|
||||
done
|
||||
|
||||
echo "Begin to make ${pkgtype} package ======>"
|
||||
|
||||
cd $EmsBEDir
|
||||
# make rpm
|
||||
# clear build cache
|
||||
@@ -137,24 +121,14 @@ case "${pkgtype}" in
|
||||
rm -rf ${RpmBuildDir}/BUILD/usr/local/omc/etc/db/*
|
||||
|
||||
cp -rf ${RestagentDir}/${RESTAGENT} ${BuildOMCBinDir}
|
||||
cp -rf ${CrontaskDir}/${CRONTASK} ${BuildOMCBinDir}
|
||||
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
|
||||
cp -rf ${CapTraceDir}/${CapTraceBin} ${BuildOMCBinDir}
|
||||
cp -rf ${Data2htmlDir}/${Data2htmlBin} ${BuildOMCBinDir}
|
||||
# ${BinWriterDir}/binWriter ${BuildOMCBinDir}/${RESTAGENT} ${RestagentSize}
|
||||
# ${BinWriterDir}/binWriter ${BuildOMCBinDir}/${CRONTASK} ${CrontaskSize}
|
||||
# cp -rf ${MiscDir}/ne-hosts ${BuildOMCBinDir}
|
||||
# cp -rf ./nbi/${NBI_ALARM}/bin/${NBI_ALARM} ${BinDir2}
|
||||
# cp -rf ./nbi/${NBI_AGENT}/bin/${NBI_AGENT} ${BinDir2}
|
||||
# cp -rf ./${4A_AGENT}/bin/${4A_AGENT} ${BinDir2}
|
||||
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
|
||||
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
|
||||
# rm -rf ${BinDir2}/ne-hosts
|
||||
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
|
||||
rm -rf ${BuildOMCEtcDir}/db/*
|
||||
rm -rf ${BuildOMCEtcDir}/db && mkdir -p ${BuildOMCEtcDir}/db
|
||||
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
|
||||
#Get SQL from database, overwrite from git
|
||||
if [ "$dumpdb" = "yes" ]; then
|
||||
cd ${DumpToolDir}
|
||||
@@ -172,22 +146,17 @@ case "${pkgtype}" in
|
||||
#cp -rf ${BuildDir}/systemd ${RpmBuildDir}/BUILD/lib/
|
||||
cd ${RpmBuildDir}
|
||||
rpmbuild -bb -D "_topdir ${RpmBuildDir}" ${RpmBuildDir}/SPECS/omc.spec
|
||||
|
||||
|
||||
ReleasePkgDir=${ReleaseDir}/rpms/${RelArch}
|
||||
mv -f $RpmsDir/$RpmArch/$RpmPkgName ${ReleasePkgDir}/$RpmPkgRename
|
||||
cd ${ReleasePkgDir}
|
||||
rm -f omc-md5sum.txt
|
||||
# rpm --addsign *.rpm
|
||||
md5sum $RpmPkgRename >omc-md5sum.txt
|
||||
echo "Finish to make ${pkgtype} package <======"
|
||||
;;
|
||||
deb)
|
||||
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
|
||||
ProcList="restagent crontask sshsvc captrace data2html"
|
||||
cd $EmsBEDir
|
||||
for procName in $ProcList;do
|
||||
cd $EmsBEDir/$procName
|
||||
echo "Make $procName ..."
|
||||
make
|
||||
done
|
||||
echo "Begin to make ${pkgtype} package ======>"
|
||||
|
||||
VersionID=`grep VERSION_ID /etc/os-release`
|
||||
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
|
||||
@@ -195,9 +164,23 @@ case "${pkgtype}" in
|
||||
DebBuildOMCDir=${DebBuild2204OMCDir}
|
||||
DebFEBuildDir=${DebFEBuild2204Dir}
|
||||
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22.deb
|
||||
DebPkgFile=${PROJECT}-r${RelVer}-ub22.deb
|
||||
if [ ! $ProjectTag = "" ]; then
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub22-${ProjectTag}.deb
|
||||
fi
|
||||
elif [[ ${VersionID} =~ 'VERSION_ID="24.04"' ]]; then
|
||||
DebBuildDir=${DebBuild2204Dir}
|
||||
DebBuildOMCDir=${DebBuild2204OMCDir}
|
||||
DebFEBuildDir=${DebFEBuild2204Dir}
|
||||
DebPkgFile=${PROJECT}-r${RelVer}-ub24.deb
|
||||
if [ ! $ProjectTag = "" ]; then
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub24-${ProjectTag}.deb
|
||||
fi
|
||||
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18.deb
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub18.deb
|
||||
if [ ! $ProjectTag = "" ]; then
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub18-${ProjectTag}.deb
|
||||
fi
|
||||
else
|
||||
echo "Invalid OS release: ${VersionID}"
|
||||
exit 1
|
||||
@@ -213,17 +196,13 @@ case "${pkgtype}" in
|
||||
rm -rf ${DebBuildOMCDir}/static/*
|
||||
|
||||
cp -rf ${RestagentDir}/${RESTAGENT} ${BuildOMCBinDir}
|
||||
cp -rf ${CrontaskDir}/${CRONTASK} ${BuildOMCBinDir}
|
||||
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
|
||||
cp -rf ${CapTraceDir}/${CapTraceBin} ${BuildOMCBinDir}
|
||||
cp -rf ${Data2htmlDir}/${Data2htmlBin} ${BuildOMCBinDir}
|
||||
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
|
||||
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
|
||||
rm -rf ${BuildOMCEtcDir}/db/*
|
||||
rm -rf ${BuildOMCEtcDir}/db && mkdir -p ${BuildOMCEtcDir}/db
|
||||
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
|
||||
#Get SQL from database, overwrite from git
|
||||
if [ "${dumpdb}" = "yes" ]; then
|
||||
cd ${DumpToolDir}
|
||||
@@ -239,27 +218,22 @@ case "${pkgtype}" in
|
||||
cp -rf ${BuildDir}/* ${DebBuildDir}/
|
||||
cp -rf ${CustomizedDir}/agt.d ${DebBuildOMCDir}/static
|
||||
cp -rf ${CustomizedDir}/omc.d ${DebBuildOMCDir}/static
|
||||
cp -rf ${CustomizedDir}/ba.d ${DebBuildOMCDir}/static
|
||||
#cp -rf ${BuildDir}/nginx/* ${DebBuildDir}/etc/nginx/conf.d
|
||||
#cp -rf ${BuildDir}/systemd/*.service ${DebBuildDir}/lib/systemd/system/
|
||||
chmod +x ${DebBuildDir}/usr/local/omc/bin/*
|
||||
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
|
||||
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml
|
||||
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
|
||||
dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile}
|
||||
|
||||
cd ${ReleasePkgDir}
|
||||
rm -f omc-md5sum.txt
|
||||
# rpm --addsign *.rpm
|
||||
md5sum ${DebPkgName} >omc-md5sum.txt
|
||||
echo "Finish to make ${pkgtype} package <======="
|
||||
;;
|
||||
badeb)
|
||||
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
|
||||
ProcList="restagent crontask sshsvc captrace data2html"
|
||||
cd $EmsBEDir
|
||||
for procName in $ProcList;do
|
||||
cd $EmsBEDir/$procName
|
||||
echo "Make $procName ..."
|
||||
make
|
||||
done
|
||||
echo "Begin to make ${pkgtype} package ======>"
|
||||
|
||||
VersionID=`grep VERSION_ID /etc/os-release`
|
||||
if [[ ${VersionID} =~ 'VERSION_ID="22.04"' ]]; then
|
||||
@@ -267,9 +241,17 @@ case "${pkgtype}" in
|
||||
DebBuildOMCDir=${DebBuild2204OMCDir}
|
||||
DebFEBuildDir=${DebFEBuild2204Dir}
|
||||
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22-ba.deb
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub22-ba.deb
|
||||
elif [[ ${VersionID} =~ 'VERSION_ID="24.04"' ]]; then
|
||||
DebBuildDir=${DebBuild2204Dir}
|
||||
DebBuildOMCDir=${DebBuild2204OMCDir}
|
||||
DebFEBuildDir=${DebFEBuild2204Dir}
|
||||
DebPkgFile=${PROJECT}-r${RelVer}-ub24.deb
|
||||
if [ ! $ProjectTag = "" ]; then
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub24-${ProjectTag}.deb
|
||||
fi
|
||||
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18-ba.deb
|
||||
DebPkgFile=${ProjectL}-r${RelVer}-ub18-ba.deb
|
||||
else
|
||||
echo "Invalid OS release: ${VersionID}"
|
||||
exit 1
|
||||
@@ -285,17 +267,13 @@ case "${pkgtype}" in
|
||||
rm -rf ${DebBuildOMCDir}/static/*
|
||||
|
||||
cp -rf ${RestagentDir}/${RESTAGENT} ${BuildOMCBinDir}
|
||||
cp -rf ${CrontaskDir}/${CRONTASK} ${BuildOMCBinDir}
|
||||
cp -rf ${SshSvcDir}/${SshSvcBin} ${BuildOMCBinDir}
|
||||
cp -rf ${CapTraceDir}/${CapTraceBin} ${BuildOMCBinDir}
|
||||
cp -rf ${Data2htmlDir}/${Data2htmlBin} ${BuildOMCBinDir}
|
||||
cp -rf ${MiscDir}/* ${BuildOMCBinDir}
|
||||
cp -rf ${ConfigEtcDir}/* ${BuildOMCEtcDir}
|
||||
rm -rf ${BuildOMCEtcDir}/db/*
|
||||
rm -rf ${BuildOMCEtcDir}/db && mkdir -p ${BuildOMCEtcDir}/db
|
||||
cp -rf ${DBSQLSrcDir}/* ${BuildOMCEtcDir}/db/
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/install
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgrade
|
||||
cp -rf ${BuildOMCEtcDir}/db/common/* ${BuildOMCEtcDir}/db/upgvue3
|
||||
#Get SQL from database, overwrite from git
|
||||
if [ "${dumpdb}" = "yes" ]; then
|
||||
cd ${DumpToolDir}
|
||||
@@ -311,16 +289,17 @@ case "${pkgtype}" in
|
||||
cp -rf ${BuildDir}/* ${DebBuildDir}/
|
||||
cp -rf ${CustomizedDir}/ba.d ${DebBuildOMCDir}/static
|
||||
# replace Chinese character
|
||||
find "${DebBuildOMCDir}/etc/db" -type f -name '*.sql' -exec sed -i 's/[一-龥]//g' {} +
|
||||
find "${DebBuildOMCDir}/etc/db" -type f -name '*.sql' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
|
||||
echo "Replace all chinese character."
|
||||
chmod +x ${DebBuildDir}/usr/local/omc/bin
|
||||
sed -i "s/YYYYMMDD/${RelDate}/g" ${DebBuildDir}/DEBIAN/control
|
||||
perl -0777 -i -pe 's/ne:\n user: root/ne:\n user: omcuser/g' ${DebBuildDir}/usr/local/omc/etc/default/restconf.yaml
|
||||
ReleasePkgDir=${ReleaseDir}/debs/${RelArch}
|
||||
dpkg -b ${DebBuildDir} ${ReleasePkgDir}/${DebPkgFile}
|
||||
|
||||
cd ${ReleasePkgDir}
|
||||
rm -f omc-md5sum.txt
|
||||
md5sum ${DebPkgName} >omc-md5sum.txt
|
||||
echo "Finish to make ${pkgtype} package <======"
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
@@ -11,6 +11,7 @@ usage() {
|
||||
echo " -m, =be|fe|all be: only process back-end code, default if non input"
|
||||
echo " fe: only process front-end code"
|
||||
echo " all: process all include be and fe"
|
||||
echo " -c, =ba ba: customized for BA OMC"
|
||||
}
|
||||
|
||||
pkgtype=""
|
||||
@@ -49,8 +50,11 @@ while getopts "m:r:c:d" option; do
|
||||
be_args+=("-d")
|
||||
;;
|
||||
c)
|
||||
pkgtype="badeb"
|
||||
be_args+=("$pkgtype")
|
||||
c_arg=$(echo $OPTARG | tr '[:upper:]' '[:lower:]')
|
||||
if [ "${c_arg}" == "ba" ]; then
|
||||
pkgtype="badeb"
|
||||
be_args+=("${pkgtype}")
|
||||
fi
|
||||
;;
|
||||
\?)
|
||||
echo "Invalid option: -$OPTARG" >&2
|
||||
@@ -66,36 +70,77 @@ if [ ! -d ${rootdir} ]; then
|
||||
fi
|
||||
|
||||
bedir=${rootdir}/be.ems
|
||||
fedir=${rootdir}/fe.ems.vue3
|
||||
|
||||
builddir=${rootdir}/build.ems
|
||||
buildcustomized=${builddir}/customized
|
||||
customizeddir=${buildcustomized}/${c_arg}.d
|
||||
|
||||
fedir=${rootdir}/fe.ems.vue3
|
||||
feassetsdir=${fedir}/public
|
||||
felocalesdir=${fedir}/src/i18n/locales
|
||||
feconstantsdir=${fedir}/src/constants
|
||||
fehooksdir=${fedir}/src/hooks
|
||||
|
||||
makefe() {
|
||||
cd ${fedir}
|
||||
# git checkout ${feassetsdir}
|
||||
# git checkout ${felocalesdir}
|
||||
# git checkout ${feconstantsdir}
|
||||
# git checkout ${fehooksdir}
|
||||
git pull
|
||||
if [ "${pkgtype}" == "badeb" ]; then
|
||||
cp -rf ${customizeddir}/images/background_light.jpg ${feassetsdir}/background/light.jpg
|
||||
cp -rf ${customizeddir}/images/background_dark.jpg ${feassetsdir}/background/dark.jpg
|
||||
cp -rf ${customizeddir}/locales/zh-CN.ts ${felocalesdir}/zh-CN.ts
|
||||
find "${feconstantsdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
|
||||
find "${fehooksdir}" -type f -name '*.ts' -exec sed -i 's/[一-龥()“”,。?!]~·]//g' {} +
|
||||
fi
|
||||
# npm install --force --registry https://registry.npmmirror.com
|
||||
npm install --registry https://registry.npmmirror.com
|
||||
echo -n "Building front-end vue ... "
|
||||
npm run build 1>/dev/null
|
||||
if [ $? = 0 ]; then
|
||||
echo "done"
|
||||
fi
|
||||
git checkout ${feassetsdir}
|
||||
git checkout ${felocalesdir}
|
||||
git checkout ${feconstantsdir}
|
||||
git checkout ${fehooksdir}
|
||||
}
|
||||
|
||||
makebe() {
|
||||
cd ${builddir}
|
||||
cd ${builddir}/bin
|
||||
#chmod +x mkpkg.sh
|
||||
EmsBEDir=${rootdir}/be.ems
|
||||
ProcList="restagent sshsvc"
|
||||
cd $EmsBEDir
|
||||
for procName in $ProcList;do
|
||||
cd $EmsBEDir/$procName
|
||||
echo "Make $procName ..."
|
||||
make
|
||||
done
|
||||
|
||||
chmod +x build.sh
|
||||
./build.sh ${be_args[@]}
|
||||
}
|
||||
|
||||
post_makepkg() {
|
||||
cd ${builddir}
|
||||
git checkout debbuild/DEBIAN/
|
||||
git checkout debbuild/22.04/DEBIAN/
|
||||
}
|
||||
|
||||
case "${m_arg}" in
|
||||
fe)
|
||||
"fe")
|
||||
makefe
|
||||
;;
|
||||
all)
|
||||
;;
|
||||
"all")
|
||||
makefe
|
||||
makebe
|
||||
;;
|
||||
be | *)
|
||||
makebe
|
||||
;;
|
||||
makebe
|
||||
post_makepkg
|
||||
;;
|
||||
"be" | "*")
|
||||
makebe
|
||||
post_makepkg
|
||||
;;
|
||||
esac
|
||||
5
bin/nodejs.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
# copy to /etc/profile.d/ to set the environment variables for all users
|
||||
# cp -f nodejs.sh /etc/profile.d/99-nodejs.sh
|
||||
|
||||
export PATH=/usr/local/bin:$PATH
|
||||
export NODE_OPTIONS=--max-old-space-size=50000
|
||||
@@ -1,44 +0,0 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: saved days, default is 30 days
|
||||
logger:
|
||||
file: /usr/local/omc/log/crontask.log
|
||||
level: warn
|
||||
duration: 24
|
||||
count: 90
|
||||
|
||||
omc:
|
||||
name: OMC01
|
||||
hosturi: http://127.0.0.1:33030
|
||||
hostno: A001
|
||||
province: ""
|
||||
netabbr: HX
|
||||
vendor: ""
|
||||
|
||||
tasks:
|
||||
file: /usr/local/omc/etc/tasks.yaml
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: 1000omc@kp!
|
||||
host: 127.0.0.1
|
||||
port: 33066
|
||||
name: omc_db
|
||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||
|
||||
# northbound interface, cm/pm
|
||||
# duration(day): saved days
|
||||
# zipPeriods(day): periods of zip pm data file
|
||||
nbi:
|
||||
cm:
|
||||
cfgfiledir: /usr/local/omc/etc/cm
|
||||
xmlfiledir: /opt/omc/ftp
|
||||
version: V1.0.1
|
||||
duration: 30
|
||||
pm:
|
||||
cfgfiledir: /usr/local/omc/etc/pm
|
||||
xmlfiledir: /opt/omc/ftp
|
||||
version: V1.0.1
|
||||
duration: 30
|
||||
zipPeriods: 1
|
||||
@@ -1,193 +0,0 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: /usr/local/omc/log/restagent.log
|
||||
level: warn
|
||||
duration: 24
|
||||
count: 90
|
||||
|
||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
|
||||
# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
|
||||
rest:
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 33030
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 33443
|
||||
schema: https
|
||||
clientAuthType: 0
|
||||
caFile: /usr/local/omc/etc/certs/omc-ca.crt
|
||||
certFile: /usr/local/omc/etc/certs/omc-server.crt
|
||||
keyFile: /usr/local/omc/etc/certs/omc-server.key
|
||||
|
||||
webServer:
|
||||
enabled: true
|
||||
rootDir: /usr/local/omc/htdocs/front
|
||||
listen:
|
||||
- addr: :80
|
||||
schema: http
|
||||
- addr: :443
|
||||
schema: https
|
||||
clientAuthType: 0
|
||||
caFile: /usr/local/omc/etc/certs/omc-ca.crt
|
||||
certFile: /usr/local/omc/etc/certs/omc-server.crt
|
||||
keyFile: /usr/local/omc/etc/certs/omc-server.key
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: 1000omc@kp!
|
||||
host: 127.0.0.1
|
||||
port: 33066
|
||||
name: omc_db
|
||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||
backup: /usr/local/omc/database
|
||||
|
||||
# Redis data cache
|
||||
redis:
|
||||
dataSource:
|
||||
# OMC system db
|
||||
default:
|
||||
port: 6379 # Redis port
|
||||
host: "127.0.0.1" # Redis host
|
||||
password: "helloearth"
|
||||
db: 10 # Redis db_num
|
||||
# UDM sub/auth db
|
||||
udmuser:
|
||||
port: 6379 # Redis port
|
||||
host: "127.0.0.1"
|
||||
password: "helloearth"
|
||||
db: 0 # Redis db_num
|
||||
# used to specify the default data source for multiple data resourece
|
||||
defaultDataSourceName: "default"
|
||||
|
||||
# sleep: time delay for after write buffer (millisecond)
|
||||
# deadLine: timeout for io read and write (second)
|
||||
mml:
|
||||
sleep: 200
|
||||
deadLine: 10
|
||||
sizeRow: 600
|
||||
sizeCol: 128
|
||||
bufferSize: 65535
|
||||
mmlHome: ./mmlhome
|
||||
|
||||
# Tracking configuration
|
||||
trace:
|
||||
enabled: true
|
||||
host: "172.16.5.100" # Fill in the specific IP address
|
||||
port: 33033
|
||||
|
||||
# NE config
|
||||
ne:
|
||||
user: omcuser
|
||||
etcdir: /usr/local/etc
|
||||
bindir: /usr/local/bin
|
||||
omcdir: /usr/local/omc
|
||||
scpdir: /tmp
|
||||
licensedir: /usr/local/etc/{neType}/license
|
||||
# backup etc list of IMS, does not contain spaces
|
||||
etcListIMS: '{*.yaml,mmtel,vars.cfg}'
|
||||
etcListDefault: '{*.yaml,*.conf,*.cfg}'
|
||||
# true/false to overwrite config file when dpkg ne software
|
||||
dpkgOverwrite: false
|
||||
# dpkg timeout (second)
|
||||
dpkgTimeout: 180
|
||||
|
||||
# chk2ne: true/false, if put OmcNeConfig parameters to NE
|
||||
omc:
|
||||
uriPrefix: "/omc/rest"
|
||||
neType: OMC
|
||||
neId: 001
|
||||
rmUID: 4400HX101
|
||||
neName: OMC
|
||||
province: ""
|
||||
vendor: ""
|
||||
dn: ""
|
||||
chk2ne: false
|
||||
sn: "-"
|
||||
checksign: false
|
||||
rootDir: /usr/local/omc
|
||||
binDir: /usr/local/omc/bin
|
||||
backup: /usr/local/omc/backup
|
||||
upload: /usr/local/omc/upload
|
||||
frontUpload: /usr/local/omc/htdocs/front/upload
|
||||
frontTraceDir: /usr/local/omc/htdocs/front/trace
|
||||
software: /usr/local/omc/software
|
||||
license: /usr/local/omc/license
|
||||
gtpUri: gtp:192.168.2.119:32152
|
||||
checkContentType: false
|
||||
testMode: false
|
||||
rbacMode: true
|
||||
runDir: /usr/local/omc/run
|
||||
cmdTimeout: 120
|
||||
|
||||
# Alarm module setting
|
||||
# Forward interface:
|
||||
# TLS Skip verify: true/false
|
||||
# email/sms
|
||||
# smProxy: sms(Short Message Service)/smsc(SMS Centre)
|
||||
# dataCoding: 0:GSM7BIT, 1:ASCII, 2:BINARY8BIT1, 3:LATIN1,
|
||||
# 4:BINARY8BIT2, 6:CYRILLIC, 7:HEBREW, 8:UCS2
|
||||
alarm:
|
||||
alarmEmailForward:
|
||||
enable: true
|
||||
emailList:
|
||||
smtp: mail.smtp.com
|
||||
port: 25
|
||||
user: smtpext@smtp.com
|
||||
password: "1000smtp@omc!"
|
||||
tlsSkipVerify: true
|
||||
alarmSMSForward:
|
||||
enable: true
|
||||
mobileList:
|
||||
smscAddr: "192.168.13.114:2775"
|
||||
systemID: "omc"
|
||||
password: "omc123"
|
||||
systemType: "UTRAN"
|
||||
dataCoding: 0
|
||||
serviceNumber: "OMC"
|
||||
sms:
|
||||
apiURL: http://smsc.xxx.com/
|
||||
accessKeyID: xxxx
|
||||
accessKeySecret: xxxx
|
||||
signName: xxx SMSC
|
||||
templateCode: 1000
|
||||
smProxy: smsc
|
||||
|
||||
# User authorized information
|
||||
# crypt: mysql/md5/bcrypt
|
||||
# token: true/false to check accessToken
|
||||
# expires for session, unit: second
|
||||
# Support single/multiple session of user
|
||||
#
|
||||
auth:
|
||||
crypt: bcrypt
|
||||
token: true
|
||||
expires: 1800
|
||||
session: multiple
|
||||
publicKey: /usr/local/omc/etc/certs/omc
|
||||
privateKey: /usr/local/omc/etc/certs/omc
|
||||
|
||||
# Parameter for limit number
|
||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||
# alarmid_maxnum: the max number of AlarmID, default: 50
|
||||
# pmid_maxnum: the max number of pmID, default: 50
|
||||
# subid_maxnum: the max number of subscription ID, default: 20
|
||||
# uri_maxlen: the max length of uri, default: 8192
|
||||
# rmuid_regexp: regexp pattern of rmUID
|
||||
params:
|
||||
rmuidmaxnum: 50
|
||||
alarmidmaxnum: 50
|
||||
pmidmaxnum: 50
|
||||
subidmaxnum: 20
|
||||
urimaxlen: 2100000
|
||||
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
||||
|
||||
testConfig:
|
||||
enabled: false
|
||||
file: /usr/local/omc/etc/testconfig.yaml
|
||||
@@ -1,87 +0,0 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: /usr/local/omc/log/sshsvc.log
|
||||
level: warn
|
||||
duration: 24
|
||||
count: 30
|
||||
|
||||
# file: MML log file name
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
# level: cmd/ret log cmd/log cmd & result
|
||||
logmml:
|
||||
file: /usr/local/omc/mmllog/omcmml.log
|
||||
duration: 24
|
||||
count: 30
|
||||
level: cmd
|
||||
|
||||
# ssh service listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
# session: single/multiple session for one user
|
||||
sshd:
|
||||
listenAddr: 0.0.0.0
|
||||
listenPort: 32222
|
||||
privateKey: /usr/local/omc/.ssh/id_rsa
|
||||
maxConnNum: 2
|
||||
timeout: 1800
|
||||
session: multiple
|
||||
mmlHome: /usr/local/omc/mmlhome
|
||||
userName: manager
|
||||
password: pass123
|
||||
authType: local
|
||||
tagNE: omc
|
||||
|
||||
# authType: local/omc
|
||||
telnetServer:
|
||||
listenAddr: 0.0.0.0
|
||||
listenPort: 32323
|
||||
maxConnNum: 2
|
||||
timeout: 1800
|
||||
session: multiple
|
||||
mmlHome: /usr/local/omc/mmlhome
|
||||
userName: manager
|
||||
password: pass123
|
||||
authType: local
|
||||
tagNE: omc
|
||||
|
||||
# authproto: NoAuth/MD5/SHA
|
||||
# privProto: NoPriv/DES/AES/AES192/AES256
|
||||
snmpServer:
|
||||
listenAddr: '[::]'
|
||||
listenPort: 34957
|
||||
userName: manager
|
||||
authPass: pass123
|
||||
authproto: MD5
|
||||
privPass: "3F2A1B4C5D6E7F8A9B0C1D2E3F4A5B6C7D8E9F0A1B2C3D4E"
|
||||
privProto: DES
|
||||
engineID: "8000000004323030313a6462383a3a39313636"
|
||||
trapPort: 34958
|
||||
trapListen: false
|
||||
trapBool: false
|
||||
trapTick: 60
|
||||
timeOut: 5
|
||||
trapTarget: ""
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: 1000omc@kp!
|
||||
host: 127.0.0.1
|
||||
port: 33066
|
||||
name: omc_db
|
||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||
|
||||
omc:
|
||||
httpUri: http://127.0.0.1:33030
|
||||
userCrypt: bcrypt
|
||||
|
||||
ne:
|
||||
port: 4100
|
||||
sleep: 200
|
||||
user: admin
|
||||
password: admin
|
||||
|
||||
|
||||
@@ -1,183 +0,0 @@
|
||||
# example:
|
||||
# tasks:
|
||||
# - name: test # task comment
|
||||
# uri: # restful uri
|
||||
# params: # params of url
|
||||
# interval: 30 # do sometion in the interval
|
||||
# unit: Seconds #Seconds/Minutes/Hours/Days/Weeks, Monday/Tuesday/.../Sunday,
|
||||
# at: 00:10:00 # do at time such as xx:xx:xx
|
||||
# do: HelloWorldTask # (Do what: callback function)
|
||||
#
|
||||
# Attention: must restart crontask after modified this file
|
||||
#
|
||||
tasks:
|
||||
- name: test # task comment
|
||||
status: Active #active/inactive
|
||||
uri: # restful uri
|
||||
params: # params of http url
|
||||
body: # body of http request
|
||||
interval: 60 # do sometion in the interval
|
||||
unit: Seconds #Seconds/Minutes/Hours/Days/Weeks, Monday/Tuesday/.../Sunday,
|
||||
at: 00:10:00 # do at time such as xx:xx:xx when unit such as Day/Days/Mondays...
|
||||
do: TaskHelloWorld # (Do what: callback function)
|
||||
- name: clear expired history alarm
|
||||
status: Inactive
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/alarm
|
||||
params: WHERE=now()+>+ADDDATE(event_time,+interval+(SELECT+`value`+FROM+config+WHERE+config_tag='historyDuration')+day)+and+alarm_status='0'
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:10:00
|
||||
do: TaskDeleteExpiredRecord
|
||||
- name: clear expired history gold_kpi
|
||||
status: Inactive
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/gold_kpi
|
||||
params: WHERE=now()+>+ADDDATE(`date`,+interval+IFNULL((SELECT+`value`+FROM+config+WHERE+config_tag='goldKpiDuration'),7)+day)
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:12:00
|
||||
do: TaskDeleteExpiredRecord
|
||||
- name: clear deleted custom pm kpi
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/pm_custom_title
|
||||
params: WHERE=now()+>+ADDDATE(update_time,+interval+(SELECT+`value`+FROM+config+WHERE+config_tag='keepPMCKpi')+day)+and+status='Deleted'
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:15:00
|
||||
do: TaskDeleteExpiredRecord
|
||||
- name: update expired user session
|
||||
status: Inactive
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/session
|
||||
params: WHERE=NOW()+>+ADDDATE(shake_time,+interval+expires+second)+and+status='online'
|
||||
body: '{"session":{"status":"offline"}}'
|
||||
interval: 30
|
||||
unit: Seconds
|
||||
at:
|
||||
do: TaskUpdateTable
|
||||
- name: clear expired log
|
||||
status: Inactive
|
||||
uri:
|
||||
params:
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:50:00
|
||||
do: TaskDeleteExpiredRecord
|
||||
- name: Backup measure data
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/measure_data
|
||||
params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'id','date','task_id','ne_name','rm_uid','ne_type','granul_option','kpi_code','kpi_id','kpi_ext','start_time','end_time','value','timestamp'+union+select+id,date,task_id,ne_name,rm_uid,ne_type,granul_option,kpi_code,kpi_id,kpi_ext,start_time,end_time,value,timestamp+from+measure_data)+b
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:20:00
|
||||
do: TaskDBBackupCSVGetBySQL
|
||||
- name: Backup operation log
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/operation_log
|
||||
params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'op_id','account_name','op_ip','subsys_tag','op_type','op_content','op_result','begin_time','end_time','vnf_flag','log_time'+union+select+op_id,account_name,op_ip,subsys_tag,op_type,op_content,op_result,begin_time,end_time,vnf_flag,log_time+from+operation_log)+b
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:26:00
|
||||
do: TaskDBBackupCSVGetBySQL
|
||||
- name: Backup security log
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/security_log
|
||||
params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'id','account_name','account_type','op_ip','op_type','op_content','op_result','op_time'+union+select+id,account_name,account_type,op_ip,op_type,op_content,op_result,op_time+from+security_log)+b
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:28:00
|
||||
do: TaskDBBackupCSVGetBySQL
|
||||
- name: Backup alarm log
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/alarm_log
|
||||
params: SQL=select+*+into+outfile+'%s'+fields+terminated+by+','+escaped+by+''+optionally+enclosed+by+''+lines+terminated+by+'\n'+from+(select+'id','ne_type','ne_id','alarm_seq','alarm_id','alarm_code','alarm_status','event_time','log_time'+union+select+id,ne_type,ne_id,alarm_seq,alarm_id,alarm_code,alarm_status,event_time,log_time+from+alarm_log)+b
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:30:00
|
||||
do: TaskDBBackupCSVGetBySQL
|
||||
- name: handshake to NF
|
||||
status: Active
|
||||
uri: /api/rest/systemManagement/v1/elementType/%s/objectType/systemState
|
||||
params:
|
||||
interval: 10
|
||||
unit: Seconds
|
||||
at:
|
||||
do: TaskHandShakeToNF
|
||||
- name: Export CM from NF
|
||||
status: Inactive
|
||||
uri: /api/rest/systemManagement/v1/elementType/%s/objectType/cm
|
||||
params: ne_id=%s
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:15
|
||||
do: TaskExportCmFromNF
|
||||
- name: Generate NRM xml file
|
||||
uri:
|
||||
params:
|
||||
interval: 1
|
||||
unit: Day
|
||||
at: 00:00,06:00,12:00,18:00
|
||||
do: GenCmXmlFile
|
||||
- name: Task of Generate measure threshold alarm
|
||||
status: Active
|
||||
uri: /api/rest/faultManagement/v1/elementType/%s/objectType/alarms
|
||||
params: 10200
|
||||
interval: 10
|
||||
unit: Seconds
|
||||
at:
|
||||
do: TaskGenMeasureThresholdAlarm
|
||||
- name: Task of Generate license alarm
|
||||
status: Inactive
|
||||
uri: /api/rest/faultManagement/v1/elementType/%s/objectType/alarms
|
||||
params: 10100 #alarm_code
|
||||
interval: 1
|
||||
unit: Days
|
||||
at: 00:30
|
||||
do: TaskGenLicenseAlarm
|
||||
- name: Task of Generate NE system state alarm
|
||||
status: Inactive
|
||||
uri: /api/rest/faultManagement/v1/elementType/%s/objectType/alarms
|
||||
params: 10000
|
||||
interval: 5
|
||||
unit: Seconds
|
||||
at:
|
||||
do: TaskGenNeStateAlarm
|
||||
- name: Task of Generate Measure Report Timeout
|
||||
status: Active
|
||||
uri: /api/rest/faultManagement/v1/elementType/%s/objectType/alarms
|
||||
params: 10201
|
||||
interval: 10
|
||||
unit: Seconds
|
||||
at:
|
||||
do: TaskGenMeasureReportTimeoutAlarm
|
||||
- name: Monitor proces list and write system log
|
||||
uri: /api/rest/databaseManagement/v1/omc_db/system_log
|
||||
params:
|
||||
body:
|
||||
interval: 10
|
||||
unit: Seconds
|
||||
at:
|
||||
do: TaskWriteSystemLog
|
||||
- name: Copy log to /opt/omc/ftp/log
|
||||
uri:
|
||||
params: cp -rf /usr/local/omc/database/*.csv /opt/omc/ftp/log
|
||||
interval: 10
|
||||
unit: Minutes
|
||||
at:
|
||||
do: TaskRunShellCommand
|
||||
# - name: Import CM to NF
|
||||
# uri: /api/rest/systemManagement/v1/elementType/udm/objectType/cm
|
||||
# params: ne_id=SZ_01
|
||||
# interval: 15
|
||||
# unit: Seconds
|
||||
# at:
|
||||
# do: TaskImportCmToNF
|
||||
crontab:
|
||||
# - name: 每隔1分钟执行
|
||||
# tab: 0 */1 * * * ? // crontab: rule like linux crontab
|
||||
# do: CronHelloWorldTask // function name to call
|
||||
# params:
|
||||
- name: Generate PM xml file
|
||||
status: Active
|
||||
tab: 5,20,35,50 * * * *
|
||||
do: GenPmXmlFile
|
||||
uri: this is uri
|
||||
params: Generating PM xml file
|
||||
# - name: Import CM to NF
|
||||
# tab: 0 * * * * *
|
||||
# do: TaskImportCmToNF
|
||||
# uri: /api/rest/systemManagement/v1/elementType/udm/objectType/cm
|
||||
# params: ne_id=SZ_01
|
||||
71
build/usr/local/omc/etc/nginx/omc.conf
Normal file
@@ -0,0 +1,71 @@
|
||||
server {
|
||||
listen 44080;
|
||||
listen 44443;
|
||||
listen [::]:44080;
|
||||
listen [::]:44443;
|
||||
server_name localhost;
|
||||
|
||||
client_max_body_size 100M;
|
||||
keepalive_timeout 180s;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
# ssl_certificate /usr/local/omc/etc/certs/omc-server.crt;
|
||||
# ssl_certificate_key /usr/local/omc/etc/certs/omc-server.key;
|
||||
# ssl_client_certificate /usr/local/omc/etc/certs/omc-ca.crt;
|
||||
# ssl_verify_client on;
|
||||
# ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||
# ssl_session_timeout 5m;
|
||||
# ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
|
||||
# ssl_prefer_server_ciphers on;
|
||||
|
||||
# OMC
|
||||
location / {
|
||||
root /usr/local/omc/htdocs/front;
|
||||
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /omc-api/ {
|
||||
proxy_pass http://127.0.0.1:33030/;
|
||||
|
||||
proxy_connect_timeout 180s;
|
||||
proxy_send_timeout 180s;
|
||||
proxy_read_timeout 180s;
|
||||
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
location /api/rest/ {
|
||||
proxy_pass http://127.0.0.1:33030/api/rest/;
|
||||
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
|
||||
221
build/usr/local/omc/etc/schema/pdml2html.xsl
Normal file
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<!-- This XSLT will convert a PDML file, saved by Wireshark, into
|
||||
HTML. The HTML page should look similar to Wireshark. See
|
||||
https://gitlab.com/wireshark/wireshark/-/wikis/PDML for information
|
||||
on how to generate such a HTML file from PDML.
|
||||
For questions contact Dirk Jagdmann (doj@cubic.org).
|
||||
|
||||
Version: 2010-06-09
|
||||
|
||||
Wireshark - Network traffic analyzer
|
||||
By Gerald Combs <gerald@wireshark.org>
|
||||
Copyright 1998 Gerald Combs
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<!-- set parameters of the HTML output -->
|
||||
<xsl:output method="html" encoding="UTF-8" omit-xml-declaration="no" standalone="yes" indent="yes"/>
|
||||
|
||||
<!-- this matches the "field" tag -->
|
||||
<xsl:template match="field">
|
||||
    <!-- indent with 3 non-breaking spaces -->
|
||||
|
||||
<!-- output either the "showname" or "show" attribute -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(@showname)>0">
|
||||
<xsl:value-of select="@showname"/><br/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--<xsl:value-of select="@name"/>:--> <xsl:value-of select="@show"/><br/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
|
||||
</xsl:template>
|
||||
|
||||
<!-- this matches the "packet" tag -->
|
||||
<xsl:template match="packet">
|
||||
|
||||
<!-- declare some variables for later use -->
|
||||
<xsl:variable name="frame_num" select="proto[@name='frame']/field[@name='frame.number']/@show"/>
|
||||
<xsl:variable name="frame_id" select="concat('f',$frame_num)"/>
|
||||
<xsl:variable name="frame_c" select="concat($frame_id,'c')"/>
|
||||
|
||||
<!-- the "title" bar of the frame -->
|
||||
<div width="100%" id="{$frame_id}">
|
||||
<a href="javascript:toggle_node('{$frame_c}')">⇒</a> <!-- #8658 is a "rArr" (double right arrow) character -->
|
||||
Frame <xsl:value-of select="$frame_num"/>:
|
||||
<xsl:for-each select="proto[@name!='geninfo']">
|
||||
<xsl:value-of select="@name"/>,
|
||||
</xsl:for-each>
|
||||
<small><a href="javascript:hide_node('{$frame_id}')">[X]</a></small>
|
||||
</div>
|
||||
|
||||
<!-- the frame contents are stored in a div, so we can toggle it -->
|
||||
<div width="100%" id="{$frame_c}" style="display:none">
|
||||
<!-- loop through all proto tags, but skip the "geninfo" one -->
|
||||
<xsl:for-each select="proto[@name!='geninfo']">
|
||||
|
||||
<xsl:variable name="proto" select="concat($frame_id,@name,count(preceding-sibling::proto)+1)"/>
|
||||
|
||||
<!-- the "title" bar of the proto -->
|
||||
<div width="100%" style="background-color:#e5e5e5; margin-bottom: 2px">
|
||||
 <a href="javascript:toggle_node('{$proto}')">⇒</a> <xsl:value-of select="@showname"/>
|
||||
|
||||
<!-- print "proto" details inside another div -->
|
||||
<div width="100%" id="{$proto}" style="display:none">
|
||||
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
|
||||
</div>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
</div>
|
||||
|
||||
<!-- use the javascript function set_node_color() to set the color
|
||||
of the frame title bar. Defer colorization until the full page has
|
||||
been loaded. If the browser would support the XPath function
|
||||
replace() we could simply set the class attribute of the title bar div,
|
||||
but for now we're stuck with class names from Wireshark's colorfilters
|
||||
that contain spaces and we can't handle them in CSS. -->
|
||||
<script type="text/javascript">
|
||||
dojo.addOnLoad(function(){
|
||||
set_node_color(
|
||||
'<xsl:value-of select="$frame_id"/>',
|
||||
'<xsl:value-of select="proto[@name='frame']/field[@name='frame.coloring_rule.name']/@show"/>'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="pdml">
|
||||
Capture Filename: <b><xsl:value-of select="@capture_file"/></b>
|
||||
PDML created: <b><xsl:value-of select="@time"/></b>
|
||||
<tt>
|
||||
<xsl:apply-templates/> <!-- we expect to match the "packet" nodes -->
|
||||
</tt>
|
||||
</xsl:template>
|
||||
|
||||
<!-- this block matches the start of the PDML file -->
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<title>poor man's Wireshark</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
function set_node(node, str)
|
||||
{
|
||||
if(dojo.isString(node))
|
||||
node = dojo.byId(node);
|
||||
if(!node) return;
|
||||
node.style.display = str;
|
||||
}
|
||||
function toggle_node(node)
|
||||
{
|
||||
if(dojo.isString(node))
|
||||
node = dojo.byId(node);
|
||||
if(!node) return;
|
||||
set_node(node, (node.style.display != 'none') ? 'none' : 'block');
|
||||
}
|
||||
function hide_node(node)
|
||||
{
|
||||
set_node(node, 'none');
|
||||
}
|
||||
// this function was generated by colorfilters2js.pl
|
||||
function set_node_color(node,colorname)
|
||||
{
|
||||
if(dojo.isString(node))
|
||||
node = dojo.byId(node);
|
||||
if(!node) return;
|
||||
var fg;
|
||||
var bg;
|
||||
if(colorname == 'Bad TCP') {
|
||||
bg='#000000';
|
||||
fg='#ff5f5f';
|
||||
}
|
||||
if(colorname == 'HSRP State Change') {
|
||||
bg='#000000';
|
||||
fg='#fff600';
|
||||
}
|
||||
if(colorname == 'Spanning Tree Topology Change') {
|
||||
bg='#000000';
|
||||
fg='#fff600';
|
||||
}
|
||||
if(colorname == 'OSPF State Change') {
|
||||
bg='#000000';
|
||||
fg='#fff600';
|
||||
}
|
||||
if(colorname == 'ICMP errors') {
|
||||
bg='#000000';
|
||||
fg='#00ff0e';
|
||||
}
|
||||
if(colorname == 'ARP') {
|
||||
bg='#d6e8ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'ICMP') {
|
||||
bg='#c2c2ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'TCP RST') {
|
||||
bg='#900000';
|
||||
fg='#fff680';
|
||||
}
|
||||
if(colorname == 'TTL low or unexpected') {
|
||||
bg='#900000';
|
||||
fg='#ffffff';
|
||||
}
|
||||
if(colorname == 'Checksum Errors') {
|
||||
bg='#000000';
|
||||
fg='#ff5f5f';
|
||||
}
|
||||
if(colorname == 'SMB') {
|
||||
bg='#fffa99';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'HTTP') {
|
||||
bg='#8dff7f';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'IPX') {
|
||||
bg='#ffe3e5';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'DCERPC') {
|
||||
bg='#c797ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'Routing') {
|
||||
bg='#fff3d6';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'TCP SYN/FIN') {
|
||||
bg='#a0a0a0';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'TCP') {
|
||||
bg='#e7e6ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'UDP') {
|
||||
bg='#70e0ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'Broadcast') {
|
||||
bg='#ffffff';
|
||||
fg='#808080';
|
||||
}
|
||||
if(fg.length > 0)
|
||||
node.style.color = fg;
|
||||
if(bg.length > 0)
|
||||
node.style.background = bg;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:apply-templates/> <!-- we expect to match the "pdml" node -->
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -9,9 +9,9 @@ REPLACE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.defau
|
||||
|
||||
--
|
||||
REPLACE INTO `sys_dict_data` VALUES (1660, 1660, 'config.sys.titleValue', 'AGrand EMS', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2024 千通科技', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2025 千通科技', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'AGrand EMS', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2024 AGrandTech', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2025 AGrandTech', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
|
||||
-- set internationalization switching to ON
|
||||
-- REPLACE INTO `omc_db`.`sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2122);
|
||||
|
||||
BIN
customized/agt.d/images/background.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
customized/agt.d/images/background_dark.jpg
Normal file
|
After Width: | Height: | Size: 226 KiB |
BIN
customized/agt.d/images/background_light.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
0
customized/agt.d/locales/.gitkeep
Normal file
@@ -9,9 +9,9 @@ REPLACE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.defau
|
||||
|
||||
--
|
||||
REPLACE INTO `sys_dict_data` VALUES (1660, 1660, 'config.sys.titleValue', 'BlueArcus EMS', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2024 BlueArcus', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2025 BlueArcus', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'BlueArcus EMS', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2024 BlueArcus', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2025 BlueArcus', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
|
||||
-- set internationalization switching to ON
|
||||
-- REPLACE INTO `omc_db`.`sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2122);
|
||||
|
||||
BIN
customized/ba.d/images/background.jpg
Normal file
|
After Width: | Height: | Size: 216 KiB |
BIN
customized/ba.d/images/background_dark.jpg
Normal file
|
After Width: | Height: | Size: 216 KiB |
BIN
customized/ba.d/images/background_light.jpg
Normal file
|
After Width: | Height: | Size: 216 KiB |
2
customized/ba.d/locales/zh-CN.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
export default {
|
||||
};
|
||||
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
@@ -9,9 +9,9 @@ REPLACE INTO `sys_config` VALUES (109, 'config.sys.i18nDefault', 'sys.i18n.defau
|
||||
|
||||
--
|
||||
REPLACE INTO `sys_dict_data` VALUES (1660, 1660, 'config.sys.titleValue', 'OMC', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2024', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (1661, 1661, 'config.sys.copyrightValue', 'Copyright ©2025', 'i18n_zh', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3660, 3660, 'config.sys.titleValue', 'OMC', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2024', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
REPLACE INTO `sys_dict_data` VALUES (3661, 3661, 'config.sys.copyrightValue', 'Copyright ©2025', 'i18n_en', NULL, NULL, '1', 'supervisor', 1700000000000, NULL, 0, NULL);
|
||||
|
||||
-- set internationalization switching to ON
|
||||
-- REPLACE INTO `omc_db`.`sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2122);
|
||||
|
||||
BIN
customized/omc.d/images/background.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
customized/omc.d/images/background_dark.jpg
Normal file
|
After Width: | Height: | Size: 226 KiB |
BIN
customized/omc.d/images/background_light.jpg
Normal file
|
After Width: | Height: | Size: 70 KiB |
0
customized/omc.d/locales/.gitkeep
Normal file
@@ -1,5 +1,5 @@
|
||||
Package: OMC
|
||||
Version: 2.2410.3-YYYYMMDD
|
||||
Version: 2.2508.1-YYYYMMDD-mt
|
||||
Section: AGrandTech
|
||||
Prioritt: optional
|
||||
Architecture: amd64
|
||||
|
||||
@@ -1,41 +1,28 @@
|
||||
# !/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
OMCRootDir=/usr/local/omc
|
||||
SystemdRootDir=/lib/systemd/system
|
||||
OMCEtcDir=${OMCRootDir}/etc
|
||||
FERootDir=${OMCRootDir}/htdocs/front
|
||||
X86Lib64Dir=/lib/x86_64-linux-gnu
|
||||
OmcBinDir=${OMCRootDir}/bin
|
||||
OMCBinDir=${OMCRootDir}/bin
|
||||
OMCStaticDir=${OMCRootDir}/static
|
||||
UsrLocalBinDir=/usr/local/bin
|
||||
OmcDaemon=omcd
|
||||
OMCDaemon=omcd
|
||||
NginxEtcDir=/etc/nginx
|
||||
NginxConfDir=${NginxEtcDir}/conf.d
|
||||
CFileList="restconf.yaml crontask.yaml tasks.yaml sshsvc.yaml capconf.yaml omc.conf"
|
||||
CFileList="restconf.yaml sshsvc.yaml omc.conf"
|
||||
LogoFileList="zh_brand.png zh_icon.png en_brand.png en_icon.png"
|
||||
|
||||
echo ""
|
||||
echo "* To start/stop/restart/status omc service, please run:"
|
||||
echo " sudo systemctl start/stop/restart/status restagent.service"
|
||||
echo " sudo systemctl start/stop/restart/status crontask.service"
|
||||
echo " sudo systemctl start/stop/restart/status sshsvc.service"
|
||||
echo " sudo systemctl start/stop/restart/status captrace.service"
|
||||
echo " or run: "
|
||||
echo " sudo /usr/local/omc/bin/omcsvc.sh start/stop/restart/status"
|
||||
echo ""
|
||||
|
||||
cd ${X86Lib64Dir}
|
||||
chmod +rx libwireshark.so.15.0.12
|
||||
if [ ! -e libwireshark.so.15 ]; then ln -s libwireshark.so.15.0.12 libwireshark.so.15; fi
|
||||
if [ ! -e libwireshark.so ]; then ln -s libwireshark.so.15.0.12 libwireshark.so; fi
|
||||
chmod +rx libwiretap.so.12.0.12
|
||||
if [ ! -e libwiretap.so.12 ]; then ln -s libwiretap.so.12.0.12 libwiretap.so.12; fi
|
||||
if [ ! -e libwiretap.so ]; then ln -s libwiretap.so.12.0.12 libwiretap.so; fi
|
||||
chmod +rx libwsutil.so.13.1.0
|
||||
if [ ! -e libwsutil.so.13 ]; then ln -s libwsutil.so.13.1.0 libwsutil.so.13; fi
|
||||
if [ ! -e libwsutil.so ]; then ln -s libwsutil.so.13.1.0 libwsutil.so; fi
|
||||
cd ${UsrLocalBinDir}
|
||||
if [ ! -e ${OmcDaemon} ]; then ln -s ${OmcBinDir}/omcsvc.sh ${OmcDaemon}; fi
|
||||
if [ ! -e ${OMCDaemon} ]; then ln -s ${OMCBinDir}/omcsvc.sh ${OMCDaemon}; fi
|
||||
|
||||
chmod +rx ${OMCRootDir}/bin/*
|
||||
chmod +rx ${OMCRootDir}/*
|
||||
@@ -48,28 +35,84 @@ for CFile in ${CFileList}; do
|
||||
else
|
||||
# mv -f ${OMCEtcDir}/${CFile} ${OMCEtcDir}/${CFile}.bak
|
||||
# cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir}
|
||||
if [ -e "${OMCBinDir}/upgconf.sh" ]; then
|
||||
if [ -e "${OMCBinDir}/upgconf.sh" ] && [ "${CFile}" = "restconf.yaml" ]; then
|
||||
${OMCBinDir}/upgconf.sh
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# # Install redis db if not exist /usr/local/db
|
||||
# if [ ! -e "${RedisRootDir}/bin/kvdb-server" ]; then
|
||||
# # if [ ! -e "${RedisRootDir}" ]; then
|
||||
# # mkdir -p ${RedisRootDir}
|
||||
# # fi
|
||||
# # stop old adb service
|
||||
# if [ -e "${RedisOldRootDir}/bin/redis-server" ] && [ -e "${SystemdRootDir}/adb.service" ]; then
|
||||
# systemctl stop adb.service
|
||||
# systemctl disable adb.service
|
||||
# fi
|
||||
# # stop adb service
|
||||
# if [ -e "${UsrLocalBinDir}/adb-server" ] && [ -e "${SystemdRootDir}/adb.service" ]; then
|
||||
# systemctl stop adb.service
|
||||
# systemctl disable adb.service
|
||||
# fi
|
||||
# cp -rf ${DependsRootDir}/kvdb/* /
|
||||
# chmod +rx ${RedisRootDir}/bin/kvdb*
|
||||
# if [ ! -e "${RedisConfDir}/kvdb.conf" ]; then
|
||||
# cp ${RedisConfDir}/default/kvdb.conf ${RedisConfDir}
|
||||
# fi
|
||||
# sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/kvdb.conf
|
||||
|
||||
# LINE="masterauth helloearth"
|
||||
# FILE="${RedisConfDir}/kvdb.conf"
|
||||
# # 检查文件中是否存在该行
|
||||
# if ! grep -qxF "$LINE" "$FILE"; then
|
||||
# # 如果不存在,将其添加到文件末尾
|
||||
# echo "$LINE" >> "$FILE"
|
||||
# fi
|
||||
|
||||
# # copy the old adb dump.rdb
|
||||
# if [ -e "${RedisOldRootDir}/bin/conf/dump.rdb" ] && [ ! -e "${RedisRootDir}/etc/kvdb/dump.rdb" ]; then
|
||||
# cp -f ${RedisOldRootDir}/bin/conf/dump.rdb ${RedisRootDir}/etc/kvdb/;
|
||||
# mv -f ${RedisRootDir}/db ${RedisRootDir}/adb.old
|
||||
# fi
|
||||
# # copy the adb dump.rdb
|
||||
# if [ -e "${RedisRootDir}/etc/adb/dump.rdb" ] && [ ! -e "${RedisRootDir}/etc/kvdb/dump.rdb" ]; then
|
||||
# cp -f ${RedisRootDir}/etc/adb/dump.rdb ${RedisRootDir}/etc/kvdb/;
|
||||
# mv -f ${RedisRootDir}/etc/adb ${RedisRootDir}/etc/adb.old
|
||||
# fi
|
||||
# # cp -f ${DependsRootDir}/systemd/kvdb.service ${SystemdRootDir}
|
||||
# else
|
||||
# if [ ! -e "${RedisConfDir}/kvdb.conf" ]; then
|
||||
# cp ${RedisConfDir}/default/kvdb.conf ${RedisConfDir}
|
||||
# fi
|
||||
# sed -i 's/replica-read-only yes/replica-read-only no/g' ${RedisConfDir}/kvdb.conf
|
||||
|
||||
# LINE="masterauth helloearth"
|
||||
# FILE="${RedisConfDir}/kvdb.conf"
|
||||
# # 检查文件中是否存在该行
|
||||
# if ! grep -qxF "$LINE" "$FILE"; then
|
||||
# # 如果不存在,将其添加到文件末尾
|
||||
# echo "$LINE" >> "$FILE"
|
||||
# fi
|
||||
# fi
|
||||
|
||||
if [ ! -e "${FERootDir}/config.js" ]; then
|
||||
cp ${FERootDir}/default/config.js ${FERootDir};
|
||||
fi
|
||||
|
||||
for LogoFile in ${LogoFileList}; do
|
||||
if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
|
||||
cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
|
||||
fi
|
||||
done
|
||||
# for LogoFile in ${LogoFileList}; do
|
||||
# if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
|
||||
# cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
|
||||
# fi
|
||||
# done
|
||||
|
||||
if ! id -u omc >/dev/null 2>&1 ; then
|
||||
useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
|
||||
mkdir -p /opt/omc/ftp
|
||||
else
|
||||
echo "user omc exist";
|
||||
fi
|
||||
# if ! id -u omc >/dev/null 2>&1 ; then
|
||||
# useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
|
||||
# mkdir -p /opt/omc/ftp
|
||||
# else
|
||||
# echo "user omc exist";
|
||||
# fi
|
||||
|
||||
if [ ! -e "${NginxConfDir}/omc.conf" ]; then
|
||||
mkdir -p ${NginxConfDir}
|
||||
@@ -82,9 +125,7 @@ systemctl daemon-reload
|
||||
systemctl disable --now unattended-upgrades
|
||||
|
||||
systemctl enable restagent.service
|
||||
systemctl enable crontask.service
|
||||
systemctl enable sshsvc.service
|
||||
systemctl enable captrace.service
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -105,8 +146,6 @@ if [ "$M_PARAM" = "install" -o "$M_PARAM" = "upgrade" ]; then
|
||||
fi
|
||||
|
||||
echo -n "Starting OMC service ... "
|
||||
systemctl start crontask.service
|
||||
systemctl start sshsvc.service
|
||||
systemctl start captrace.service
|
||||
systemctl start restagent.service
|
||||
echo "done"
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
# !/bin/bash
|
||||
|
||||
X86Lib64Dir=/lib/x86_64-linux-gnu
|
||||
rm -rf ${X86Lib64Dir}/libwireshark.so.15
|
||||
rm -rf ${X86Lib64Dir}/libwireshark.so
|
||||
rm -rf ${X86Lib64Dir}/libwiretap.so.12
|
||||
rm -rf ${X86Lib64Dir}/libwiretap.so
|
||||
rm -rf ${X86Lib64Dir}/libwsutil.so.13
|
||||
rm -rf ${X86Lib64Dir}/libwsutil.so
|
||||
|
||||
#rm -rf /usr/local/omc
|
||||
rm -rf /etc/nginx/conf.d/omc.conf
|
||||
rm -f /usr/local/bin/omcd
|
||||
@@ -17,15 +9,11 @@ systemctl daemon-reload
|
||||
if systemctl list-units --type=service --all | grep -q 'restagent.service'; then
|
||||
echo -n "Stopping OMC service ... "
|
||||
systemctl stop restagent.service
|
||||
systemctl stop crontask.service
|
||||
systemctl stop sshsvc.service
|
||||
systemctl stop captrace.service
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
systemctl disable restagent.service
|
||||
systemctl disable crontask.service
|
||||
systemctl disable sshsvc.service
|
||||
systemctl disable captrace.service
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -4,9 +4,7 @@ systemctl daemon-reload
|
||||
if systemctl list-units --type=service --all | grep -q 'restagent.service'; then
|
||||
echo -n "Stopping OMC service ... "
|
||||
systemctl stop restagent.service
|
||||
systemctl stop crontask.service
|
||||
systemctl stop sshsvc.service
|
||||
systemctl stop captrace.service
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
|
||||
0
debbuild/22.04/lib/systemd/system/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/.ssh/.gitkeep
Normal file
@@ -1,38 +0,0 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
@@ -1 +0,0 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjzE0MHy0P2sQmG1OKvArwLEzR77BwxPp+4N9NKBz8lEyNch4zoHvoLDaUJKPBMwTrScZnxhvRJNde6hz5Z0QVxZolVKV95fMfgb9YICzDfPF3Bphae5q/PBYUJNfrC9SAjQeHV4CCO6xk6LV8O/Nfw8uaXwtuN3yfpUWd5mRWKMc3GHV4vxerfKoIQZN6etLhIEYibAhCJ21P0uoWzZl7ceLmkG+6qrRSbyC0bCnrN3+wjN4bwtflrEFJk3XQGuRbVsYLzux+mMm9p22+CLPRl/FUPF3x4/wKCsqr7JDSxx80HSPhk4g/1nCTpDR9hAfF6A9ww2va/k8jMeYPBO8Owe7erLEZzvg5WQAR3Wj05eJpJD99BeC91S5KW6AFQDfDHxWWprSibd/Jj9dtct2pK2ZxW0ph9OJ49ftRhzT1iVi4UnJwnG5/qLfwl6Tnx+qnQ1If/9lY/99erCTATzFTMSImKrRz7CnuPlcw8WkzCYpWKKe0kJLkL2cRD5Qi4yk= simon@simonzhangsz
|
||||
@@ -1,38 +0,0 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
0
debbuild/22.04/usr/local/omc/backup/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/bin/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/database/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/etc/certs/.gitkeep
Normal file
49
debbuild/22.04/usr/local/omc/etc/cm/cm-amf.yaml
Normal file
@@ -0,0 +1,49 @@
|
||||
ManagedElement:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorName: ""
|
||||
ManagedBy: ""
|
||||
ManagementIpAddress: ""
|
||||
SwVersion: ""
|
||||
PatchInfo: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
|
||||
AmfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
SbiServiceList: ""
|
||||
AmfGuamiList: ""
|
||||
SnssaiList: ""
|
||||
MaxUser: ""
|
||||
RelativeCapacity: ""
|
||||
MaxGnbNum: ""
|
||||
|
||||
EpRpDynN8Amf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
EpRpDynN11Amf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
EpRpDynN12Amf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
IPResource:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
InterfaceType: ""
|
||||
LocIpV4AddrList: ""
|
||||
LocIpV6AddrList: ""
|
||||
48
debbuild/22.04/usr/local/omc/etc/cm/cm-smf.yaml
Normal file
@@ -0,0 +1,48 @@
|
||||
ManagedElement:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorName: ""
|
||||
ManagedBy: ""
|
||||
ManagementIpAddress: ""
|
||||
SwVersion: ""
|
||||
PatchInfo: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
|
||||
SmfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
SbiServiceList: ""
|
||||
MaxPduSessions: ""
|
||||
MaxQfi: ""
|
||||
UpfList: ""
|
||||
|
||||
AddrPool:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AddrType: "Static"
|
||||
IpVersion: ""
|
||||
AddrSegList: ""
|
||||
|
||||
EpRpDynN7Smf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
EpRpDynN10Smf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
IPResource:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
InterfaceType: ""
|
||||
LocIpV4AddrList: ""
|
||||
LocIpV6AddrList: ""
|
||||
39
debbuild/22.04/usr/local/omc/etc/cm/cm-udm.yaml
Normal file
@@ -0,0 +1,39 @@
|
||||
ManagedElement:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorName: ""
|
||||
ManagedBy: ""
|
||||
ManagementIpAddress: ""
|
||||
SwVersion: ""
|
||||
PatchInfo: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
|
||||
UdmFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
SbiServiceList: ""
|
||||
|
||||
UdrFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AddrType: "Static"
|
||||
IpVersion: ""
|
||||
AddrSegList: ""
|
||||
|
||||
AusfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
IPResource:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
InterfaceType: ""
|
||||
LocIpV4AddrList: ""
|
||||
LocIpV6AddrList: ""
|
||||
141
debbuild/22.04/usr/local/omc/etc/cm/cm-upf.yaml
Normal file
@@ -0,0 +1,141 @@
|
||||
ManagedElement:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorName: ""
|
||||
ManagedBy: ""
|
||||
ManagementIpAddress: ""
|
||||
SwVersion: ""
|
||||
PatchInfo: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
|
||||
InventoryUnitRack:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
SbiServiceList: ""
|
||||
MaxPduSessions: ""
|
||||
MaxQfi: ""
|
||||
UpfList: ""
|
||||
|
||||
InventoryUnitShelf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorUnitFamilyType: ""
|
||||
VendorUnitTypeNumber: ""
|
||||
VendorName: ""
|
||||
SerialNumber: ""
|
||||
VersionNumber: ""
|
||||
DateOfManufacture: ""
|
||||
DateOfLastService: ""
|
||||
ManufacturerData: ""
|
||||
RackPosition: ""
|
||||
|
||||
InventoryUnitPack:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorUnitFamilyType: ""
|
||||
VendorUnitTypeNumber: ""
|
||||
VendorName: ""
|
||||
SerialNumber: ""
|
||||
VersionNumber: ""
|
||||
DateOfManufacture: ""
|
||||
DateOfLastService: ""
|
||||
ManufacturerData: ""
|
||||
PortsInformation: ""
|
||||
PackPosition: ""
|
||||
SlotsOccupied: ""
|
||||
|
||||
InventoryUnitHost:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorUnitFamilyType: ""
|
||||
VendorUnitTypeNumber: ""
|
||||
VendorName: ""
|
||||
SerialNumber: ""
|
||||
VersionNumber: ""
|
||||
DateOfManufacture: ""
|
||||
DateOfLastService: ""
|
||||
ManufacturerData: ""
|
||||
HostPosition: ""
|
||||
NumberOfCpu: ""
|
||||
MemSize: ""
|
||||
HardDiskSize: ""
|
||||
|
||||
InventoryUnitAccessory:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
VendorUnitFamilyType: ""
|
||||
VendorUnitTypeNumber: ""
|
||||
VendorName: ""
|
||||
SerialNumber: ""
|
||||
VersionNumber: ""
|
||||
DateOfManufacture: ""
|
||||
DateOfLastService: ""
|
||||
ManufacturerData: ""
|
||||
AccessoryPosition: ""
|
||||
AccessoryType: ""
|
||||
AddtionalInformation: ""
|
||||
|
||||
UpfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
MaxQosFlows: ""
|
||||
MaxThroughput: ""
|
||||
|
||||
EpRpDynN9Upf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
EpRpDynN3Upf:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
LocIpAddrList: ""
|
||||
FarIpSubnetworkList: ""
|
||||
|
||||
AmfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
|
||||
SmfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
|
||||
UdrFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
|
||||
AusfFunction:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
AdministrativeState: ""
|
||||
OperationalState: ""
|
||||
VnfInstanceId: ""
|
||||
Fqdn: ""
|
||||
|
||||
IPResource:
|
||||
Id: ""
|
||||
UserLabel: ""
|
||||
InterfaceType: ""
|
||||
LocIpV4AddrList: ""
|
||||
LocIpV6AddrList: ""
|
||||
0
debbuild/22.04/usr/local/omc/etc/default/.gitkeep
Normal file
@@ -1,193 +0,0 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: /usr/local/omc/log/restagent.log
|
||||
level: warn
|
||||
duration: 24
|
||||
count: 90
|
||||
|
||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
|
||||
# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
|
||||
rest:
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 33030
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 33443
|
||||
schema: https
|
||||
clientAuthType: 0
|
||||
caFile: /usr/local/omc/etc/certs/omc-ca.crt
|
||||
certFile: /usr/local/omc/etc/certs/omc-server.crt
|
||||
keyFile: /usr/local/omc/etc/certs/omc-server.key
|
||||
|
||||
webServer:
|
||||
enabled: true
|
||||
rootDir: /usr/local/omc/htdocs/front
|
||||
listen:
|
||||
- addr: :80
|
||||
schema: http
|
||||
- addr: :443
|
||||
schema: https
|
||||
clientAuthType: 0
|
||||
caFile: /usr/local/omc/etc/certs/omc-ca.crt
|
||||
certFile: /usr/local/omc/etc/certs/omc-server.crt
|
||||
keyFile: /usr/local/omc/etc/certs/omc-server.key
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: 1000omc@kp!
|
||||
host: 127.0.0.1
|
||||
port: 33066
|
||||
name: omc_db
|
||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||
backup: /usr/local/omc/database
|
||||
|
||||
# Redis data cache
|
||||
redis:
|
||||
dataSource:
|
||||
# OMC system db
|
||||
default:
|
||||
port: 6379 # Redis port
|
||||
host: "127.0.0.1" # Redis host
|
||||
password: "helloearth"
|
||||
db: 10 # Redis db_num
|
||||
# UDM sub/auth db
|
||||
udmuser:
|
||||
port: 6379 # Redis port
|
||||
host: "127.0.0.1"
|
||||
password: "helloearth"
|
||||
db: 0 # Redis db_num
|
||||
# used to specify the default data source for multiple data resourece
|
||||
defaultDataSourceName: "default"
|
||||
|
||||
# sleep: time delay for after write buffer (millisecond)
|
||||
# deadLine: timeout for io read and write (second)
|
||||
mml:
|
||||
sleep: 200
|
||||
deadLine: 10
|
||||
sizeRow: 600
|
||||
sizeCol: 128
|
||||
bufferSize: 65535
|
||||
mmlHome: ./mmlhome
|
||||
|
||||
# Tracking configuration
|
||||
trace:
|
||||
enabled: true
|
||||
host: "172.16.5.100" # Fill in the specific IP address
|
||||
port: 33033
|
||||
|
||||
# NE config
|
||||
ne:
|
||||
user: omcuser
|
||||
etcdir: /usr/local/etc
|
||||
bindir: /usr/local/bin
|
||||
omcdir: /usr/local/omc
|
||||
scpdir: /tmp
|
||||
licensedir: /usr/local/etc/{neType}/license
|
||||
# backup etc list of IMS, does not contain spaces
|
||||
etcListIMS: '{*.yaml,mmtel,vars.cfg}'
|
||||
etcListDefault: '{*.yaml,*.conf,*.cfg}'
|
||||
# true/false to overwrite config file when dpkg ne software
|
||||
dpkgOverwrite: false
|
||||
# dpkg timeout (second)
|
||||
dpkgTimeout: 180
|
||||
|
||||
# chk2ne: true/false, if put OmcNeConfig parameters to NE
|
||||
omc:
|
||||
uriPrefix: "/omc/rest"
|
||||
neType: OMC
|
||||
neId: 001
|
||||
rmUID: 4400HX101
|
||||
neName: OMC
|
||||
province: ""
|
||||
vendor: ""
|
||||
dn: ""
|
||||
chk2ne: false
|
||||
sn: "-"
|
||||
checksign: false
|
||||
rootDir: /usr/local/omc
|
||||
binDir: /usr/local/omc/bin
|
||||
backup: /usr/local/omc/backup
|
||||
upload: /usr/local/omc/upload
|
||||
frontUpload: /usr/local/omc/htdocs/front/upload
|
||||
frontTraceDir: /usr/local/omc/htdocs/front/trace
|
||||
software: /usr/local/omc/software
|
||||
license: /usr/local/omc/license
|
||||
gtpUri: gtp:192.168.2.119:32152
|
||||
checkContentType: false
|
||||
testMode: false
|
||||
rbacMode: true
|
||||
runDir: /usr/local/omc/run
|
||||
cmdTimeout: 120
|
||||
|
||||
# Alarm module setting
|
||||
# Forward interface:
|
||||
# TLS Skip verify: true/false
|
||||
# email/sms
|
||||
# smProxy: sms(Short Message Service)/smsc(SMS Centre)
|
||||
# dataCoding: 0:GSM7BIT, 1:ASCII, 2:BINARY8BIT1, 3:LATIN1,
|
||||
# 4:BINARY8BIT2, 6:CYRILLIC, 7:HEBREW, 8:UCS2
|
||||
alarm:
|
||||
alarmEmailForward:
|
||||
enable: true
|
||||
emailList:
|
||||
smtp: mail.smtp.com
|
||||
port: 25
|
||||
user: smtpext@smtp.com
|
||||
password: "1000smtp@omc!"
|
||||
tlsSkipVerify: true
|
||||
alarmSMSForward:
|
||||
enable: true
|
||||
mobileList:
|
||||
smscAddr: "192.168.13.114:2775"
|
||||
systemID: "omc"
|
||||
password: "omc123"
|
||||
systemType: "UTRAN"
|
||||
dataCoding: 0
|
||||
serviceNumber: "OMC"
|
||||
sms:
|
||||
apiURL: http://smsc.xxx.com/
|
||||
accessKeyID: xxxx
|
||||
accessKeySecret: xxxx
|
||||
signName: xxx SMSC
|
||||
templateCode: 1000
|
||||
smProxy: smsc
|
||||
|
||||
# User authorized information
|
||||
# crypt: mysql/md5/bcrypt
|
||||
# token: true/false to check accessToken
|
||||
# expires for session, unit: second
|
||||
# Support single/multiple session of user
|
||||
#
|
||||
auth:
|
||||
crypt: bcrypt
|
||||
token: true
|
||||
expires: 1800
|
||||
session: multiple
|
||||
publicKey: /usr/local/omc/etc/certs/omc
|
||||
privateKey: /usr/local/omc/etc/certs/omc
|
||||
|
||||
# Parameter for limit number
|
||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||
# alarmid_maxnum: the max number of AlarmID, default: 50
|
||||
# pmid_maxnum: the max number of pmID, default: 50
|
||||
# subid_maxnum: the max number of subscription ID, default: 20
|
||||
# uri_maxlen: the max length of uri, default: 8192
|
||||
# rmuid_regexp: regexp pattern of rmUID
|
||||
params:
|
||||
rmuidmaxnum: 50
|
||||
alarmidmaxnum: 50
|
||||
pmidmaxnum: 50
|
||||
subidmaxnum: 20
|
||||
urimaxlen: 2100000
|
||||
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
||||
|
||||
testConfig:
|
||||
enabled: false
|
||||
file: /usr/local/omc/etc/testconfig.yaml
|
||||
71
debbuild/22.04/usr/local/omc/etc/nginx/omc.conf
Normal file
@@ -0,0 +1,71 @@
|
||||
server {
|
||||
listen 44080;
|
||||
listen 44443;
|
||||
listen [::]:44080;
|
||||
listen [::]:44443;
|
||||
server_name localhost;
|
||||
|
||||
client_max_body_size 100M;
|
||||
keepalive_timeout 180s;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
# ssl_certificate /usr/local/omc/etc/certs/omc-server.crt;
|
||||
# ssl_certificate_key /usr/local/omc/etc/certs/omc-server.key;
|
||||
# ssl_client_certificate /usr/local/omc/etc/certs/omc-ca.crt;
|
||||
# ssl_verify_client on;
|
||||
# ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
|
||||
# ssl_session_timeout 5m;
|
||||
# ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
|
||||
# ssl_prefer_server_ciphers on;
|
||||
|
||||
# OMC
|
||||
location / {
|
||||
root /usr/local/omc/htdocs/front;
|
||||
|
||||
try_files $uri $uri/ /index.html;
|
||||
index index.html index.htm;
|
||||
}
|
||||
|
||||
location /omc-api/ {
|
||||
proxy_pass http://127.0.0.1:33030/;
|
||||
|
||||
proxy_connect_timeout 180s;
|
||||
proxy_send_timeout 180s;
|
||||
proxy_read_timeout 180s;
|
||||
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
location /api/rest/ {
|
||||
proxy_pass http://127.0.0.1:33030/api/rest/;
|
||||
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-Port $server_port;
|
||||
}
|
||||
|
||||
#error_page 404 /404.html;
|
||||
|
||||
# redirect server error pages to the static page /50x.html
|
||||
#
|
||||
error_page 500 502 503 504 /50x.html;
|
||||
location = /50x.html {
|
||||
root /usr/share/nginx/html;
|
||||
}
|
||||
}
|
||||
|
||||
76
debbuild/22.04/usr/local/omc/etc/schema/cm-schema.xsd
Normal file
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<xs:element name="DataFile">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="FileHeader">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TimeStamp" type="xs:dateTime"/>
|
||||
<xs:element name="TimeZone" type="xs:string"/>
|
||||
<xs:element name="VendorName" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="ElementType" type="xs:string" minOccurs="0"/>
|
||||
<xs:element name="CmVersion" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Objects" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ObjectType" type="xs:string"/>
|
||||
<!--该字段必选-->
|
||||
<xs:element name="FieldName">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="N">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="i" type="xs:integer" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="FieldValue">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="Object">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="V">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="i" type="xs:integer" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="rmUID" type="xs:string" use="required"/>
|
||||
<xs:attribute name="Dn" type="xs:string"/>
|
||||
<!-- //无线、核心网专业该字段必选,传输、IP专业、业务系统无该字段-->
|
||||
<xs:attribute name="UserLabel" type="xs:string"/>
|
||||
<!-- //无线、核心网专业该字段必选,传输、IP专业、业务系统无该字段-->
|
||||
<xs:attribute name="PVFlag" type="xs:string" use="required"/>
|
||||
<!-- //必须-->
|
||||
<xs:attribute name="VMID" type="xs:string"/>
|
||||
<!-- //VNF网络或VNF和PNF混合组网:虚拟网元必选,物理网元无该字段-->
|
||||
<xs:attribute name="VNFInstanceID" type="xs:string"/>
|
||||
<!-- //VNF网络或VNF和PNF混合组网:虚拟网元必选,物理网元无该字段-->
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
|
||||
221
debbuild/22.04/usr/local/omc/etc/schema/pdml2html.xsl
Normal file
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0"?>
|
||||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
<!-- This XSLT will convert a PDML file, saved by Wireshark, into
|
||||
HTML. The HTML page should look similar to Wireshark. See
|
||||
https://gitlab.com/wireshark/wireshark/-/wikis/PDML for information
|
||||
on how to generate such a HTML file from PDML.
|
||||
For questions contact Dirk Jagdmann (doj@cubic.org).
|
||||
|
||||
Version: 2010-06-09
|
||||
|
||||
Wireshark - Network traffic analyzer
|
||||
By Gerald Combs <gerald@wireshark.org>
|
||||
Copyright 1998 Gerald Combs
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
-->
|
||||
|
||||
<!-- set parameters of the HTML output -->
|
||||
<xsl:output method="html" encoding="UTF-8" omit-xml-declaration="no" standalone="yes" indent="yes"/>
|
||||
|
||||
<!-- this matches the "field" tag -->
|
||||
<xsl:template match="field">
|
||||
    <!-- indent with 3 non-breaking spaces -->
|
||||
|
||||
<!-- output either the "showname" or "show" attribute -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="string-length(@showname)>0">
|
||||
<xsl:value-of select="@showname"/><br/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!--<xsl:value-of select="@name"/>:--> <xsl:value-of select="@show"/><br/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
|
||||
</xsl:template>
|
||||
|
||||
<!-- this matches the "packet" tag -->
|
||||
<xsl:template match="packet">
|
||||
|
||||
<!-- declare some variables for later use -->
|
||||
<xsl:variable name="frame_num" select="proto[@name='frame']/field[@name='frame.number']/@show"/>
|
||||
<xsl:variable name="frame_id" select="concat('f',$frame_num)"/>
|
||||
<xsl:variable name="frame_c" select="concat($frame_id,'c')"/>
|
||||
|
||||
<!-- the "title" bar of the frame -->
|
||||
<div width="100%" id="{$frame_id}">
|
||||
<a href="javascript:toggle_node('{$frame_c}')">⇒</a> <!-- #8658 is a "rArr" (double right arrow) character -->
|
||||
Frame <xsl:value-of select="$frame_num"/>:
|
||||
<xsl:for-each select="proto[@name!='geninfo']">
|
||||
<xsl:value-of select="@name"/>,
|
||||
</xsl:for-each>
|
||||
<small><a href="javascript:hide_node('{$frame_id}')">[X]</a></small>
|
||||
</div>
|
||||
|
||||
<!-- the frame contents are stored in a div, so we can toggle it -->
|
||||
<div width="100%" id="{$frame_c}" style="display:none">
|
||||
<!-- loop through all proto tags, but skip the "geninfo" one -->
|
||||
<xsl:for-each select="proto[@name!='geninfo']">
|
||||
|
||||
<xsl:variable name="proto" select="concat($frame_id,@name,count(preceding-sibling::proto)+1)"/>
|
||||
|
||||
<!-- the "title" bar of the proto -->
|
||||
<div width="100%" style="background-color:#e5e5e5; margin-bottom: 2px">
|
||||
 <a href="javascript:toggle_node('{$proto}')">⇒</a> <xsl:value-of select="@showname"/>
|
||||
|
||||
<!-- print "proto" details inside another div -->
|
||||
<div width="100%" id="{$proto}" style="display:none">
|
||||
<xsl:apply-templates/> <!-- we expect to match "field" tags -->
|
||||
</div>
|
||||
</div>
|
||||
</xsl:for-each>
|
||||
</div>
|
||||
|
||||
<!-- use the javascript function set_node_color() to set the color
|
||||
of the frame title bar. Defer colorization until the full page has
|
||||
been loaded. If the browser would support the XPath function
|
||||
replace() we could simply set the class attribute of the title bar div,
|
||||
but for now we're stuck with class names from Wireshark's colorfilters
|
||||
that contain spaces and we can't handle them in CSS. -->
|
||||
<script type="text/javascript">
|
||||
dojo.addOnLoad(function(){
|
||||
set_node_color(
|
||||
'<xsl:value-of select="$frame_id"/>',
|
||||
'<xsl:value-of select="proto[@name='frame']/field[@name='frame.coloring_rule.name']/@show"/>'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="pdml">
|
||||
Capture Filename: <b><xsl:value-of select="@capture_file"/></b>
|
||||
PDML created: <b><xsl:value-of select="@time"/></b>
|
||||
<tt>
|
||||
<xsl:apply-templates/> <!-- we expect to match the "packet" nodes -->
|
||||
</tt>
|
||||
</xsl:template>
|
||||
|
||||
<!-- this block matches the start of the PDML file -->
|
||||
<xsl:template match="/">
|
||||
<html>
|
||||
<head>
|
||||
<title>poor man's Wireshark</title>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1.4/dojo/dojo.xd.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
function set_node(node, str)
|
||||
{
|
||||
if(dojo.isString(node))
|
||||
node = dojo.byId(node);
|
||||
if(!node) return;
|
||||
node.style.display = str;
|
||||
}
|
||||
function toggle_node(node)
|
||||
{
|
||||
if(dojo.isString(node))
|
||||
node = dojo.byId(node);
|
||||
if(!node) return;
|
||||
set_node(node, (node.style.display != 'none') ? 'none' : 'block');
|
||||
}
|
||||
function hide_node(node)
|
||||
{
|
||||
set_node(node, 'none');
|
||||
}
|
||||
// this function was generated by colorfilters2js.pl
|
||||
function set_node_color(node,colorname)
|
||||
{
|
||||
if(dojo.isString(node))
|
||||
node = dojo.byId(node);
|
||||
if(!node) return;
|
||||
var fg;
|
||||
var bg;
|
||||
if(colorname == 'Bad TCP') {
|
||||
bg='#000000';
|
||||
fg='#ff5f5f';
|
||||
}
|
||||
if(colorname == 'HSRP State Change') {
|
||||
bg='#000000';
|
||||
fg='#fff600';
|
||||
}
|
||||
if(colorname == 'Spanning Tree Topology Change') {
|
||||
bg='#000000';
|
||||
fg='#fff600';
|
||||
}
|
||||
if(colorname == 'OSPF State Change') {
|
||||
bg='#000000';
|
||||
fg='#fff600';
|
||||
}
|
||||
if(colorname == 'ICMP errors') {
|
||||
bg='#000000';
|
||||
fg='#00ff0e';
|
||||
}
|
||||
if(colorname == 'ARP') {
|
||||
bg='#d6e8ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'ICMP') {
|
||||
bg='#c2c2ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'TCP RST') {
|
||||
bg='#900000';
|
||||
fg='#fff680';
|
||||
}
|
||||
if(colorname == 'TTL low or unexpected') {
|
||||
bg='#900000';
|
||||
fg='#ffffff';
|
||||
}
|
||||
if(colorname == 'Checksum Errors') {
|
||||
bg='#000000';
|
||||
fg='#ff5f5f';
|
||||
}
|
||||
if(colorname == 'SMB') {
|
||||
bg='#fffa99';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'HTTP') {
|
||||
bg='#8dff7f';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'IPX') {
|
||||
bg='#ffe3e5';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'DCERPC') {
|
||||
bg='#c797ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'Routing') {
|
||||
bg='#fff3d6';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'TCP SYN/FIN') {
|
||||
bg='#a0a0a0';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'TCP') {
|
||||
bg='#e7e6ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'UDP') {
|
||||
bg='#70e0ff';
|
||||
fg='#000000';
|
||||
}
|
||||
if(colorname == 'Broadcast') {
|
||||
bg='#ffffff';
|
||||
fg='#808080';
|
||||
}
|
||||
if(fg.length > 0)
|
||||
node.style.color = fg;
|
||||
if(bg.length > 0)
|
||||
node.style.background = bg;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<xsl:apply-templates/> <!-- we expect to match the "pdml" node -->
|
||||
</body>
|
||||
</html>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
80
debbuild/22.04/usr/local/omc/etc/schema/pm-schema.xsd
Normal file
@@ -0,0 +1,80 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<xs:element name="PmFile">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="FileHeader">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="TimeStamp" type="xs:dateTime" />
|
||||
<xs:element name="TimeZone" type="xs:string" />
|
||||
<xs:element name="Period" type="xs:integer" />
|
||||
<xs:element name="VendorName" type="xs:string" />
|
||||
<xs:element name="ElementType" type="xs:string" />
|
||||
<xs:element name="PmVersion" type="xs:string" />
|
||||
<xs:element name="StartTime" type="xs:dateTime" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="Measurements" minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="ObjectType" type="xs:string" />
|
||||
<xs:element name="PmName">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="N">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="i" type="xs:integer" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PmData">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="Object">
|
||||
<xs:complexType>
|
||||
<xs:choice minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="V">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute name="i" type="xs:integer" use="required" />
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="CV">
|
||||
<xs:complexType>
|
||||
<xs:sequence minOccurs="0" maxOccurs="unbounded">
|
||||
<xs:element name="SN" type="xs:string" />
|
||||
<xs:element name="SV" type="xs:string" />
|
||||
</xs:sequence>
|
||||
<xs:attribute name="i" type="xs:integer"
|
||||
use="required" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:attribute name="rmUID" type="xs:string" use="required" />
|
||||
<xs:attribute name="Dn" type="xs:string" use="required" />
|
||||
<xs:attribute name="UserLabel" type="xs:string" use="required" />
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
||||
0
debbuild/22.04/usr/local/omc/htdocs/front/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/license/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/log/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/mmlhome/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/mmllog/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/software/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/static/logo/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/upload/.gitkeep
Normal file
@@ -1,5 +1,5 @@
|
||||
Package: OMC
|
||||
Version: 2.2410.3-YYYYMMDD
|
||||
Version: 2.2508.1-YYYYMMDD-mt
|
||||
Section: AGrandTech
|
||||
Prioritt: optional
|
||||
Architecture: amd64
|
||||
|
||||
@@ -1,41 +1,28 @@
|
||||
# !/bin/bash
|
||||
#!/bin/bash
|
||||
|
||||
OMCRootDir=/usr/local/omc
|
||||
SystemdRootDir=/lib/systemd/system
|
||||
OMCEtcDir=${OMCRootDir}/etc
|
||||
FERootDir=${OMCRootDir}/htdocs/front
|
||||
X86Lib64Dir=/lib/x86_64-linux-gnu
|
||||
OmcBinDir=${OMCRootDir}/bin
|
||||
OMCBinDir=${OMCRootDir}/bin
|
||||
OMCStaticDir=${OMCRootDir}/static
|
||||
UsrLocalBinDir=/usr/local/bin
|
||||
OmcDaemon=omcd
|
||||
OMCDaemon=omcd
|
||||
NginxEtcDir=/etc/nginx
|
||||
NginxConfDir=${NginxEtcDir}/conf.d
|
||||
CFileList="restconf.yaml crontask.yaml tasks.yaml sshsvc.yaml capconf.yaml omc.conf"
|
||||
CFileList="restconf.yaml sshsvc.yaml omc.conf"
|
||||
LogoFileList="zh_brand.png zh_icon.png en_brand.png en_icon.png"
|
||||
|
||||
echo ""
|
||||
echo "* To start/stop/restart/status omc service, please run:"
|
||||
echo " sudo systemctl start/stop/restart/status restagent.service"
|
||||
echo " sudo systemctl start/stop/restart/status crontask.service"
|
||||
echo " sudo systemctl start/stop/restart/status sshsvc.service"
|
||||
echo " sudo systemctl start/stop/restart/status captrace.service"
|
||||
echo " or run: "
|
||||
echo " sudo /usr/local/omc/bin/omcsvc.sh start/stop/restart/status"
|
||||
echo ""
|
||||
|
||||
cd ${X86Lib64Dir}
|
||||
chmod +rx libwireshark.so.15.0.12
|
||||
if [ ! -e libwireshark.so.15 ]; then ln -s libwireshark.so.15.0.12 libwireshark.so.15; fi
|
||||
if [ ! -e libwireshark.so ]; then ln -s libwireshark.so.15.0.12 libwireshark.so; fi
|
||||
chmod +rx libwiretap.so.12.0.12
|
||||
if [ ! -e libwiretap.so.12 ]; then ln -s libwiretap.so.12.0.12 libwiretap.so.12; fi
|
||||
if [ ! -e libwiretap.so ]; then ln -s libwiretap.so.12.0.12 libwiretap.so; fi
|
||||
chmod +rx libwsutil.so.13.1.0
|
||||
if [ ! -e libwsutil.so.13 ]; then ln -s libwsutil.so.13.1.0 libwsutil.so.13; fi
|
||||
if [ ! -e libwsutil.so ]; then ln -s libwsutil.so.13.1.0 libwsutil.so; fi
|
||||
cd ${UsrLocalBinDir}
|
||||
if [ ! -e ${OmcDaemon} ]; then ln -s ${OmcBinDir}/omcsvc.sh ${OmcDaemon}; fi
|
||||
if [ ! -e ${OMCDaemon} ]; then ln -s ${OMCBinDir}/omcsvc.sh ${OMCDaemon}; fi
|
||||
|
||||
chmod +rx ${OMCRootDir}/bin/*
|
||||
chmod +rx ${OMCRootDir}/*
|
||||
@@ -48,21 +35,21 @@ for CFile in ${CFileList}; do
|
||||
else
|
||||
# mv -f ${OMCEtcDir}/${CFile} ${OMCEtcDir}/${CFile}.bak
|
||||
# cp -f ${OMCEtcDir}/default/${CFile} ${OMCEtcDir}
|
||||
if [ -e "${OMCBinDir}/upgconf.sh" ]; then
|
||||
if [ -e "${OMCBinDir}/upgconf.sh" ] && [ "${CFile}" = "restconf.yaml" ]; then
|
||||
${OMCBinDir}/upgconf.sh
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [ ! -e "${FERootDir}/config.js" ]; then
|
||||
cp ${FERootDir}/default/config.js ${FERootDir};
|
||||
fi
|
||||
|
||||
for LogoFile in ${LogoFileList}; do
|
||||
if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
|
||||
cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
|
||||
fi
|
||||
done
|
||||
# for LogoFile in ${LogoFileList}; do
|
||||
# if [ ! -e "${OMCStaticDir}/logo/${LogoFile}" ]; then
|
||||
# cp ${OMCStaticDir}/omc.d/logo/${LogoFile} ${OMCStaticDir}/logo;
|
||||
# fi
|
||||
# done
|
||||
|
||||
if ! id -u omc >/dev/null 2>&1 ; then
|
||||
useradd -d /opt/omc -m -s /bin/bash -pomc123 omc;
|
||||
@@ -82,9 +69,7 @@ systemctl daemon-reload
|
||||
systemctl disable --now unattended-upgrades
|
||||
|
||||
systemctl enable restagent.service
|
||||
systemctl enable crontask.service
|
||||
systemctl enable sshsvc.service
|
||||
systemctl enable captrace.service
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -105,8 +90,6 @@ if [ "$M_PARAM" = "install" -o "$M_PARAM" = "upgrade" ]; then
|
||||
fi
|
||||
|
||||
echo -n "Starting OMC service ... "
|
||||
systemctl start crontask.service
|
||||
systemctl start sshsvc.service
|
||||
systemctl start captrace.service
|
||||
systemctl start restagent.service
|
||||
echo "done"
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
# !/bin/bash
|
||||
|
||||
X86Lib64Dir=/lib/x86_64-linux-gnu
|
||||
rm -rf ${X86Lib64Dir}/libwireshark.so.15
|
||||
rm -rf ${X86Lib64Dir}/libwireshark.so
|
||||
rm -rf ${X86Lib64Dir}/libwiretap.so.12
|
||||
rm -rf ${X86Lib64Dir}/libwiretap.so
|
||||
rm -rf ${X86Lib64Dir}/libwsutil.so.13
|
||||
rm -rf ${X86Lib64Dir}/libwsutil.so
|
||||
|
||||
#rm -rf /usr/local/omc
|
||||
rm -rf /etc/nginx/conf.d/omc.conf
|
||||
rm -f /usr/local/bin/omcd
|
||||
@@ -17,15 +9,11 @@ systemctl daemon-reload
|
||||
if systemctl list-units --type=service --all | grep -q 'restagent.service'; then
|
||||
echo -n "Stopping OMC service ... "
|
||||
systemctl stop restagent.service
|
||||
systemctl stop crontask.service
|
||||
systemctl stop sshsvc.service
|
||||
systemctl stop captrace.service
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
systemctl disable restagent.service
|
||||
systemctl disable crontask.service
|
||||
systemctl disable sshsvc.service
|
||||
systemctl disable captrace.service
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
@@ -4,9 +4,7 @@ systemctl daemon-reload
|
||||
if systemctl list-units --type=service --all | grep -q 'restagent.service'; then
|
||||
echo -n "Stopping OMC service ... "
|
||||
systemctl stop restagent.service
|
||||
systemctl stop crontask.service
|
||||
systemctl stop sshsvc.service
|
||||
systemctl stop captrace.service
|
||||
echo "done"
|
||||
fi
|
||||
|
||||
|
||||
0
debbuild/lib/systemd/system/.gitkeep
Normal file
0
debbuild/usr/local/omc/.ssh/.gitkeep
Normal file
@@ -1,38 +0,0 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
@@ -1 +0,0 @@
|
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCjzE0MHy0P2sQmG1OKvArwLEzR77BwxPp+4N9NKBz8lEyNch4zoHvoLDaUJKPBMwTrScZnxhvRJNde6hz5Z0QVxZolVKV95fMfgb9YICzDfPF3Bphae5q/PBYUJNfrC9SAjQeHV4CCO6xk6LV8O/Nfw8uaXwtuN3yfpUWd5mRWKMc3GHV4vxerfKoIQZN6etLhIEYibAhCJ21P0uoWzZl7ceLmkG+6qrRSbyC0bCnrN3+wjN4bwtflrEFJk3XQGuRbVsYLzux+mMm9p22+CLPRl/FUPF3x4/wKCsqr7JDSxx80HSPhk4g/1nCTpDR9hAfF6A9ww2va/k8jMeYPBO8Owe7erLEZzvg5WQAR3Wj05eJpJD99BeC91S5KW6AFQDfDHxWWprSibd/Jj9dtct2pK2ZxW0ph9OJ49ftRhzT1iVi4UnJwnG5/qLfwl6Tnx+qnQ1If/9lY/99erCTATzFTMSImKrRz7CnuPlcw8WkzCYpWKKe0kJLkL2cRD5Qi4yk= simon@simonzhangsz
|
||||
@@ -1,38 +0,0 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
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
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
0
debbuild/usr/local/omc/bin/.gitkeep
Normal file
0
debbuild/usr/local/omc/etc/default/.gitkeep
Normal file
@@ -1,183 +0,0 @@
|
||||
# file: log file name
|
||||
# level: /trace/debug/info/warn/error/fatal, default: debug
|
||||
# duration: rotation time with xx hours, example: 1/12/24 hours
|
||||
# count: rotation count of log, default is 30 rotation
|
||||
logger:
|
||||
file: /usr/local/omc/log/restagent.log
|
||||
level: warn
|
||||
duration: 24
|
||||
count: 90
|
||||
|
||||
# rest agent listen ipv4/v6 and port, support multiple routines
|
||||
# ip: 0.0.0.0 or ::0, support IPv4/v6
|
||||
# clientAuthType: 0:NoClientCert (default), 1:RequestClientCert, 2:RequireAnyClientCert,
|
||||
# 3:VerifyClientCertIfGiven, 4:RequireAndVerifyClientCerts
|
||||
rest:
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 33030
|
||||
- ipv4: 0.0.0.0
|
||||
ipv6:
|
||||
port: 33443
|
||||
schema: https
|
||||
clientAuthType: 0
|
||||
caFile: /usr/local/omc/etc/certs/omc-ca.crt
|
||||
certFile: /usr/local/omc/etc/certs/omc-server.crt
|
||||
keyFile: /usr/local/omc/etc/certs/omc-server.key
|
||||
|
||||
webServer:
|
||||
enabled: true
|
||||
rootDir: /usr/local/omc/htdocs/front
|
||||
listen:
|
||||
- addr: :80
|
||||
schema: http
|
||||
- addr: :443
|
||||
schema: https
|
||||
clientAuthType: 0
|
||||
caFile: /usr/local/omc/etc/certs/omc-ca.crt
|
||||
certFile: /usr/local/omc/etc/certs/omc-server.crt
|
||||
keyFile: /usr/local/omc/etc/certs/omc-server.key
|
||||
|
||||
database:
|
||||
type: mysql
|
||||
user: root
|
||||
password: 1000omc@kp!
|
||||
host: 127.0.0.1
|
||||
port: 33066
|
||||
name: omc_db
|
||||
connParam: charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&interpolateParams=True
|
||||
backup: /usr/local/omc/database
|
||||
|
||||
# Redis data cache
|
||||
redis:
|
||||
dataSource:
|
||||
# OMC system db
|
||||
default:
|
||||
port: 6379 # Redis port
|
||||
host: "127.0.0.1" # Redis host
|
||||
password: "helloearth"
|
||||
db: 10 # Redis db_num
|
||||
# UDM sub/auth db
|
||||
udmuser:
|
||||
port: 6379 # Redis port
|
||||
host: "127.0.0.1"
|
||||
password: "helloearth"
|
||||
db: 0 # Redis db_num
|
||||
# used to specify the default data source for multiple data resourece
|
||||
defaultDataSourceName: "default"
|
||||
|
||||
# sleep: time delay for after write buffer (millisecond)
|
||||
# deadLine: timeout for io read and write (second)
|
||||
mml:
|
||||
port: 4100
|
||||
port2: 5002
|
||||
sleep: 200
|
||||
deadLine: 10
|
||||
sizeRow: 600
|
||||
sizeCol: 128
|
||||
bufferSize: 65535
|
||||
user: admin
|
||||
password: admin
|
||||
mmlHome: ./mmlhome
|
||||
|
||||
# NE config
|
||||
ne:
|
||||
user: omcuser
|
||||
etcdir: /usr/local/etc
|
||||
bindir: /usr/local/bin
|
||||
omcdir: /usr/local/omc
|
||||
scpdir: /tmp
|
||||
licensedir: /usr/local/etc/{neType}/license
|
||||
# backup etc list of IMS, does not contain spaces
|
||||
etcListIMS: '{*.yaml,mmtel,vars.cfg}'
|
||||
etcListDefault: '{*.yaml,*.conf,*.cfg}'
|
||||
# true/false to overwrite config file when dpkg ne software
|
||||
dpkgOverwrite: false
|
||||
# dpkg timeout (second)
|
||||
dpkgTimeout: 180
|
||||
|
||||
# chk2ne: true/false, if put OmcNeConfig parameters to NE
|
||||
omc:
|
||||
uriPrefix: "/omc/rest"
|
||||
neType: OMC
|
||||
neId: 001
|
||||
rmUID: 4400HX101
|
||||
neName: OMC
|
||||
province: ""
|
||||
vendor: ""
|
||||
dn: ""
|
||||
chk2ne: false
|
||||
sn: "-"
|
||||
checksign: false
|
||||
rootDir: /usr/local/omc
|
||||
binDir: /usr/local/omc/bin
|
||||
backup: /usr/local/omc/backup
|
||||
upload: /usr/local/omc/upload
|
||||
frontUpload: /usr/local/omc/htdocs/front/upload
|
||||
frontTraceDir: /usr/local/omc/htdocs/front/trace
|
||||
software: /usr/local/omc/software
|
||||
license: /usr/local/omc/license
|
||||
gtpUri: gtp:192.168.2.119:32152
|
||||
checkContentType: false
|
||||
testMode: false
|
||||
rbacMode: true
|
||||
runDir: /usr/local/omc/run
|
||||
cmdTimeout: 120
|
||||
|
||||
# Alarm module setting
|
||||
# Forward interface:
|
||||
# email/sms/smsc
|
||||
alarm:
|
||||
forwardAlarm: true
|
||||
email:
|
||||
smtp: smtp.xxx.com
|
||||
port: 25
|
||||
user: smtpuser@xxx.com
|
||||
password: xxxxxx
|
||||
# TLS skip verify: true/false
|
||||
tlsSkipVerify: true
|
||||
smProxy: smsc
|
||||
sms:
|
||||
apiURL: http://smsc.xxx.com
|
||||
accessKeyID: xxx
|
||||
accessKeySecret: xxx
|
||||
signName: XXX SMSC
|
||||
templateCode: 1000
|
||||
smsc:
|
||||
addr: "192.168.13.114:2775"
|
||||
systemID: "alarmsmsfw"
|
||||
password: "omc123"
|
||||
systemType: ""
|
||||
|
||||
# User authorized information
|
||||
# crypt: mysql/md5/bcrypt
|
||||
# token: true/false to check accessToken
|
||||
# expires for session, unit: second
|
||||
# Support single/multiple session of user
|
||||
#
|
||||
auth:
|
||||
crypt: bcrypt
|
||||
token: true
|
||||
expires: 1800
|
||||
session: multiple
|
||||
publicKey: /usr/local/omc/etc/certs/omc
|
||||
privateKey: /usr/local/omc/etc/certs/omc
|
||||
|
||||
# Parameter for limit number
|
||||
# rmuid_maxnum: the max number of rmUID, default: 50
|
||||
# alarmid_maxnum: the max number of AlarmID, default: 50
|
||||
# pmid_maxnum: the max number of pmID, default: 50
|
||||
# subid_maxnum: the max number of subscription ID, default: 20
|
||||
# uri_maxlen: the max length of uri, default: 8192
|
||||
# rmuid_regexp: regexp pattern of rmUID
|
||||
params:
|
||||
rmuidmaxnum: 50
|
||||
alarmidmaxnum: 50
|
||||
pmidmaxnum: 50
|
||||
subidmaxnum: 20
|
||||
urimaxlen: 2100000
|
||||
rmuidregexp: "[0-9]{4}[A-Z]{2}[A-Z]{2}[0-9A-Z]{1}[0-9A-Z]{3}[0-9A-Z]{1,16}"
|
||||
|
||||
testConfig:
|
||||
enabled: false
|
||||
file: /usr/local/omc/etc/testconfig.yaml
|
||||
0
debbuild/usr/local/omc/htdocs/front/.gitkeep
Normal file
BIN
docs/04-overview/04-OMC Overview v1.2.pdf
Normal file
@@ -1,6 +1,6 @@
|
||||
---
|
||||
OMC Overview
|
||||
---
|
||||
|
||||
# OMC Overview
|
||||
|
||||
## Introduction to OMC
|
||||
|
||||
The Core Network OMC (Operation and Maintenance Center) is a central facility used by operators to manage and maintain core network equipment. It typically includes modules for network monitoring, fault management, performance management, configuration management, security management, and other functions to ensure the smooth operation and efficient maintenance of core network equipment. By monitoring and managing core network equipment, the OMC can quickly identify and resolve network faults in real-time, improve network performance, ensure network security, and enhance operational efficiency. The OMC plays a crucial role in the network operations and maintenance of operators, serving as a key element in ensuring stable network operation.
|
||||
@@ -19,6 +19,8 @@ The Core Network OMC (Operation and Maintenance Center) is a central facility us
|
||||
|
||||
## Features
|
||||
|
||||
General Version:
|
||||
|
||||
1. Topology Management (Dashboard/State/Monitor): Dashboard, Network topology, System status, etc.
|
||||
2. Fault Management (FM): active alarms, historical alarms, etc.
|
||||
3. Configuration Management (CM): NE (Network Element) management, parameter configuration, etc.
|
||||
@@ -32,6 +34,23 @@ The Core Network OMC (Operation and Maintenance Center) is a central facility us
|
||||
11. System Management (System): menu management, dictionary management, system information, scheduling tasks, etc.
|
||||
12. Northbound Interface (NBI): optional and customized interfaces, northbound interface services, resource configuration data, performance statistics data, performance golden indicators, alarm reporting, 4A, etc.
|
||||
|
||||
Multi-tenancy Version:
|
||||
|
||||
1. In a public cloud core network, logical isolation of network assets leased by different tenants is achieved through element-specific devices (such as edge UPF), different base station IDs, SIM card number ranges, or slices.
|
||||
2. The network management system data isolates user data, user online information, base station information, and UPF throughput for each tenant based on the mapping of slice information and tenants.
|
||||
3. Tenants can view their own users (UE), have their own dedicated dashboard, and only view operation logs related to their users and accounts after logging in through the network management system.
|
||||
4. Account roles include platform operation and tenants, where the operation account is equivalent to the current network management account. Operation and multi-tenant accounts can both log in to the network management system simultaneously without affecting each other.
|
||||
|
||||
Practical Training Version:
|
||||
|
||||
1. Implement multiple student logins to the network management system for configuration practical training, where configuration parameters are stored independently but not directly pushed to network elements; final device configuration deployment is controlled by the teacher.
|
||||
2. All student configurations can be exported into a single Excel spreadsheet (students can also export their own), including header information (various configuration parameter names), student accounts, PLMN, and other key details.
|
||||
3. Teacher account privileges:
|
||||
* Ability to export, view, and compare all student parameter configurations.
|
||||
* Login with selected student accounts to browse the student's operation interface.
|
||||
* Restore a student's configuration to the system default with one click.
|
||||
* Load and deploy a student's configuration to the devices.
|
||||
|
||||
## Supported NEs
|
||||
|
||||
AMF, AUSF, UDM, SMF, UPF, PCF, NRF, NSSF, NEF, LMF, IMS, MME, N3IWF, SMSC, MOCNGW
|
||||
BIN
docs/04-overview/04-OMC 系统简介 v1.2.pdf
Normal file
@@ -1,6 +1,5 @@
|
||||
---
|
||||
OMC架构与功能
|
||||
---
|
||||
# OMC架构与功能
|
||||
|
||||
## OMC简介
|
||||
|
||||
核心网OMC(Operation and Maintenance Center)是运营商用于管理和维护核心网设备的中心。它通常包括网络监控、故障管理、性能管理、配置管理、安全管理等功能模块,用于确保核心网设备的正常运行和高效维护。OMC通过监控和管理核心网设备,可以实时发现和解决网络故障,提高网络性能,保障网络安全,提升运营效率。OMC在运营商的网络运维中扮演着重要的角色,是保障网络稳定运行的关键环节。
|
||||
@@ -11,7 +10,7 @@ OMC架构与功能
|
||||
|
||||
## 开发平台
|
||||
|
||||
1. 操作系统:linux
|
||||
1. 操作系统:Linux
|
||||
2. 硬件平台:X86/ARM64
|
||||
3. 网络架构: B/S模式
|
||||
4. 前端语言:HTML+CSS+JS(vue3)
|
||||
@@ -19,6 +18,8 @@ OMC架构与功能
|
||||
|
||||
## 功能清单
|
||||
|
||||
通用版本(专网运营商网络):
|
||||
|
||||
1. 拓扑管理(Dashboard/State/Monitor):仪表盘,网络拓扑,系统状态等
|
||||
2. 故障管理(FM):活动告警/历史告警等
|
||||
3. 配置管理(CM):网元管理,参数配置等
|
||||
@@ -32,6 +33,23 @@ OMC架构与功能
|
||||
11. 系统管理(System): 菜单管理,字典管理,系统信息,调度任务等
|
||||
12. 北向接口(NBI: Northbound Interface): 可选接口,定制化接口,北向接口服务,资源配置数据,性能统计数据, 性能黄金指标, 告警上报, 4A等
|
||||
|
||||
多租户版本(Multi-tenancy):
|
||||
|
||||
1. 公有云中心核心网通过网元设备级(如边缘UPF),不同的基站ID, SIM Card号段或切片实现各租户租赁的网络资产逻辑隔离
|
||||
2. 网管根据切片信息与租户的映射关系对各租户的用户数据、用户在线信息、基站信息以及UPF吞吐量等进行数据隔离
|
||||
3. 租户通过网管登录后,可以进行自己用户(UE)的查看、有自己的专有仪表盘,只能看自己用户和账户相关的操作日志
|
||||
4. 账号角色:平台运维和租户,运维账户相当于当前网管账户,运维账号和多租户账户可以同时登录网管系统操作,相互不影响。
|
||||
|
||||
实训版本(Practical-traning):
|
||||
|
||||
1. 实现多学员登录网管并且进行配置实训,配置参数独立存储,但不直接下发到网元设备,真正下发到设备由教师来控制;
|
||||
2. 所有学员的配置可以导出成一个excel表格(学员自己也可以导出excel表格),包含表头信息(各种配置参数名称)、学生账号、PLMN等主要信息
|
||||
3. 教师账号的权限:
|
||||
* 可以导出,查看和比较所有学员的参数配置
|
||||
* 选择学员账号登陆到学员的操作界面进行浏览
|
||||
* 选择学员的配置一键还原系统默认配置
|
||||
* 加载学员的配置并下发到设备
|
||||
|
||||
## 支持的NEs
|
||||
|
||||
AMF, AUSF, UDM, SMF, UPF, PCF, NRF, NSSF, NEF, LMF, IMS, MME, N3IWF, SMSC, MOCNGW
|
||||
BIN
docs/04-overview/image/ems-arch.png
Normal file
|
After Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |