Compare commits
53 Commits
lichang
...
2454fbf1d6
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
20
.gitignore
vendored
20
.gitignore
vendored
@@ -12,26 +12,14 @@
|
||||
# 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/
|
||||
# !build/usr/local/omc/etc/db
|
||||
debbuild/
|
||||
!debbuild/22.04/DEBIAN/
|
||||
!debbuild/DEBIAN/
|
||||
release/
|
||||
|
||||
11
build.sh
11
build.sh
@@ -56,9 +56,9 @@ fi
|
||||
ProjectL=omc
|
||||
ProjectU=OMC
|
||||
PROJECT=${ProjectL}
|
||||
VERSION=2.2410.3
|
||||
VERSION=2.2410.2
|
||||
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 +69,7 @@ RpmArch=`arch`
|
||||
RpmsDir=${EmsBuildRoot}/rpmbuild/RPMS/
|
||||
ReleaseDir=${EmsBuildRoot}/release
|
||||
DumpToolDir=${EmsBEDir}/tools/misc
|
||||
ProjectTag=""
|
||||
|
||||
BuildDir=${EmsBuildRoot}/build
|
||||
CustomizedDir=${EmsBuildRoot}/customized
|
||||
@@ -196,8 +197,14 @@ case "${pkgtype}" in
|
||||
DebFEBuildDir=${DebFEBuild2204Dir}
|
||||
#DebPkgFile=${PROJECT}-${VERSION}-22.04-${Release).${PLATFORM).deb
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22.deb
|
||||
if [ ! $ProjectTag = "" ]; then
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub22-${ProjectTag}.deb
|
||||
fi
|
||||
elif [[ ${VersionID} =~ 'VERSION_ID="18.04"' ]]; then
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18.deb
|
||||
if [ ! $ProjectTag = "" ]; then
|
||||
DebPkgFile=${PROJECT}-r${VERSION}-${RelDate}-ub18-${ProjectTag}.deb
|
||||
fi
|
||||
else
|
||||
echo "Invalid OS release: ${VersionID}"
|
||||
exit 1
|
||||
|
||||
182
build/usr/local/omc/etc/db/backup/omc-tips.sql
Normal file
182
build/usr/local/omc/etc/db/backup/omc-tips.sql
Normal file
@@ -0,0 +1,182 @@
|
||||
select count(*) from kpi_report_upf
|
||||
|
||||
|
||||
CREATE VIEW kpi_report_all AS
|
||||
SELECT * FROM kpi_report_udm
|
||||
UNION ALL
|
||||
SELECT * FROM kpi_report_amf
|
||||
UNION ALL
|
||||
SELECT * FROM kpi_report_upf;
|
||||
|
||||
|
||||
select DISTINCT(ne_type) from kpi_title
|
||||
|
||||
SELECT DISTINCT LOWER(ne_type) FROM kpi_title
|
||||
|
||||
SELECT JSON_EXTRACT(kpi_values, CONCAT('$[', @path, '].', @key_to_search)) AS value FROM kpi_report_upf where `date`="2024-04-26";
|
||||
|
||||
|
||||
SELECT JSON_EXTRACT(JSON_CONTAINS(kpi_values, '{"kpi_id": "UPF.01"}') FROM kpi_report_upf where `date`="2024-04-26";
|
||||
|
||||
|
||||
SELECT
|
||||
JSON_EXTRACT(kpi_values, CONCAT('$[', JSON_UNQUOTE(JSON_SEARCH(kpi_values, 'kpi_id', 'UPF.01')), '].value')) AS value_UPF01,
|
||||
JSON_EXTRACT(kpi_values, CONCAT('$[', JSON_UNQUOTE(JSON_SEARCH(kpi_values, 'kpi_id', 'UPF.03')), '].value')) AS value_UPF03
|
||||
FROM
|
||||
kpi_report_upf
|
||||
WHERE
|
||||
JSON_SEARCH(kpi_values, 'kpi_id', 'UPF.01') IS NOT NULL
|
||||
AND JSON_SEARCH(kpi_values, 'kpi_id', 'UPF.03') IS NOT NULL;
|
||||
|
||||
|
||||
SELECT
|
||||
JSON_EXTRACT(kpi_values, CONCAT('$[', JSON_UNQUOTE(JSON_SEARCH(kpi_values, 'all', 'UPF.01')), '].value')) AS value_UPF01
|
||||
FROM
|
||||
kpi_report_upf
|
||||
WHERE
|
||||
JSON_CONTAINS(kpi_values, '{"kpi_id": "UPF.01"}');
|
||||
|
||||
|
||||
SELECT
|
||||
COALESCE(JSON_EXTRACT(kpi_values, CONCAT('$[', JSON_UNQUOTE(JSON_SEARCH(kpi_values, 'all', 'UPF.01')), '].value')), 0) AS value_UPF01
|
||||
FROM
|
||||
kpi_report_upf
|
||||
WHERE
|
||||
JSON_CONTAINS(kpi_values, '{"kpi_id": "UPF.01"}');
|
||||
|
||||
SELECT
|
||||
CONCAT(
|
||||
DATE_FORMAT( gk.start_time, '%H:' ),
|
||||
LPAD( FLOOR( MINUTE ( gk.start_time ) / 15 ) * 15, 2, '0' )
|
||||
) AS timeGroup,
|
||||
min( CASE WHEN gk.INDEX != '' THEN gk.INDEX ELSE 0 END ) AS startIndex,
|
||||
min( CASE WHEN gk.ne_name != '' THEN gk.ne_name ELSE 0 END ) AS neName,
|
||||
sum( CASE WHEN JSON_CONTAINS(kpi_values,JSON_OBJECT('kpi_id', "UPF.01")) THEN gk.kpi_values->'$[*].value ELSE 0 END ) AS 'UPF.01',
|
||||
sum( CASE WHEN JSON_CONTAINS(kpi_values,JSON_OBJECT('kpi_id', "UPF.02")) THEN gk.kpi_values->'$[*].value ELSE 0 END ) AS 'UPF.02',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.03' THEN gk.VALUE ELSE 0 END ) AS 'UPF.03',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.04' THEN gk.VALUE ELSE 0 END ) AS 'UPF.04',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.05' THEN gk.VALUE ELSE 0 END ) AS 'UPF.05',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.06' THEN gk.VALUE ELSE 0 END ) AS 'UPF.06',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.07' THEN gk.VALUE ELSE 0 END ) AS 'UPF.07',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.08' THEN gk.VALUE ELSE 0 END ) AS 'UPF.08',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.09' THEN gk.VALUE ELSE 0 END ) AS 'UPF.09',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.10' THEN gk.VALUE ELSE 0 END ) AS 'UPF.10',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.14' THEN gk.VALUE ELSE 0 END ) AS 'UPF.14',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.11' THEN gk.VALUE ELSE 0 END ) AS 'UPF.11',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.12' THEN gk.VALUE ELSE 0 END ) AS 'UPF.12',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.13' THEN gk.VALUE ELSE 0 END ) AS 'UPF.13',
|
||||
sum( CASE WHEN gk.kpi_id = 'UPF.15' THEN gk.VALUE ELSE 0 END ) AS 'UPF.15'
|
||||
FROM
|
||||
kpi_report_upf gk
|
||||
WHERE
|
||||
gk.rm_uid = '4400HX1UPF001'
|
||||
AND gk.date = "2024-04-26"
|
||||
AND gk.start_time >= '00:00:00'
|
||||
AND gk.start_time <= '23:59:59'
|
||||
GROUP BY
|
||||
timeGroup
|
||||
ORDER BY
|
||||
timeGroup DESC
|
||||
|
||||
|
||||
|
||||
SELECT
|
||||
CONCAT(
|
||||
DATE_FORMAT( gk.start_time, '%H:' ),
|
||||
LPAD( FLOOR( MINUTE ( gk.start_time ) / 15 ) * 15, 2, '0' )
|
||||
) AS timeGroup,
|
||||
min( CASE WHEN gk.INDEX != '' THEN gk.INDEX ELSE 0 END ) AS startIndex,
|
||||
min( CASE WHEN gk.ne_name != '' THEN gk.ne_name ELSE 0 END ) AS neName,
|
||||
SUM(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[0].kpi_id') = "UPF.01" THEN JSON_EXTRACT(gk.kpi_values, '$[0].value') ELSE 0 END) AS 'UPF.01',
|
||||
SUM(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[1].kpi_id') = "UPF.02" THEN JSON_EXTRACT(gk.kpi_values, '$[1].value') ELSE 0 END) AS 'UPF.02',
|
||||
SUM(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[2].kpi_id') = "UPF.03" THEN JSON_EXTRACT(gk.kpi_values, '$[2].value') ELSE 0 END) AS 'UPF.03'
|
||||
FROM
|
||||
kpi_report_upf gk
|
||||
WHERE
|
||||
gk.rm_uid = '4400HX1UPF001'
|
||||
AND gk.date = "2024-05-08"
|
||||
AND gk.start_time >= '10:55:00'
|
||||
AND gk.start_time <= '23:59:59'
|
||||
GROUP BY
|
||||
timeGroup
|
||||
ORDER BY
|
||||
timeGroup DESC
|
||||
|
||||
|
||||
SELECT
|
||||
CONCAT(
|
||||
DATE_FORMAT( gk.start_time, '%H:' ),
|
||||
LPAD( FLOOR( MINUTE ( gk.start_time ) / 15 ) * 15, 2, '0' )
|
||||
) AS timeGroup,
|
||||
min( CASE WHEN gk.INDEX != '' THEN gk.INDEX ELSE 0 END ) AS startIndex,
|
||||
min( CASE WHEN gk.ne_name != '' THEN gk.ne_name ELSE 0 END ) AS neName,
|
||||
SUM(JSON_EXTRACT(gk.kpi_values, '$[0].`UPF.01`')) AS 'UPF.01',
|
||||
SUM(JSON_EXTRACT(gk.kpi_values, '$[1].`UPF.02`')) AS 'UPF.02',
|
||||
SUM(JSON_EXTRACT(gk.kpi_values, '$[2].`UPF.03`')) AS 'UPF.03'
|
||||
FROM
|
||||
kpi_report_upf gk
|
||||
WHERE
|
||||
gk.rm_uid = '4400HX1UPF001'
|
||||
AND gk.date = "2024-05-08"
|
||||
AND gk.start_time >= '10:53:00'
|
||||
AND gk.start_time <= '10:59:59'
|
||||
GROUP BY
|
||||
timeGroup
|
||||
ORDER BY
|
||||
timeGroup DESC
|
||||
|
||||
|
||||
SELECT
|
||||
min( CASE WHEN gk.INDEX != '' THEN gk.INDEX ELSE 0 END ) AS startIndex,
|
||||
min( CASE WHEN gk.ne_name != '' THEN gk.ne_name ELSE 0 END ) AS neName,
|
||||
SUM(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[*].kpi_id') = 'UPF.01' THEN JSON_EXTRACT(gk.kpi_values, '$[*].value') ELSE 0 END) AS 'UPF.01',
|
||||
SUM(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[*].kpi_id') = 'UPF.02' THEN JSON_EXTRACT(gk.kpi_values, '$[*].value') ELSE 0 END) AS 'UPF.02',
|
||||
SUM(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[*].kpi_id') = 'UPF.03' THEN JSON_EXTRACT(gk.kpi_values, '$[*].value') ELSE 0 END) AS 'UPF.03'
|
||||
FROM
|
||||
kpi_report_upf gk
|
||||
WHERE
|
||||
gk.rm_uid = '4400HX1UPF001'
|
||||
AND gk.date = "2024-05-03"
|
||||
AND gk.start_time >= '00:00:00'
|
||||
AND gk.start_time <= '23:59:59'
|
||||
|
||||
|
||||
SELECT
|
||||
CONCAT( DATE_FORMAT(CONCAT(gk.`date`, " ", gk.start_time), '%Y-%m-%d %H:'), LPAD(FLOOR(MINUTE(gk.start_time) / 15) * 15, 2, '0') ) AS timeGroup,
|
||||
min(CASE WHEN gk.index != '' THEN gk.index ELSE 0 END) AS startIndex,
|
||||
min(CASE WHEN gk.ne_type != '' THEN gk.ne_type ELSE 0 END) AS neType,
|
||||
min(CASE WHEN gk.ne_name != '' THEN gk.ne_name ELSE 0 END) AS neName,
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[0].kpi_id') = 'UPF.01' THEN JSON_EXTRACT(gk.kpi_values, '$[0].value') ELSE 0 END) AS 'UPF.01',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[1].kpi_id') = 'UPF.02' THEN JSON_EXTRACT(gk.kpi_values, '$[1].value') ELSE 0 END) AS 'UPF.02',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[2].kpi_id') = 'UPF.03' THEN JSON_EXTRACT(gk.kpi_values, '$[2].value') ELSE 0 END) AS 'UPF.03',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[3].kpi_id') = 'UPF.04' THEN JSON_EXTRACT(gk.kpi_values, '$[3].value') ELSE 0 END) AS 'UPF.04',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[4].kpi_id') = 'UPF.05' THEN JSON_EXTRACT(gk.kpi_values, '$[4].value') ELSE 0 END) AS 'UPF.05',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[5].kpi_id') = 'UPF.06' THEN JSON_EXTRACT(gk.kpi_values, '$[5].value') ELSE 0 END) AS 'UPF.06',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[6].kpi_id') = 'UPF.07' THEN JSON_EXTRACT(gk.kpi_values, '$[6].value') ELSE 0 END) AS 'UPF.07',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[7].kpi_id') = 'UPF.08' THEN JSON_EXTRACT(gk.kpi_values, '$[7].value') ELSE 0 END) AS 'UPF.08',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[8].kpi_id') = 'UPF.09' THEN JSON_EXTRACT(gk.kpi_values, '$[8].value') ELSE 0 END) AS 'UPF.09',
|
||||
sum(CASE WHEN JSON_EXTRACT(gk.kpi_values, '$[9].kpi_id') = 'UPF.10' THEN JSON_EXTRACT(gk.kpi_values, '$[9].value') ELSE 0 END) AS 'UPF.10'
|
||||
FROM kpi_report_upf gk
|
||||
where gk.rm_uid = '4400HX1UPF001' and gk.ne_type = 'UPF' and CONCAT(gk.`date`, " ", gk.start_time) >= '2024-05-08 10:00:00' and CONCAT(gk.`date`, " ", gk.start_time) <= '2024-05-08 23:59:59'
|
||||
GROUP BY timeGroup order by timeGroup desc
|
||||
|
||||
|
||||
|
||||
DELETE t1
|
||||
FROM ne_state t1
|
||||
JOIN (
|
||||
SELECT `timestamp`
|
||||
FROM ne_state where ne_type='upf'
|
||||
ORDER BY id DESC
|
||||
LIMIT 999999 OFFSET 3
|
||||
) t2 ON t1.`timestamp` = t2.`timestamp` and ne_type='upf';
|
||||
|
||||
|
||||
select count(1) from ne_state where ne_type='upf'
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS kpi_report_test AS SELECT * FROM kpi_report WHERE 1=0;ALTER TABLE kpi_report_test MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY IF NOT EXISTS (`id`);
|
||||
|
||||
ALTER TABLE kpi_report_ims MODIFY COLUMN `id` int(11) NOT NULL AUTO_INCREMENT FIRST,ADD PRIMARY KEY IF NOT EXISTS (`id`)
|
||||
|
||||
SELECT * FROM kpi_report WHERE 1=0
|
||||
0
build/usr/local/omc/etc/db/install/.gitkeep
Normal file
0
build/usr/local/omc/etc/db/install/.gitkeep
Normal file
0
build/usr/local/omc/etc/db/upgrade/.gitkeep
Normal file
0
build/usr/local/omc/etc/db/upgrade/.gitkeep
Normal file
0
build/usr/local/omc/etc/db/upgvue3/.gitkeep
Normal file
0
build/usr/local/omc/etc/db/upgvue3/.gitkeep
Normal file
@@ -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
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
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>
|
||||
0
build/usr/local/omc/static/helpDoc/.gitkeep
Normal file
0
build/usr/local/omc/static/helpDoc/.gitkeep
Normal file
@@ -1,5 +1,5 @@
|
||||
Package: OMC
|
||||
Version: 2.2410.3-YYYYMMDD
|
||||
Version: 2.2410.2-YYYYMMDD-mt
|
||||
Section: AGrandTech
|
||||
Prioritt: optional
|
||||
Architecture: amd64
|
||||
|
||||
@@ -5,10 +5,10 @@ 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"
|
||||
@@ -35,7 +35,7 @@ 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}/*
|
||||
@@ -54,6 +54,62 @@ for CFile in ${CFileList}; do
|
||||
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
|
||||
|
||||
0
debbuild/22.04/lib/systemd/system/.gitkeep
Normal file
0
debbuild/22.04/lib/systemd/system/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/.ssh/.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/backup/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/bin/.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/database/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/etc/certs/.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
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
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
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
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
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
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
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
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
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/htdocs/front/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/license/.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/log/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/mmlhome/.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/mmllog/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/software/.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/static/logo/.gitkeep
Normal file
0
debbuild/22.04/usr/local/omc/upload/.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.2410.2-YYYYMMDD-mt
|
||||
Section: AGrandTech
|
||||
Prioritt: optional
|
||||
Architecture: amd64
|
||||
|
||||
@@ -5,10 +5,10 @@ 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"
|
||||
@@ -35,7 +35,7 @@ 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}/*
|
||||
|
||||
0
debbuild/lib/systemd/system/.gitkeep
Normal file
0
debbuild/lib/systemd/system/.gitkeep
Normal file
0
debbuild/usr/local/omc/.ssh/.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/bin/.gitkeep
Normal file
0
debbuild/usr/local/omc/etc/default/.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
0
debbuild/usr/local/omc/htdocs/front/.gitkeep
Normal file
BIN
docs/04-overview/04-OMC Overview v1.2.pdf
Normal file
BIN
docs/04-overview/04-OMC Overview v1.2.pdf
Normal file
Binary file not shown.
@@ -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
BIN
docs/04-overview/04-OMC 系统简介 v1.2.pdf
Normal file
Binary file not shown.
@@ -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
BIN
docs/04-overview/image/ems-arch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 269 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user