Compare commits
36 Commits
97f30adabb
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ea652d7254 | ||
|
|
f06f26c81b | ||
|
|
fbd48eb4ee | ||
|
|
6fee394db0 | ||
|
|
9ae7d50f73 | ||
|
|
c7523004bd | ||
|
|
5026cdb2b7 | ||
|
|
f744be8df8 | ||
|
|
a74d97e221 | ||
|
|
7f79b5abac | ||
|
|
b379a19aae | ||
|
|
e9347a3ae0 | ||
|
|
cab9a32f96 | ||
|
|
48e5b94f1f | ||
|
|
6d9e440ec8 | ||
|
|
8ef1414ea3 | ||
|
|
a1c7b3d2dd | ||
|
|
230812d6e1 | ||
|
|
6e7d29edad | ||
| 48f0493d4e | |||
| 2e658c5839 | |||
| 236f1937a6 | |||
|
|
530f9116ae | ||
| 91fb7cf944 | |||
| 8dc85066da | |||
| 5e9fabfc23 | |||
| 25ce1a5d4a | |||
| 9472b7d3e3 | |||
| 0e2ed9cbb0 | |||
| 9e94735d95 | |||
|
|
a95266652b | ||
| 54ffb086e4 | |||
| 8eb8329d45 | |||
| 7ac790cc51 | |||
| 5b74cd26bd | |||
| bb3ffe4658 |
1
.gitattributes
vendored
Normal file
1
.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* text=auto
|
||||||
5
.gitignore
vendored
5
.gitignore
vendored
@@ -15,6 +15,7 @@
|
|||||||
|
|
||||||
# Built Visual Studio Code Extensions
|
# Built Visual Studio Code Extensions
|
||||||
*.o
|
*.o
|
||||||
|
*.o.ES
|
||||||
*.a
|
*.a
|
||||||
*.vsix
|
*.vsix
|
||||||
*.log
|
*.log
|
||||||
@@ -23,6 +24,7 @@
|
|||||||
*.bak*
|
*.bak*
|
||||||
*.exe
|
*.exe
|
||||||
__debug_bin*.exe
|
__debug_bin*.exe
|
||||||
|
*.swp
|
||||||
|
|
||||||
# bin file
|
# bin file
|
||||||
bin/iptrans
|
bin/iptrans
|
||||||
@@ -37,6 +39,9 @@ bin/subsComm
|
|||||||
bin/subsDataBackup
|
bin/subsDataBackup
|
||||||
bin/wsms
|
bin/wsms
|
||||||
bin/paraComm
|
bin/paraComm
|
||||||
|
bin/initKeys
|
||||||
|
bin/parseResult
|
||||||
|
bin/sendfile
|
||||||
bin/alarmAgent
|
bin/alarmAgent
|
||||||
bin/alarmGenerator
|
bin/alarmGenerator
|
||||||
bin/beatProc
|
bin/beatProc
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ alarmAgent -d
|
|||||||
nrtrde -d
|
nrtrde -d
|
||||||
sftpSend -d
|
sftpSend -d
|
||||||
cstaCollector -d
|
cstaCollector -d
|
||||||
|
|
||||||
[slave_task]
|
[slave_task]
|
||||||
iptrans -d
|
iptrans -d
|
||||||
paraComm -d
|
paraComm -d
|
||||||
|
|||||||
11
bin/conf/tap.cfg
Normal file
11
bin/conf/tap.cfg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[local]
|
||||||
|
name=NFK
|
||||||
|
prefix=CD
|
||||||
|
currency=USD
|
||||||
|
utc_offset=+1200
|
||||||
|
tap_path=/opt
|
||||||
|
[partners]
|
||||||
|
name=PLWPC
|
||||||
|
plmnid=46000
|
||||||
|
place=CHINA
|
||||||
|
currency=CNY
|
||||||
32
bin/initKeys
32
bin/initKeys
@@ -1,32 +0,0 @@
|
|||||||
#!/usr/bin/expect
|
|
||||||
|
|
||||||
#This script use to init the server keys, it rewrite the known_hosts config file
|
|
||||||
|
|
||||||
#This script have 3 parameters
|
|
||||||
#remoteip: the ip of the remote server
|
|
||||||
#username: the name for logging in
|
|
||||||
#userpass: the password for logging in
|
|
||||||
|
|
||||||
set remoteip [lindex $argv 0]
|
|
||||||
set username [lindex $argv 1]
|
|
||||||
set userpass [lindex $argv 2]
|
|
||||||
|
|
||||||
set timeout 5
|
|
||||||
|
|
||||||
spawn sftp $username@$remoteip
|
|
||||||
|
|
||||||
expect "*(yes/no)?*"
|
|
||||||
|
|
||||||
send "yes\n"
|
|
||||||
|
|
||||||
expect "*password*"
|
|
||||||
|
|
||||||
send "$userpass\n"
|
|
||||||
|
|
||||||
expect "*sftp>*"
|
|
||||||
|
|
||||||
send "quit\n"
|
|
||||||
|
|
||||||
expect eof
|
|
||||||
exit
|
|
||||||
|
|
||||||
@@ -75,9 +75,30 @@
|
|||||||
"Description."
|
"Description."
|
||||||
::= { msc 1 }
|
::= { msc 1 }
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.1.99
|
||||||
|
control OBJECT IDENTIFIER ::= { msc 99 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.1.99.2
|
||||||
|
neSystem OBJECT IDENTIFIER ::= { control 2 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.1.99.2.1
|
||||||
|
config OBJECT IDENTIFIER ::= { neSystem 1 }
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.1.99.2.1.2
|
||||||
|
licenseUpdate OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { config 2 }
|
||||||
|
|
||||||
|
|
||||||
-- 1.3.6.1.4.1.1373.1.3.3.2.2
|
-- 1.3.6.1.4.1.1373.1.3.3.2.2
|
||||||
-- 1.3.6.1.4.1.1373.2.3.3.1.2
|
-- 1.3.6.1.4.1.1373.2.3.3.1.2
|
||||||
|
|
||||||
parameter OBJECT IDENTIFIER ::= { msc 2 }
|
parameter OBJECT IDENTIFIER ::= { msc 2 }
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -71,6 +71,25 @@
|
|||||||
"Description."
|
"Description."
|
||||||
::= { pps 1 }
|
::= { pps 1 }
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.6.99
|
||||||
|
control OBJECT IDENTIFIER ::= { pps 99 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.6.99.2
|
||||||
|
neSystem OBJECT IDENTIFIER ::= { control 2 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.6.99.2.1
|
||||||
|
config OBJECT IDENTIFIER ::= { neSystem 1 }
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.6.99.2.1.2
|
||||||
|
licenseUpdate OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { config 2 }
|
||||||
|
|
||||||
-- 1.3.6.1.4.1.1373.1.3.3.2.2
|
-- 1.3.6.1.4.1.1373.1.3.3.2.2
|
||||||
-- 1.3.6.1.4.1.1373.2.3.3.6.2
|
-- 1.3.6.1.4.1.1373.2.3.3.6.2
|
||||||
|
|||||||
@@ -74,6 +74,26 @@
|
|||||||
"Description."
|
"Description."
|
||||||
::= { smsc 1 }
|
::= { smsc 1 }
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.5.99
|
||||||
|
control OBJECT IDENTIFIER ::= { smsc 99 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.5.99.2
|
||||||
|
neSystem OBJECT IDENTIFIER ::= { control 2 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.5.99.2.1
|
||||||
|
config OBJECT IDENTIFIER ::= { neSystem 1 }
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.5.99.2.1.2
|
||||||
|
licenseUpdate OBJECT-TYPE
|
||||||
|
SYNTAX DisplayString
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { config 2 }
|
||||||
|
|
||||||
|
|
||||||
-- 1.3.6.1.4.1.1373.1.3.3.2.2
|
-- 1.3.6.1.4.1.1373.1.3.3.2.2
|
||||||
-- 1.3.6.1.4.1.1373.2.3.3.5.2
|
-- 1.3.6.1.4.1.1373.2.3.3.5.2
|
||||||
@@ -432,7 +452,8 @@
|
|||||||
smpp8dcs0def7(2),
|
smpp8dcs0def7(2),
|
||||||
smpp7def8(16),
|
smpp7def8(16),
|
||||||
smpp8dcs4def8(17),
|
smpp8dcs4def8(17),
|
||||||
smpp8dcs0def8(18)
|
smpp8dcs0def8(18),
|
||||||
|
smpp8dcs0Unpack7(19)
|
||||||
}
|
}
|
||||||
MAX-ACCESS read-write
|
MAX-ACCESS read-write
|
||||||
STATUS current
|
STATUS current
|
||||||
@@ -528,8 +549,15 @@
|
|||||||
::= { sMPPEntry 10 }
|
::= { sMPPEntry 10 }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.11
|
-- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.11
|
||||||
|
smppRowStatus OBJECT-TYPE
|
||||||
|
SYNTAX RowStatus
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Key Parameter:Yes"
|
||||||
|
::= { sMPPEntry 11 }
|
||||||
|
-- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.12
|
||||||
smppRoleType OBJECT-TYPE
|
smppRoleType OBJECT-TYPE
|
||||||
SYNTAX INTEGER
|
SYNTAX INTEGER
|
||||||
{
|
{
|
||||||
@@ -541,29 +569,8 @@
|
|||||||
DESCRIPTION
|
DESCRIPTION
|
||||||
"Key Parameter:Yes Name:Role Type
|
"Key Parameter:Yes Name:Role Type
|
||||||
Remark:Specify the role type of local SMPP entity"
|
Remark:Specify the role type of local SMPP entity"
|
||||||
::= { sMPPEntry 11 }
|
|
||||||
-- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.12
|
|
||||||
smppRerouteInd OBJECT-TYPE
|
|
||||||
SYNTAX INTEGER
|
|
||||||
{
|
|
||||||
disable(0),
|
|
||||||
enable(1)
|
|
||||||
}
|
|
||||||
MAX-ACCESS read-write
|
|
||||||
STATUS current
|
|
||||||
DESCRIPTION
|
|
||||||
"Key Parameter:Yes Name:Reroute Indication
|
|
||||||
Remark:Specify the reroute indication of local SMPP entity"
|
|
||||||
::= { sMPPEntry 12 }
|
::= { sMPPEntry 12 }
|
||||||
|
|
||||||
-- 1.3.6.1.4.1.1373.2.3.3.5.2.3.1.1.13
|
|
||||||
smppRowStatus OBJECT-TYPE
|
|
||||||
SYNTAX RowStatus
|
|
||||||
MAX-ACCESS read-write
|
|
||||||
STATUS current
|
|
||||||
DESCRIPTION
|
|
||||||
"Key Parameter:Yes"
|
|
||||||
::= { sMPPEntry 13 }
|
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
#This script parse the result.txt file
|
|
||||||
#to judge whether the operation of sending file is successful
|
|
||||||
|
|
||||||
#The local do not have the Permission to access the remote directory
|
|
||||||
if [ `grep -c "handle" /tmp/result$1.txt` -gt 0 ] ; then
|
|
||||||
`echo 4 >/tmp/temp$1.txt`
|
|
||||||
#echo "The local do not have the Permission to access the remote directory"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
#The name or the password is not fit
|
|
||||||
if [ `grep -c "Permission denied" /tmp/result$1.txt` -gt 0 ] ; then
|
|
||||||
`echo 2 >/tmp/temp$1.txt`
|
|
||||||
#echo "The name or the password is not fit"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
#Successful
|
|
||||||
if [ `grep -c "100%" /tmp/result$1.txt` -gt 0 ] ; then
|
|
||||||
`echo 0 >/tmp/temp$1.txt`
|
|
||||||
#echo "Send the file successfully"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
#The remote server is unavailable
|
|
||||||
`echo 1 >/tmp/temp$1.txt`
|
|
||||||
#echo "The remote server is unavailable"
|
|
||||||
exit
|
|
||||||
|
|
||||||
32
bin/sendfile
32
bin/sendfile
@@ -1,32 +0,0 @@
|
|||||||
#!/usr/bin/expect
|
|
||||||
|
|
||||||
#This script interative with the remote server, and send the file to it
|
|
||||||
|
|
||||||
#This script have 6 parameters
|
|
||||||
#remoteip: the ip of the remote server
|
|
||||||
#username: the name for logining in
|
|
||||||
#userpass: the password for logining in
|
|
||||||
#resdir: the directory to store the files
|
|
||||||
#sendfile: the file to send to the remote server
|
|
||||||
#desdir: the directory to send the files
|
|
||||||
|
|
||||||
set remoteip [lindex $argv 0]
|
|
||||||
set username [lindex $argv 1]
|
|
||||||
set userpass [lindex $argv 2]
|
|
||||||
set resdir [lindex $argv 3]
|
|
||||||
set sendfile [lindex $argv 4]
|
|
||||||
set desdir [lindex $argv 5]
|
|
||||||
|
|
||||||
set timeout 120
|
|
||||||
|
|
||||||
spawn sftp $username@$remoteip
|
|
||||||
|
|
||||||
expect "yes/no" {send "yes\n"; expect "*assword: "} "*assword: "
|
|
||||||
send "$userpass\n"
|
|
||||||
expect "*sftp>*"
|
|
||||||
send "cd $desdir\n"
|
|
||||||
send "lcd $resdir\n"
|
|
||||||
send "put $sendfile\n"
|
|
||||||
|
|
||||||
expect "*100%*"
|
|
||||||
exit
|
|
||||||
@@ -184,7 +184,9 @@ case "$runMode" in
|
|||||||
hostName='single'
|
hostName='single'
|
||||||
|
|
||||||
#my.conf
|
#my.conf
|
||||||
|
if [ -f /etc/my.cnf ] ; then
|
||||||
mv -f /etc/my.cnf /etc/my.cnf_bak
|
mv -f /etc/my.cnf /etc/my.cnf_bak
|
||||||
|
fi
|
||||||
cp -f ../config/mariadb-50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
|
cp -f ../config/mariadb-50-server.cnf /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||||
chmod 644 /etc/mysql/mariadb.conf.d/50-server.cnf
|
chmod 644 /etc/mysql/mariadb.conf.d/50-server.cnf
|
||||||
echo "set configuration file: /etc/mysql/mariadb.conf.d/50-server.cnf ok!"
|
echo "set configuration file: /etc/mysql/mariadb.conf.d/50-server.cnf ok!"
|
||||||
|
|||||||
BIN
bin/tapcvt
Normal file
BIN
bin/tapcvt
Normal file
Binary file not shown.
@@ -44,8 +44,6 @@
|
|||||||
## TEST_OBJ_PATH = [module object files Path for test ] => just for test
|
## TEST_OBJ_PATH = [module object files Path for test ] => just for test
|
||||||
##---------------------------------------------------------------------##
|
##---------------------------------------------------------------------##
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MODULE = 8ecp
|
MODULE = 8ecp
|
||||||
TYPE = plat
|
TYPE = plat
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Makefile for platform of EMS
|
# Makefile for platform of EMS
|
||||||
|
|
||||||
PLATDIR = ../plat
|
PLATDIR = $(shell pwd)
|
||||||
BINDIR = ../bin
|
BINDIR = $(PLATDIR)/../bin
|
||||||
PLATMODULELIST = 8ecp aif bicc debug haepub iptrans isdn isup m2ua mgc mgcp mgc_v2 mtp3 pal public rtp sccp scf sip smpp snmp tcap xapp
|
PLATMODULELIST = 8ecp aif bicc debug haepub iptrans isdn isup m2ua mgc mgcp mgc_v2 mtp3 pal public rtp sccp scf sip smpp snmp tcap xapp
|
||||||
|
|
||||||
.PHONY: all $(PLATMODULELIST) clean
|
.PHONY: all $(PLATMODULELIST) clean
|
||||||
@@ -14,6 +14,7 @@ $(PLATMODULELIST):
|
|||||||
@echo "====================== make $@ ======================="
|
@echo "====================== make $@ ======================="
|
||||||
@cd $(PLATDIR)/$@ && $(MAKE)
|
@cd $(PLATDIR)/$@ && $(MAKE)
|
||||||
@if [ $@ = "iptrans" ]; then \
|
@if [ $@ = "iptrans" ]; then \
|
||||||
|
cd $(PLATDIR)/$@; \
|
||||||
./mkiptrans.sh; \
|
./mkiptrans.sh; \
|
||||||
cp -f ./iptrans $(BINDIR); \
|
cp -f ./iptrans $(BINDIR); \
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
#gcc -o iptrans ./src/iptrmain.c -Llib/ -liptrans -L../debug/lib -ldebug -lcurses -L../snmp/lib -lsnmp -L../public/lib -lpublic -lm
|
#gcc -o iptrans ./src/iptrmain.c -Llib/ -liptrans -L../debug/lib -ldebug -lcurses -L../snmp/lib -lsnmp -L../public/lib -lpublic -lm
|
||||||
gcc -o iptrans ./src/iptrmain.c -Llib/ -liptrans -L../debug/lib -ldebug -L../snmp/lib -lsnmp -L../public/lib -lpublic -lm
|
gcc -o iptrans ./src/iptrmain.c -Llib/ -liptrans -L../debug/lib -ldebug -L../snmp/lib -lsnmp -L../public/lib -lpublic -lm
|
||||||
|
|||||||
@@ -82,6 +82,8 @@ BYTE str2oid(char *str, DWORD * array, BYTE max);
|
|||||||
char *bcd2str(BYTE* buf,int len);
|
char *bcd2str(BYTE* buf,int len);
|
||||||
int smsDecodeAll(int code_type,char* strIn,char* strOut,int length);
|
int smsDecodeAll(int code_type,char* strIn,char* strOut,int length);
|
||||||
char* digits2str(BYTE* buf,int len);
|
char* digits2str(BYTE* buf,int len);
|
||||||
|
char* askm2str(BYTE* buf,int len);
|
||||||
|
|
||||||
|
|
||||||
void test()
|
void test()
|
||||||
{
|
{
|
||||||
@@ -767,6 +769,9 @@ void create_record_table(cdr_src *psrc,MYSQL *pCdrConn)
|
|||||||
sprintf(tmpstr,"TEXT");
|
sprintf(tmpstr,"TEXT");
|
||||||
strcat(createfieldlist,tmpstr);
|
strcat(createfieldlist,tmpstr);
|
||||||
break;
|
break;
|
||||||
|
case 42: // 假设这是一个字符串类型的字段
|
||||||
|
strcat(createfieldlist, "VARCHAR(30)"); // 或者根据需要调整长度
|
||||||
|
break;
|
||||||
//integer
|
//integer
|
||||||
case 1:
|
case 1:
|
||||||
//unsigned integer
|
//unsigned integer
|
||||||
@@ -1442,9 +1447,22 @@ void cdr_parse(cdr_sys *psys,int tagcode,ASN_BUF *asnbuf,int fieldIndex,char* fi
|
|||||||
case 4:
|
case 4:
|
||||||
if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0)
|
if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode],tempbyte,asnbuf)) > 0)
|
||||||
{
|
{
|
||||||
|
|
||||||
//opps need cc
|
//opps need cc
|
||||||
if(psrc->sysTypeNo == 375)
|
if (psrc->sysTypeNo == 375) {
|
||||||
sprintf(fieldstr,",'%s'",digits2str(tempbyte,len * 2));
|
sprintf(fieldstr, ",'%s'", digits2str(tempbyte, len * 2));
|
||||||
|
} else if ((psrc->sysTypeNo == 320 && !strcmp(pdef->fields[fieldIndex].tags[tagcode], "7.12")) ||
|
||||||
|
(psrc->sysTypeNo == 351 &&
|
||||||
|
(!strcmp(pdef->fields[fieldIndex].tags[tagcode], "0.1") ||
|
||||||
|
!strcmp(pdef->fields[fieldIndex].tags[tagcode], "0.2")))) {
|
||||||
|
|
||||||
|
if (tempbyte[0] == 0x91 || tempbyte[0] == 0x81 || tempbyte[0] == 0xa1) {
|
||||||
|
sprintf(fieldstr, ",'%s'", digits2str(tempbyte + 1, (len - 1) * 2));
|
||||||
|
} else {
|
||||||
|
// 阿斯克码值
|
||||||
|
sprintf(fieldstr, ",'%s'", askm2str(tempbyte, len * 2));
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
sprintf(fieldstr,",'%s'",digits2str(tempbyte + 1,(len - 1) * 2));
|
sprintf(fieldstr,",'%s'",digits2str(tempbyte + 1,(len - 1) * 2));
|
||||||
}
|
}
|
||||||
@@ -1714,7 +1732,16 @@ void cdr_parse(cdr_sys *psys,int tagcode,ASN_BUF *asnbuf,int fieldIndex,char* fi
|
|||||||
sprintf(fieldstr,",NULL");
|
sprintf(fieldstr,",NULL");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 42:
|
||||||
|
if((len = get_tlv(pdef->fields[fieldIndex].tags[tagcode], tempbyte, asnbuf)) > 0)
|
||||||
|
{
|
||||||
|
sprintf(fieldstr, ",'%d.%d.%d.%d'", tempbyte[0], tempbyte[1], tempbyte[2], tempbyte[3]);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf(fieldstr, ",NULL");
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1952,6 +1979,22 @@ char* digits2str(BYTE* buf,int len)
|
|||||||
return dig;
|
return dig;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char* askm2str(BYTE* buf, int len) {
|
||||||
|
static char str[512];
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < 512; i++) {
|
||||||
|
str[i] = '\0';
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = 0; i < len; i++) {
|
||||||
|
str[i] = buf[i];
|
||||||
|
}
|
||||||
|
str[len] = '\0';
|
||||||
|
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
// Extra function
|
// Extra function
|
||||||
int sendHeartbeat()
|
int sendHeartbeat()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1265,7 +1265,11 @@ void clear_table(char *table_name)
|
|||||||
cdr_log("[ERR %d][clear_table]:Can not connect to CDR_DB",mysql_errno(pubConn));
|
cdr_log("[ERR %d][clear_table]:Can not connect to CDR_DB",mysql_errno(pubConn));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sprintf(mng_sqlstr,"delete from CDR_DB.%s WHERE TO_DAYS(releaseTime)<TO_DAYS(NOW());",table_name);
|
sprintf(mng_sqlstr,"delete from CDR_DB.%s WHERE TO_DAYS(releaseTime)<TO_DAYS(NOW());",table_name);
|
||||||
|
|
||||||
|
|
||||||
if(mysql_getnores(pubConn,mng_sqlstr) != 0)
|
if(mysql_getnores(pubConn,mng_sqlstr) != 0)
|
||||||
cdr_log("[ERR %d][clear_table]:%s",mysql_errno(pubConn),mng_sqlstr);
|
cdr_log("[ERR %d][clear_table]:%s",mysql_errno(pubConn),mng_sqlstr);
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -788,6 +788,8 @@ int sendFile(char *remoteip, char *username, char *userpass, char *srcdir, char
|
|||||||
|
|
||||||
//Use the expect script to send the file by sftp
|
//Use the expect script to send the file by sftp
|
||||||
sprintf(command,"expect sendfile %s %s %s %s %s %s 1>/tmp/result%d.txt 2>/dev/null",remoteip,username,userpass,srcdir,filename,desdir,fileIndex);
|
sprintf(command,"expect sendfile %s %s %s %s %s %s 1>/tmp/result%d.txt 2>/dev/null",remoteip,username,userpass,srcdir,filename,desdir,fileIndex);
|
||||||
|
sprintf(message,"command %s \n",command);
|
||||||
|
logMessage(message);
|
||||||
system(command);
|
system(command);
|
||||||
|
|
||||||
//Use the parseResult script to parse the result of sending file
|
//Use the parseResult script to parse the result of sending file
|
||||||
@@ -801,6 +803,9 @@ int sendFile(char *remoteip, char *username, char *userpass, char *srcdir, char
|
|||||||
|
|
||||||
sprintf(command,"rm -rf /tmp/result%d.txt",fileIndex);
|
sprintf(command,"rm -rf /tmp/result%d.txt",fileIndex);
|
||||||
system(command);
|
system(command);
|
||||||
|
|
||||||
|
sprintf(message,"SendFile()---The result is %d\n",res);
|
||||||
|
logMessage(message);
|
||||||
//printf("SendFile()---The result is %d\n",res);
|
//printf("SendFile()---The result is %d\n",res);
|
||||||
|
|
||||||
if(res==0)
|
if(res==0)
|
||||||
@@ -841,6 +846,8 @@ int sendFile(char *remoteip, char *username, char *userpass, char *srcdir, char
|
|||||||
}
|
}
|
||||||
//printf("%s\n",message);
|
//printf("%s\n",message);
|
||||||
sprintf(command,"rm -rf /tmp/temp%d.txt",fileIndex);
|
sprintf(command,"rm -rf /tmp/temp%d.txt",fileIndex);
|
||||||
|
sprintf(message,"rm command %s \n",command);
|
||||||
|
logMessage(message);
|
||||||
system(command);
|
system(command);
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -64,8 +64,8 @@ linux72: $(PARACOMM_OBJ) $(LIB_OBJ)
|
|||||||
|
|
||||||
linuxES: $(PARACOMM_OBJ.ES) $(LIB_OBJ.ES)
|
linuxES: $(PARACOMM_OBJ.ES) $(LIB_OBJ.ES)
|
||||||
@echo Linking $(PROGS)
|
@echo Linking $(PROGS)
|
||||||
@$(LINK.c.ES) -o $(PROGS) $(PARACOMM_OBJ.ES) $(LINKFLAG.ES) -lm
|
@$(LINK.c.ES) -o $(PROGS) $(PARACOMM_OBJ) $(LINKFLAG.ES) -lm
|
||||||
ar r libparaComm.a $(LIB_OBJ.ES)
|
ar r libparaComm.a $(LIB_OBJ)
|
||||||
|
|
||||||
installbin: linuxES
|
installbin: linuxES
|
||||||
cp -f $(PROGS) ../../../../bin/
|
cp -f $(PROGS) ../../../../bin/
|
||||||
@@ -85,13 +85,13 @@ initParaConf.o: initParaConf.c
|
|||||||
$(COMPILE.c) -c initParaConf.c
|
$(COMPILE.c) -c initParaConf.c
|
||||||
|
|
||||||
paraCommMain.o.ES: paraCommMain.c
|
paraCommMain.o.ES: paraCommMain.c
|
||||||
$(COMPILE.c.ES) -c paraCommMain.c -o paraCommMain.o.ES
|
$(COMPILE.c.ES) -c paraCommMain.c # -o paraCommMain.o.ES
|
||||||
|
|
||||||
paraComm.o.ES: paraComm.c
|
paraComm.o.ES: paraComm.c
|
||||||
$(COMPILE.c.ES) -c paraComm.c -o paraComm.o.ES
|
$(COMPILE.c.ES) -c paraComm.c # -o paraComm.o.ES
|
||||||
|
|
||||||
initParaConf.o.ES: initParaConf.c
|
initParaConf.o.ES: initParaConf.c
|
||||||
$(COMPILE.c.ES) -c initParaConf.c -o initParaConf.o.ES
|
$(COMPILE.c.ES) -c initParaConf.c # -o initParaConf.o.ES
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *.o.ES *.a $(PROGS)
|
rm -f *.o *.o.ES *.a $(PROGS)
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ int checkPlatHasSubSysNo(int sysTypeNo,int sysNo)
|
|||||||
{
|
{
|
||||||
// modified by simon at 2024/04/12
|
// modified by simon at 2024/04/12
|
||||||
//if(sysNo != 9)
|
//if(sysNo != 9)
|
||||||
if (sysNo != 9 && sysNo != 3 && sysNo != 5 && sysNo != 6 ) // 9-MSS,3-HLR,5-OCS/PPS,6-SMSC
|
if (sysNo != 9 && sysNo != 3 && sysNo != 5 && sysNo != 6 && sysNo != 11) // 9-MSS,3-HLR,5-OCS/PPS,6-SMSC 11-AAS
|
||||||
{
|
{
|
||||||
switch(sysTypeNo)
|
switch(sysTypeNo)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ BYTE parseoid(char *str, DWORD * array, BYTE max);
|
|||||||
char *oidtostr(DWORD* oid,int oidlen,char *output);
|
char *oidtostr(DWORD* oid,int oidlen,char *output);
|
||||||
|
|
||||||
static char beatproc_sqlstr[8192];
|
static char beatproc_sqlstr[8192];
|
||||||
|
static char beatprocInfo_sqlstr[8192];
|
||||||
|
|
||||||
static char state_str[MAX_MSG_LEN];
|
static char state_str[MAX_MSG_LEN];
|
||||||
static _sys_conf sys_conf[MAX_SYS_CONF];
|
static _sys_conf sys_conf[MAX_SYS_CONF];
|
||||||
static int sys_conf_count=0;
|
static int sys_conf_count=0;
|
||||||
@@ -257,6 +259,133 @@ void localBeatRecv(BYTE oidLen, DWORD *oidArr, BYTE *pdata,WORD dataLen,snmp_add
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
|
//check oidlen
|
||||||
|
// if(oidLen > oidArr[psysconf->prefixoidlen]+1)
|
||||||
|
// {
|
||||||
|
// //ems_debug(BEATPROC_DEBUG_LOGFILE,"The length of oid is big");
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>澯 Trap (OID <20><> .8 <20><>β)
|
||||||
|
if (oidArr[psysconf->prefixoidlen] == 8)
|
||||||
|
{
|
||||||
|
|
||||||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Trap (OID <20><> .2 <20><>β)
|
||||||
|
// <20><>ӡ pdata <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
// char pdatastring[256] = {0};
|
||||||
|
// char tmpstr[16];
|
||||||
|
// for (int j = 0; j < dataLen; j++)
|
||||||
|
// {
|
||||||
|
// sprintf(tmpstr, "%02X ", pdata[j]);
|
||||||
|
// strcat(pdatastring, tmpstr);
|
||||||
|
// }
|
||||||
|
// char oidstring[256] = {0};
|
||||||
|
// oidtostr(oidArr, oidLen, oidstring);
|
||||||
|
// ems_debug(BEATPROC_DEBUG_LOGFILE, "Received alarm trap OID: %s, data: %s", oidstring, pdatastring);
|
||||||
|
|
||||||
|
sysno=pdata[0];
|
||||||
|
subsysno=pdata[1];
|
||||||
|
if(sysno >= psysconf->maxsysnum || subsysno >= psysconf->maxsubsysnum)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"System %s sysno or subsysno is too big,[%d,%d] > [%d,%d]",psysconf->systypename,sysno,subsysno,psysconf->maxsysnum,psysconf->maxsubsysnum);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// <20><>ȡʱ<C8A1><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3-6 <20>ֽڣ<D6BD>
|
||||||
|
unsigned long alarmTime = (pdata[2] << 24) | (pdata[3] << 16) | (pdata[4] << 8) | pdata[5];
|
||||||
|
|
||||||
|
// <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD> alarmId
|
||||||
|
char alarmIdStr[32];
|
||||||
|
sprintf(alarmIdStr, "%lu", alarmTime);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ת<><D7AA>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ϊʱ<CEAA><CAB1><EFBFBD><EFBFBD>ʽ
|
||||||
|
char alarmTimeStr[20]; // <20><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
time_t alarmTime_t = (time_t)alarmTime;
|
||||||
|
strftime(alarmTimeStr, sizeof(alarmTimeStr), "%Y-%m-%d %H:%M:%S", localtime(&alarmTime_t));
|
||||||
|
|
||||||
|
|
||||||
|
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD>
|
||||||
|
int clearMode = pdata[6]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
int compCode = pdata[8]; // <20><><EFBFBD><EFBFBD> ID
|
||||||
|
int alarmCode = pdata[9]; // <20>澯<EFBFBD><E6BEAF>
|
||||||
|
|
||||||
|
|
||||||
|
// <20><>ȡ<EFBFBD>澯<EFBFBD><E6BEAF>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD> 11 <20>ֽڿ<D6BD>ʼ<EFBFBD><CABC>
|
||||||
|
char alarmInfo[256] = {0};
|
||||||
|
memcpy(alarmInfo, &pdata[10], dataLen - 10); // ʣ<><CAA3><EFBFBD>ֽ<EFBFBD>Ϊ<EFBFBD>澯<EFBFBD><E6BEAF>Ϣ
|
||||||
|
|
||||||
|
MYSQL *pubConn = mysql_conn("localhost","OMC_PUB");
|
||||||
|
if (pubConn == NULL)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "Connect to OMC_PUB fail");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD> SQL <20><><EFBFBD><EFBFBD>
|
||||||
|
if (clearMode == 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>澯
|
||||||
|
sprintf(beatproc_sqlstr,
|
||||||
|
"UPDATE sysAlarmInfo SET clearTime=CURRENT_TIMESTAMP, clearMode=0, clearBy='System' "
|
||||||
|
"WHERE sysTypeNo=%d AND sysNo=%d AND subSysNo=%d AND compCode=%d AND alarmCode=%d AND clearMode=1 AND alarmId='%s';",
|
||||||
|
psysconf->systypeno, sysno, subsysno, compCode, alarmCode, alarmIdStr);
|
||||||
|
|
||||||
|
if (mysql_getnores(pubConn, beatproc_sqlstr) != 0)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "[SQL ERR], %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "Alarm cleared: %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
mysql_close(pubConn);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if (clearMode == 1)
|
||||||
|
{
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD>澯
|
||||||
|
sprintf(beatproc_sqlstr,
|
||||||
|
"INSERT INTO sysAlarmInfo (sysTypeNo, sysNo, subSysNo, compCode, alarmCode, alarmTime, clearTime, clearMode, alarmId, alarmInfo) "
|
||||||
|
"VALUES (%d, %d, %d, %d, %d, '%s', '0000-00-00 00:00:00', 1, '%s', '%s');",
|
||||||
|
psysconf->systypeno, sysno, subsysno, compCode, alarmCode, alarmTimeStr, alarmIdStr, alarmInfo);
|
||||||
|
|
||||||
|
if (mysql_getnores(pubConn, beatproc_sqlstr) != 0)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "[SQL ERR], %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "New alarm inserted: %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
mysql_close(pubConn);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else if(clearMode == 2)
|
||||||
|
{//<2F><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>澯
|
||||||
|
|
||||||
|
sprintf(beatproc_sqlstr,
|
||||||
|
"INSERT INTO sysAlarmEvent (sysTypeNo, sysNo, subSysNo, compCode, alarmCode, alarmTime, clearTime, clearMode, alarmId, alarmInfo) "
|
||||||
|
"VALUES (%d, %d, %d, %d, %d, '%s', '0000-00-00 00:00:00', 2, '%s', '%s');",
|
||||||
|
psysconf->systypeno, sysno, subsysno, compCode, alarmCode, alarmTimeStr, alarmIdStr, alarmInfo);
|
||||||
|
|
||||||
|
if (mysql_getnores(pubConn, beatproc_sqlstr) != 0)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "[SQL ERR], %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "Event alarm inserted: %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
mysql_close(pubConn);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} //end if .8
|
||||||
|
else{
|
||||||
//another omc
|
//another omc
|
||||||
if(psysconf->systypeno == 0)
|
if(psysconf->systypeno == 0)
|
||||||
{
|
{
|
||||||
@@ -321,6 +450,7 @@ void localBeatRecv(BYTE oidLen, DWORD *oidArr, BYTE *pdata,WORD dataLen,snmp_add
|
|||||||
psysconf->systems[sysno][subsysno].lastupdatetime=time(NULL);
|
psysconf->systems[sysno][subsysno].lastupdatetime=time(NULL);
|
||||||
|
|
||||||
update_state(psysconf,sysno,subsysno,pdata,dataLen,addr);
|
update_state(psysconf,sysno,subsysno,pdata,dataLen,addr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -414,6 +544,17 @@ void update_state(_sys_conf *psysconf,int sysNo,int subSysNo,BYTE *pdata,int dat
|
|||||||
{
|
{
|
||||||
ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr);
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sprintf(beatproc_sqlstr,"update OMC_PUB.sysAlarmInfo set clearTime=CURRENT_TIMESTAMP,clearMode=0,clearBy='System' where sysTypeNo=%d and sysNo=%d and subSysNo=%d and compCode=0 and alarmCode=254;",
|
||||||
|
psysconf->systypeno,sysNo,subSysNo);
|
||||||
|
if(mysql_getnores(pubConn,beatproc_sqlstr) != 0)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mysql_close(pubConn);
|
mysql_close(pubConn);
|
||||||
@@ -587,6 +728,39 @@ void update_alarm(_sys_conf *psysconf,int sysno,int subsysno,int compcode,int al
|
|||||||
{
|
{
|
||||||
ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr);
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD> alarmCode Ϊ 254 ʱ<><CAB1><EFBFBD><EFBFBD><EFBFBD>뵽 alarmInfo <20><>
|
||||||
|
if (alarmcode == 254)
|
||||||
|
{
|
||||||
|
|
||||||
|
sprintf(beatproc_sqlstr,"update OMC_PUB.sysAlarmInfo set clearTime=CURRENT_TIMESTAMP,clearMode=0,clearBy='System' where sysTypeNo=%d and sysNo=%d and subSysNo=%d and compCode=0 and alarmCode=254;",
|
||||||
|
psysconf->systypeno,sysno,subsysno);
|
||||||
|
if(mysql_getnores(pubConn,beatproc_sqlstr) != 0)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"[SQL ERR],%s",beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE,"%s",beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
time_t current_time = time(NULL);
|
||||||
|
char alarmIdStr[32];
|
||||||
|
sprintf(alarmIdStr, "%ld", (long)current_time); // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
|
||||||
|
sprintf(beatproc_sqlstr, "insert into OMC_PUB.sysAlarmInfo(sysTypeNo,sysNo,subSysNo,compCode,alarmCode,alarmTime,clearTime,clearMode,alarmInfo,alarmId) "
|
||||||
|
"values(%d,%d,%d,%d,%d,CURRENT_TIMESTAMP,'0000-00-00 00:00:00',1,'Can not receive heartbeat','%s');",
|
||||||
|
psysconf->systypeno, sysno, subsysno, compcode, alarmcode,alarmIdStr);
|
||||||
|
if (mysql_getnores(pubConn, beatproc_sqlstr) != 0)
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "[SQL ERR],%s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ems_debug(BEATPROC_DEBUG_LOGFILE, "Inserted into alarmInfo: %s", beatproc_sqlstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
psys->lastcompcode=compcode;
|
psys->lastcompcode=compcode;
|
||||||
|
|||||||
188
src/mkall.sh
188
src/mkall.sh
@@ -1,188 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
src_dir=`pwd`
|
|
||||||
|
|
||||||
#omcLib
|
|
||||||
cd ${src_dir}/omcLib/c_program/omcLib
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "-------------------- omcLib ------------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make
|
|
||||||
|
|
||||||
#smeg
|
|
||||||
cd ${src_dir}/smeg
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------------------- smeg ------------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make
|
|
||||||
|
|
||||||
#faultMgr sysStat
|
|
||||||
cd ${src_dir}/faultMgr/c_program/sysStat
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------------- faultMgr-->sysStat ----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make
|
|
||||||
|
|
||||||
#omcLib ftp
|
|
||||||
cd ${src_dir}/omcLib/c_program/ftp
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "----------------- omcLib ftp------------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr cdrCollector
|
|
||||||
cd ${src_dir}/accountMgr/c_program/cdrCollector
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------- accountMgr cdrCollector -----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr ftpSend
|
|
||||||
cd ${src_dir}/accountMgr/c_program/ftpsend
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr ftpSend ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr nrtrde
|
|
||||||
cd ${src_dir}/accountMgr/c_program/nrtrde
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr nrtrde ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr sftpSend
|
|
||||||
cd ${src_dir}/accountMgr/c_program/sftpSend
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr sftpSend ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr smcli
|
|
||||||
cd ${src_dir}/accountMgr/c_program/smcli
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "-------------- accountMgr smcli --------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr subsComm
|
|
||||||
cd ${src_dir}/accountMgr/c_program/subsComm
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr subsComm ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr subsDataBackup
|
|
||||||
cd ${src_dir}/accountMgr/c_program/subsDataBackup
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "----------- accountMgr subsDataBackup --------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#accountMgr wsms
|
|
||||||
cd ${src_dir}/accountMgr/c_program/wsms
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------------- accountMgr wsms -------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#configMgr paraComm
|
|
||||||
cd ${src_dir}/configMgr/c_program/paraComm
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- configMgr-->paraComm ---------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#faultMgr alarmAgent
|
|
||||||
cd ${src_dir}/faultMgr/c_program/alarmAgent
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "-------------- faultMgr-->alarmAgent ---------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#faultMgr alarmGenerator
|
|
||||||
cd ${src_dir}/faultMgr/c_program/alarmGenerator
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------ faultMgr-->alarmGenerator -------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#faultMgr beatProc
|
|
||||||
cd ${src_dir}/faultMgr/c_program/beatProc
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->beatProc ----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#faultMgr beatSend
|
|
||||||
cd ${src_dir}/faultMgr/c_program/beatSend
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->beatSend ----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#faultMgr dualsrv
|
|
||||||
cd ${src_dir}/faultMgr/c_program/dualsrv
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->dualsrv -----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#performanceMgr logCollector
|
|
||||||
cd ${src_dir}/performanceMgr/c_program/logCollector
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------- performanceMgr-->logCollector ------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#performanceMgr cstaCollector
|
|
||||||
cd ${src_dir}/performanceMgr/c_program/cstaCollector
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------- performanceMgr-->cstaCollector -----------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#securityMgr omcCleaner
|
|
||||||
cd ${src_dir}/securityMgr/c_program/omcCleaner
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "----------- securityMgr-->omcCleaner ---------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#faultMgr raidAgent
|
|
||||||
cd ${src_dir}/faultMgr/c_program/raidAgent
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->raidAgent ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
#omcMain omcMain
|
|
||||||
cd ${src_dir}/omcMain/c_program/omcMain
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- omcMain-->omcMain ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
make clean
|
|
||||||
make linuxES
|
|
||||||
|
|
||||||
187
src/mkbin.sh
187
src/mkbin.sh
@@ -1,187 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
src_dir=`pwd`
|
|
||||||
|
|
||||||
#omcLib
|
|
||||||
cd ${src_dir}/omcLib/c_program/omcLib
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "-------------------- omcLib ------------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make
|
|
||||||
|
|
||||||
#smeg
|
|
||||||
cd ${src_dir}/smeg
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------------------- smeg ------------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make
|
|
||||||
|
|
||||||
#faultMgr sysStat
|
|
||||||
cd ${src_dir}/faultMgr/c_program/sysStat
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------------- faultMgr-->sysStat ----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make
|
|
||||||
|
|
||||||
#omcLib ftp
|
|
||||||
cd ${src_dir}/omcLib/c_program/ftp
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "----------------- omcLib ftp------------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr cdrCollector
|
|
||||||
cd ${src_dir}/accountMgr/c_program/cdrCollector
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------- accountMgr cdrCollector -----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr ftpSend
|
|
||||||
cd ${src_dir}/accountMgr/c_program/ftpsend
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr ftpSend ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr nrtrde
|
|
||||||
cd ${src_dir}/accountMgr/c_program/nrtrde
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr nrtrde ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr sftpSend
|
|
||||||
cd ${src_dir}/accountMgr/c_program/sftpSend
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr sftpSend ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr smcli
|
|
||||||
cd ${src_dir}/accountMgr/c_program/smcli
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "-------------- accountMgr smcli --------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr subsComm
|
|
||||||
cd ${src_dir}/accountMgr/c_program/subsComm
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------- accountMgr subsComm ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr subsDataBackup
|
|
||||||
cd ${src_dir}/accountMgr/c_program/subsDataBackup
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "----------- accountMgr subsDataBackup --------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#accountMgr wsms
|
|
||||||
cd ${src_dir}/accountMgr/c_program/wsms
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "---------------- accountMgr wsms -------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#configMgr paraComm
|
|
||||||
cd ${src_dir}/configMgr/c_program/paraComm
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- configMgr-->paraComm ---------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#faultMgr alarmAgent
|
|
||||||
cd ${src_dir}/faultMgr/c_program/alarmAgent
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "-------------- faultMgr-->alarmAgent ---------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#faultMgr alarmGenerator
|
|
||||||
cd ${src_dir}/faultMgr/c_program/alarmGenerator
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "------------ faultMgr-->alarmGenerator -------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#faultMgr beatProc
|
|
||||||
cd ${src_dir}/faultMgr/c_program/beatProc
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->beatProc ----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#faultMgr beatSend
|
|
||||||
cd ${src_dir}/faultMgr/c_program/beatSend
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->beatSend ----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#faultMgr dualsrv
|
|
||||||
cd ${src_dir}/faultMgr/c_program/dualsrv
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->dualsrv -----------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#performanceMgr logCollector
|
|
||||||
cd ${src_dir}/performanceMgr/c_program/logCollector
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------- performanceMgr-->logCollector ------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#performanceMgr cstaCollector
|
|
||||||
cd ${src_dir}/performanceMgr/c_program/cstaCollector
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------- performanceMgr-->cstaCollector -----------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#securityMgr omcCleaner
|
|
||||||
cd ${src_dir}/securityMgr/c_program/omcCleaner
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "----------- securityMgr-->omcCleaner ---------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#faultMgr raidAgent
|
|
||||||
cd ${src_dir}/faultMgr/c_program/raidAgent
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- faultMgr-->raidAgent ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
|
|
||||||
#omcMain omcMain
|
|
||||||
cd ${src_dir}/omcMain/c_program/omcMain
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
echo "--------------- omcMain-->omcMain ------------------"
|
|
||||||
echo "----------------------------------------------------"
|
|
||||||
#make clean
|
|
||||||
make installbin
|
|
||||||
@@ -12,6 +12,8 @@ int getOmcSysNo(int* sysNo);
|
|||||||
int getOmcStatus(int sysNo);
|
int getOmcStatus(int sysNo);
|
||||||
int omcSysNo=-1;
|
int omcSysNo=-1;
|
||||||
|
|
||||||
|
static char cstaproc_sqlstr[8192];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
return:
|
return:
|
||||||
TIMETO_NONE
|
TIMETO_NONE
|
||||||
@@ -1009,7 +1011,9 @@ int csta_send(csta_src *pcsta,csta_sys *psys)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
|
if(pcsta->sysTypeNo != 350){
|
||||||
csta_pdu.var[0].oid[b_oidlen++]=psys->id1;
|
csta_pdu.var[0].oid[b_oidlen++]=psys->id1;
|
||||||
|
}
|
||||||
if(pcsta->sysTypeNo==320 || pcsta->sysTypeNo==378|| pcsta->sysTypeNo==387)
|
if(pcsta->sysTypeNo==320 || pcsta->sysTypeNo==378|| pcsta->sysTypeNo==387)
|
||||||
{
|
{
|
||||||
//Entry OID
|
//Entry OID
|
||||||
@@ -1225,6 +1229,7 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
sprintf(tmpstr3," and %s=%d",pobj->id1_field,psys->pre_id1 + pobj->id1_offset);
|
sprintf(tmpstr3," and %s=%d",pobj->id1_field,psys->pre_id1 + pobj->id1_offset);
|
||||||
strcat(sumCondition,tmpstr3);
|
strcat(sumCondition,tmpstr3);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
sprintf(key_field,"%s,%s,",pobj->id1_field, pobj->id2_field);
|
sprintf(key_field,"%s,%s,",pobj->id1_field, pobj->id2_field);
|
||||||
@@ -1234,6 +1239,7 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
sprintf(tmpstr3," and %s=%d and %s=%d",pobj->id1_field,psys->pre_id1 + pobj->id1_offset,pobj->id2_field,psys->pre_id2 + pobj->id2_offset);
|
sprintf(tmpstr3," and %s=%d and %s=%d",pobj->id1_field,psys->pre_id1 + pobj->id1_offset,pobj->id2_field,psys->pre_id2 + pobj->id2_offset);
|
||||||
strcat(sumCondition,tmpstr3);
|
strcat(sumCondition,tmpstr3);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
//csta_log("single_message_flag:%d",pcsta->single_message_flag);
|
//csta_log("single_message_flag:%d",pcsta->single_message_flag);
|
||||||
@@ -1248,6 +1254,7 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
sprintf(tmpstr3," and UNIX_TIMESTAMP(csta_datetime) = %ld",d_timestamp);
|
sprintf(tmpstr3," and UNIX_TIMESTAMP(csta_datetime) = %ld",d_timestamp);
|
||||||
strcat(sumCondition,tmpstr3);
|
strcat(sumCondition,tmpstr3);
|
||||||
sprintf(sumsqlstr,"select %s from %s.%sData where %s",pobj->sql_sum,CSTA_DB,pobj->detail_table,sumCondition);
|
sprintf(sumsqlstr,"select %s from %s.%sData where %s",pobj->sql_sum,CSTA_DB,pobj->detail_table,sumCondition);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pobj->field_width == 2)
|
if(pobj->field_width == 2)
|
||||||
@@ -1260,6 +1267,8 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
if (pcsta->sysTypeNo != 362)
|
||||||
{
|
{
|
||||||
for(i=0;i<pobj->detail_field_count;i++)
|
for(i=0;i<pobj->detail_field_count;i++)
|
||||||
{
|
{
|
||||||
@@ -1267,6 +1276,37 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
sprintf(tmpstr3,"%u,",htonl(*pval4));
|
sprintf(tmpstr3,"%u,",htonl(*pval4));
|
||||||
strcat(sqlstr,tmpstr3);
|
strcat(sqlstr,tmpstr3);
|
||||||
}
|
}
|
||||||
|
}else{ //SPGW
|
||||||
|
for(i=0;i<pobj->detail_field_count-2;i++)
|
||||||
|
{
|
||||||
|
pval4=(DWORD*)(pvar->msg + 4 + i * 4);
|
||||||
|
sprintf(tmpstr3,"%u,",htonl(*pval4));
|
||||||
|
strcat(sqlstr,tmpstr3);
|
||||||
|
|
||||||
|
// printf("Field %d: %u\n", i + 1, htonl(*pval4));
|
||||||
|
|
||||||
|
} //ǰʮ<C7B0><CAAE><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
DWORD *uplink_tmp1, *uplink_tmp2;
|
||||||
|
DWORD *downlink_tmp1, *downlink_tmp2;
|
||||||
|
uint64_t uplink_total_volume;
|
||||||
|
uint64_t downlink_total_volume;
|
||||||
|
// <20><><EFBFBD><EFBFBD> uplink_total_volume
|
||||||
|
uplink_tmp1 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count - 2) * 4); //68
|
||||||
|
uplink_tmp2 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count -1) * 4); // 72
|
||||||
|
uplink_total_volume = ((uint64_t)ntohl(*uplink_tmp1) << 32) +ntohl(*uplink_tmp2);
|
||||||
|
|
||||||
|
sprintf(tmpstr3, "%llu,", uplink_total_volume);
|
||||||
|
strcat(sqlstr, tmpstr3);
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD> downlink_total_volume
|
||||||
|
downlink_tmp1 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count ) * 4); //76<37><36>ʼ
|
||||||
|
downlink_tmp2 = (DWORD*)(pvar->msg + 4 + (pobj->detail_field_count +1) * 4); //80<38><30>ʼ
|
||||||
|
downlink_total_volume = ((uint64_t)ntohl(*downlink_tmp1) << 32) +ntohl(*downlink_tmp2);
|
||||||
|
|
||||||
|
sprintf(tmpstr3, "%llu,", downlink_total_volume);
|
||||||
|
strcat(sqlstr, tmpstr3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp);
|
sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp);
|
||||||
strcat(sqlstr,tmpstr3);
|
strcat(sqlstr,tmpstr3);
|
||||||
@@ -1359,6 +1399,9 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
|
|
||||||
sprintf(sqlstr, "replace into %s.%sData (%s%s%scsta_datetime)VALUES(%s%s",
|
sprintf(sqlstr, "replace into %s.%sData (%s%s%scsta_datetime)VALUES(%s%s",
|
||||||
CSTA_DB,pobj->sum_table,sys_field,key_field,sumFieldList,sys_value,key_value);
|
CSTA_DB,pobj->sum_table,sys_field,key_field,sumFieldList,sys_value,key_value);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for(i=0;i<pobj->sum_field_count;i++)
|
for(i=0;i<pobj->sum_field_count;i++)
|
||||||
{
|
{
|
||||||
if(row[i] == NULL)
|
if(row[i] == NULL)
|
||||||
@@ -1378,6 +1421,55 @@ int csta_record(csta_src *pcsta,csta_sys *psys,snmp_pdu *pdu)
|
|||||||
sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp);
|
sprintf(tmpstr3,"FROM_UNIXTIME(%ld))",d_timestamp);
|
||||||
strcat(sqlstr,tmpstr3);
|
strcat(sqlstr,tmpstr3);
|
||||||
|
|
||||||
|
//only 320 mscSumData.check Signal Error
|
||||||
|
if (pcsta->sysTypeNo == 320 && strcmp(pobj->sum_table, "mscSumData") == 0) {
|
||||||
|
|
||||||
|
int sysNo = psys->sysid; // <20><> psys <20><>ȡ sysNo
|
||||||
|
int subSysNo = psys->subsysid;
|
||||||
|
|
||||||
|
unsigned int SignalErr = 0, Attempt = 0 ,KeyType =0;
|
||||||
|
sscanf(sqlstr, "%*[^,],%*[^,],%u,%*[^,],%u,%*[^,],%u", &KeyType,&Attempt, &SignalErr);
|
||||||
|
|
||||||
|
// MO-12 MT-13
|
||||||
|
if (Attempt > 0 && (KeyType == 12 || KeyType == 13)) {
|
||||||
|
double ratio = (double)SignalErr / Attempt;
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD> SignalErr / Attempt > 5%<25><><EFBFBD><EFBFBD><F2B4A5B7>澯
|
||||||
|
if (ratio > 5.0) {
|
||||||
|
time_t current_time = time(NULL);
|
||||||
|
char alarmIdStr[32];
|
||||||
|
sprintf(alarmIdStr, "%ld", (long)current_time); // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>Ϊ<EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>
|
||||||
|
|
||||||
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> alarmInfo <20><><EFBFBD><EFBFBD> SQL <20><><EFBFBD><EFBFBD>
|
||||||
|
sprintf(cstaproc_sqlstr, "insert into OMC_PUB.sysAlarmInfo(sysTypeNo,sysNo,subSysNo,compCode,alarmCode,alarmTime,clearTime,clearMode,alarmInfo,alarmId) "
|
||||||
|
"values(%d,%d,%d,%d,%d,CURRENT_TIMESTAMP,'0000-00-00 00:00:00',1,'Call failure rate exceeds 5%%');",
|
||||||
|
pcsta->sysTypeNo,sysNo,subSysNo, 0, 10, alarmIdStr);
|
||||||
|
|
||||||
|
// ִ<><D6B4> SQL <20><><EFBFBD><EFBFBD>
|
||||||
|
if (mysql_getnores(pubConn, cstaproc_sqlstr) != 0) {
|
||||||
|
csta_log("[SQL ERR]: %s", cstaproc_sqlstr);
|
||||||
|
} else {
|
||||||
|
csta_log("Inserted into alarmInfo: %s", cstaproc_sqlstr);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
//clear 5% alarm
|
||||||
|
sprintf(cstaproc_sqlstr, "update OMC_PUB.sysAlarmInfo set clearTime=CURRENT_TIMESTAMP,clearMode=0,clearBy='System' "
|
||||||
|
"where sysTypeNo=%d and sysNo=%d and subSysNo=%d and compCode=%d and alarmCode=%d and clearMode=1;",
|
||||||
|
pcsta->sysTypeNo, sysNo, subSysNo, 0, 10);
|
||||||
|
|
||||||
|
// ִ<><D6B4> SQL <20><><EFBFBD><EFBFBD>
|
||||||
|
if (mysql_getnores(pubConn, cstaproc_sqlstr) != 0) {
|
||||||
|
csta_log("[SQL ERR]: %s", cstaproc_sqlstr);
|
||||||
|
} else {
|
||||||
|
csta_log("Cleared alarmInfo: %s", cstaproc_sqlstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
csta_log("Attempt is zero, skipping SignalErr/Attempt calculation.");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if(mysql_getnores(pCstaConn,sqlstr) != 0)
|
if(mysql_getnores(pCstaConn,sqlstr) != 0)
|
||||||
{
|
{
|
||||||
if(mysql_errno(pCstaConn) == 1146)
|
if(mysql_errno(pCstaConn) == 1146)
|
||||||
|
|||||||
@@ -4,57 +4,57 @@
|
|||||||
* Date:
|
* Date:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "logCollector.h"
|
#include "logCollector.h"
|
||||||
#include "mysql.h"
|
#include "mysql.h"
|
||||||
|
|
||||||
/******************************************************/
|
/******************************************************/
|
||||||
/****** Heartbeat Parameter ******/
|
/****** Heartbeat Parameter ******/
|
||||||
/******************************************************/
|
/******************************************************/
|
||||||
DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,3};
|
DWORD PROC_HEARTBEAT_OID[12]={1,3,6,1,4,1,1373,2,4,10,3};
|
||||||
int PROC_HEARTBEAT_OIDLEN=11;
|
int PROC_HEARTBEAT_OIDLEN=11;
|
||||||
int sendHeartbeat();
|
int sendHeartbeat();
|
||||||
|
|
||||||
|
|
||||||
/***********Private Functions Declare***********************/
|
/***********Private Functions Declare***********************/
|
||||||
int logColl_initLogSrcArr();
|
int logColl_initLogSrcArr();
|
||||||
int logColl_initAttrDefnArr();
|
int logColl_initAttrDefnArr();
|
||||||
int logColl_getIp(int logSrcArrNo, char *dstIP);
|
int logColl_getIp(int logSrcArrNo, char *dstIP);
|
||||||
int logColl_mainProc();
|
int logColl_mainProc();
|
||||||
int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr);
|
int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr);
|
||||||
int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr);
|
int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr);
|
||||||
int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu);
|
int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu);
|
||||||
int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr);
|
int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr);
|
||||||
int logColl_mkVarArr(int logSrcArrNo, var_list * varArr);
|
int logColl_mkVarArr(int logSrcArrNo, var_list * varArr);
|
||||||
int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu);
|
int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu);
|
||||||
|
|
||||||
/***********Global Var Declare And Init*********************/
|
/***********Global Var Declare And Init*********************/
|
||||||
int logColl_timerCount = 0;
|
int logColl_timerCount = 0;
|
||||||
static MYSQL *dbConn;
|
static MYSQL *dbConn;
|
||||||
static char errorStatusDescArr[19][30] =
|
static char errorStatusDescArr[19][30] =
|
||||||
{ "NoError", "TooBig", "NoSuchName", "BadValue", "ReadOnly",
|
{ "NoError", "TooBig", "NoSuchName", "BadValue", "ReadOnly",
|
||||||
"GenErr", "NoAccess", "WrongType", "WrongLength", "WrongEncoding",
|
"GenErr", "NoAccess", "WrongType", "WrongLength", "WrongEncoding",
|
||||||
"wrongValue", "noCreation", "inconsistentValue", "resourceUnavailabe",
|
"wrongValue", "noCreation", "inconsistentValue", "resourceUnavailabe",
|
||||||
"commitFailed",
|
"commitFailed",
|
||||||
"UndoFailed", "AuthorizationError", "NoWritable", "inconsistentName"
|
"UndoFailed", "AuthorizationError", "NoWritable", "inconsistentName"
|
||||||
};
|
};
|
||||||
static int MaxErrorStatusNum = 19;
|
static int MaxErrorStatusNum = 19;
|
||||||
static unitLogSrc logSrcArr[MaxLogSrcNum];
|
static unitLogSrc logSrcArr[MaxLogSrcNum];
|
||||||
static unitAttrDefn attrDefnArr[MaxAttrDefnNum];
|
static unitAttrDefn attrDefnArr[MaxAttrDefnNum];
|
||||||
|
|
||||||
//log file pointer
|
//log file pointer
|
||||||
static FILE *logFp;
|
static FILE *logFp;
|
||||||
int old_day;
|
int old_day;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Function :logCollInit
|
*Function :logCollInit
|
||||||
*Input :Null
|
*Input :Null
|
||||||
*Output :Return 1: ok, 0:failed
|
*Output :Return 1: ok, 0:failed
|
||||||
*Descript :Must call this function at first.
|
*Descript :Must call this function at first.
|
||||||
*/
|
*/
|
||||||
int logCollectorInit()
|
int logCollectorInit()
|
||||||
{
|
{
|
||||||
long l_time;
|
long l_time;
|
||||||
struct tm *t;
|
struct tm *t;
|
||||||
|
|
||||||
@@ -87,29 +87,28 @@ int logCollectorInit()
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************
|
/*************************************************
|
||||||
Function: // sendHeartbeat
|
Function: // sendHeartbeat
|
||||||
Description: // Send process heartbeat to beatProc
|
Description: // Send process heartbeat to beatProc
|
||||||
Calls: // snmp_send
|
Calls: // snmp_send
|
||||||
Called By: // logCollectorTimer
|
Called By: // logCollectorTimer
|
||||||
Table Accessed: //
|
Table Accessed: //
|
||||||
Table Updated: //
|
Table Updated: //
|
||||||
Input: //
|
Input: //
|
||||||
Output: //
|
Output: //
|
||||||
Return: // 1:OK; 0:Fail
|
Return: // 1:OK; 0:Fail
|
||||||
Others: //
|
Others: //
|
||||||
*************************************************/
|
*************************************************/
|
||||||
int sendHeartbeat()
|
int sendHeartbeat()
|
||||||
{
|
{
|
||||||
snmp_pdu pdu;
|
snmp_pdu pdu;
|
||||||
snmp_addr addr;
|
snmp_addr addr;
|
||||||
char proc_name[16];
|
char proc_name[16];
|
||||||
|
|
||||||
memset(proc_name,0,16);
|
memset(proc_name,0,16);
|
||||||
sprintf(proc_name,"logCollector");
|
sprintf(proc_name,"logCollector");
|
||||||
|
|
||||||
//pdu
|
//pdu
|
||||||
memset(&pdu,0,sizeof(snmp_pdu));
|
memset(&pdu,0,sizeof(snmp_pdu));
|
||||||
pdu.pdu_type=7;
|
pdu.pdu_type=7;
|
||||||
@@ -140,17 +139,17 @@ int sendHeartbeat()
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Function :logCollTimer
|
*Function :logCollTimer
|
||||||
*Input :Null
|
*Input :Null
|
||||||
*Output :Return 1: ok, 0:failed
|
*Output :Return 1: ok, 0:failed
|
||||||
*Descript :call this function ever 100ms
|
*Descript :call this function ever 100ms
|
||||||
*/
|
*/
|
||||||
unsigned long heartbeat_timeout=0;
|
unsigned long heartbeat_timeout=0;
|
||||||
int logCollectorTimer()
|
int logCollectorTimer()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
if(time(NULL) - heartbeat_timeout > 5)
|
if(time(NULL) - heartbeat_timeout > 5)
|
||||||
@@ -213,17 +212,17 @@ int logCollectorTimer()
|
|||||||
} else {
|
} else {
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Function :logColl_initLogSrcArr
|
*Function :logColl_initLogSrcArr
|
||||||
*Input :Null
|
*Input :Null
|
||||||
*Output :Return 1: ok, 0:failed
|
*Output :Return 1: ok, 0:failed
|
||||||
*Descript :
|
*Descript :
|
||||||
*/
|
*/
|
||||||
int logColl_initLogSrcArr()
|
int logColl_initLogSrcArr()
|
||||||
{
|
{
|
||||||
char confQuery[400] = "\0";
|
char confQuery[400] = "\0";
|
||||||
MYSQL_RES *confResult = NULL;
|
MYSQL_RES *confResult = NULL;
|
||||||
MYSQL_ROW confRow;
|
MYSQL_ROW confRow;
|
||||||
@@ -304,16 +303,17 @@ int logColl_initLogSrcArr()
|
|||||||
}
|
}
|
||||||
mysql_free_result(confResult);
|
mysql_free_result(confResult);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*Function :logColl_initAttrDefnArr
|
||||||
|
*Input :Null
|
||||||
|
*Output :Return 1: ok, 0:failed
|
||||||
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_initAttrDefnArr()
|
||||||
|
{
|
||||||
|
|
||||||
/*
|
|
||||||
*Function :logColl_initAttrDefnArr
|
|
||||||
*Input :Null
|
|
||||||
*Output :Return 1: ok, 0:failed
|
|
||||||
*Descript :
|
|
||||||
*/
|
|
||||||
int logColl_initAttrDefnArr()
|
|
||||||
{
|
|
||||||
char confQuery[400] = "\0";
|
char confQuery[400] = "\0";
|
||||||
MYSQL_RES *confResult = NULL;
|
MYSQL_RES *confResult = NULL;
|
||||||
MYSQL_ROW confRow;
|
MYSQL_ROW confRow;
|
||||||
@@ -325,14 +325,13 @@ int logColl_initAttrDefnArr()
|
|||||||
"level_6,level_7,level_8,level_9,level_10";
|
"level_6,level_7,level_8,level_9,level_10";
|
||||||
//init if first
|
//init if first
|
||||||
for (i = 0; i < MaxAttrDefnNum; i++) {
|
for (i = 0; i < MaxAttrDefnNum; i++) {
|
||||||
attrDefnArr[arrayNo].sysTypeNo = 0;
|
attrDefnArr[i].sysTypeNo = 0;
|
||||||
attrDefnArr[arrayNo].fieldObjIdStr[0] = 0;
|
attrDefnArr[i].fieldObjIdStr[0] = 0;
|
||||||
attrDefnArr[arrayNo].fieldName[0] = 0;
|
attrDefnArr[i].fieldName[0] = 0;
|
||||||
attrDefnArr[arrayNo].valueType = 0;
|
attrDefnArr[i].valueType = 0;
|
||||||
attrDefnArr[arrayNo].valueLen = 0;
|
attrDefnArr[i].valueLen = 0;
|
||||||
//attrDefnArr[arrayNo].initValue;
|
//attrDefnArr[arrayNo].initValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//load subscriber data into array one bye one sysTypeNo
|
//load subscriber data into array one bye one sysTypeNo
|
||||||
for (logSrcArrNo = 0; logSrcArrNo < MaxLogSrcNum; logSrcArrNo++) {
|
for (logSrcArrNo = 0; logSrcArrNo < MaxLogSrcNum; logSrcArrNo++) {
|
||||||
//if (logSrcArr[logSrcArrNo].isEnable <= 0) {
|
//if (logSrcArr[logSrcArrNo].isEnable <= 0) {
|
||||||
@@ -346,6 +345,7 @@ int logColl_initAttrDefnArr()
|
|||||||
levelSelect, logSrcArr[logSrcArrNo].sysTypeNo,
|
levelSelect, logSrcArr[logSrcArrNo].sysTypeNo,
|
||||||
logSrcArr[logSrcArrNo].dataTypeNo, queryOrderBy);
|
logSrcArr[logSrcArrNo].dataTypeNo, queryOrderBy);
|
||||||
confResult = (MYSQL_RES *) mysql_getres(dbConn, confQuery);
|
confResult = (MYSQL_RES *) mysql_getres(dbConn, confQuery);
|
||||||
|
|
||||||
if (confResult == NULL) {
|
if (confResult == NULL) {
|
||||||
omcLog(logFp, " Database may be stopped,Please check!");
|
omcLog(logFp, " Database may be stopped,Please check!");
|
||||||
return (0);
|
return (0);
|
||||||
@@ -380,17 +380,19 @@ int logColl_initAttrDefnArr()
|
|||||||
}
|
}
|
||||||
mysql_free_result(confResult);
|
mysql_free_result(confResult);
|
||||||
}
|
}
|
||||||
return (1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
return (1);
|
||||||
*Function :logColl_getIp
|
}
|
||||||
*Input :Null
|
|
||||||
*Output :Return 1: ok, 0:failed
|
/*
|
||||||
*Descript :
|
*Function :logColl_getIp
|
||||||
*/
|
*Input :Null
|
||||||
int logColl_getIp(int logSrcArrNo, char *dstIP)
|
*Output :Return 1: ok, 0:failed
|
||||||
{
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_getIp(int logSrcArrNo, char *dstIP)
|
||||||
|
{
|
||||||
|
|
||||||
MYSQL_RES *tmpResult;
|
MYSQL_RES *tmpResult;
|
||||||
MYSQL_ROW tmpRow;
|
MYSQL_ROW tmpRow;
|
||||||
char tmpQuery[400] = "\0";
|
char tmpQuery[400] = "\0";
|
||||||
@@ -409,9 +411,9 @@ int logColl_getIp(int logSrcArrNo, char *dstIP)
|
|||||||
}
|
}
|
||||||
if ((tmpRow = mysql_fetch_row(tmpResult)) != NULL) {
|
if ((tmpRow = mysql_fetch_row(tmpResult)) != NULL) {
|
||||||
strcpy(dstIP, tmpRow[0]);
|
strcpy(dstIP, tmpRow[0]);
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
omcLog(logFp, " dstIP=%s", dstIP);
|
omcLog(logFp, " dstIP=%s", dstIP);
|
||||||
#endif
|
#endif
|
||||||
mysql_free_result(tmpResult);
|
mysql_free_result(tmpResult);
|
||||||
return (1);
|
return (1);
|
||||||
} else {
|
} else {
|
||||||
@@ -419,33 +421,38 @@ int logColl_getIp(int logSrcArrNo, char *dstIP)
|
|||||||
logSrcArr[logSrcArrNo].sysTypeNo,
|
logSrcArr[logSrcArrNo].sysTypeNo,
|
||||||
logSrcArr[logSrcArrNo].sysNo,
|
logSrcArr[logSrcArrNo].sysNo,
|
||||||
logSrcArr[logSrcArrNo].subSysNo);
|
logSrcArr[logSrcArrNo].subSysNo);
|
||||||
|
mysql_free_result(tmpResult); // 正确释放结果集
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Function :logCollProc
|
*Function :logCollProc
|
||||||
*Input :Null
|
*Input :Null
|
||||||
*Output :Return 1: ok, 0:failed
|
*Output :Return 1: ok, 0:failed
|
||||||
*Descript :
|
*Descript :
|
||||||
*/
|
*/
|
||||||
int logColl_mainProc()
|
int logColl_mainProc()
|
||||||
{
|
{
|
||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
int idleLogSrcCount = 0;
|
int idleLogSrcCount = 0;
|
||||||
snmp_pdu tmpPdu;
|
snmp_pdu tmpPdu;
|
||||||
//var_list tmpVarArr[MaxVarNum];
|
//var_list tmpVarArr[MaxVarNum];
|
||||||
snmp_addr tmpAddr;
|
snmp_addr tmpAddr;
|
||||||
|
// init
|
||||||
|
memset(&tmpPdu, 0, sizeof(snmp_pdu));
|
||||||
|
memset(&tmpAddr, 0, sizeof(snmp_addr));
|
||||||
|
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
//system("clear");
|
//system("clear");
|
||||||
clrscr();
|
clrscr();
|
||||||
printf
|
printf
|
||||||
("\nId sysId systemIp log/msgStat bgnNo/logNo/endNo sleepCount/sleepTime Desc");
|
("\nId sysId systemIp log/msgStat bgnNo/logNo/endNo sleepCount/sleepTime Desc");
|
||||||
#endif
|
#endif
|
||||||
for (i = 0; i < MaxLogSrcNum; i++) {
|
for (i = 0; i < MaxLogSrcNum; i++) {
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
printf("\n%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", i,
|
printf("\n%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", i,
|
||||||
logSrcArr[i].sysTypeNo, logSrcArr[i].sysNo,
|
logSrcArr[i].sysTypeNo, logSrcArr[i].sysNo,
|
||||||
logSrcArr[i].subSysNo, logSrcArr[i].dstIP,
|
logSrcArr[i].subSysNo, logSrcArr[i].dstIP,
|
||||||
@@ -453,7 +460,7 @@ int logColl_mainProc()
|
|||||||
logSrcArr[i].bgnNo, logSrcArr[i].logNo, logSrcArr[i].endNo,
|
logSrcArr[i].bgnNo, logSrcArr[i].logNo, logSrcArr[i].endNo,
|
||||||
logSrcArr[i].sleepCount, logSrcArr[i].sleepTime,
|
logSrcArr[i].sleepCount, logSrcArr[i].sleepTime,
|
||||||
logSrcArr[i].desc);
|
logSrcArr[i].desc);
|
||||||
#endif
|
#endif
|
||||||
if (logSrcArr[i].isEnable < 1) {
|
if (logSrcArr[i].isEnable < 1) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -471,7 +478,7 @@ int logColl_mainProc()
|
|||||||
{
|
{
|
||||||
//not receive message or received invaild message
|
//not receive message or received invaild message
|
||||||
//write log
|
//write log
|
||||||
/*
|
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
omcLog(logFp,"%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", i,
|
omcLog(logFp,"%d %d-%d-%d %s %d/%d \t %lu/%lu/%lu %d/%d \t%s ", i,
|
||||||
logSrcArr[i].sysTypeNo,logSrcArr[i].sysNo,logSrcArr[i].subSysNo,
|
logSrcArr[i].sysTypeNo,logSrcArr[i].sysNo,logSrcArr[i].subSysNo,
|
||||||
@@ -481,7 +488,7 @@ int logColl_mainProc()
|
|||||||
logSrcArr[i].sleepCount,logSrcArr[i].sleepTime,
|
logSrcArr[i].sleepCount,logSrcArr[i].sleepTime,
|
||||||
logSrcArr[i].desc);
|
logSrcArr[i].desc);
|
||||||
#endif
|
#endif
|
||||||
*/
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -521,12 +528,12 @@ int logColl_mainProc()
|
|||||||
sprintf(logSrcArr[i].desc, "No new log");
|
sprintf(logSrcArr[i].desc, "No new log");
|
||||||
logSrcArr[i].logState = nWaitLog;
|
logSrcArr[i].logState = nWaitLog;
|
||||||
logSrcArr[i].msgState = nIdle;
|
logSrcArr[i].msgState = nIdle;
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
omcLog(logFp, "No new log %s %lu/%lu/%lu \t%s ",
|
omcLog(logFp, "No new log %s %lu/%lu/%lu \t%s ",
|
||||||
logSrcArr[i].dstIP, logSrcArr[i].bgnNo,
|
logSrcArr[i].dstIP, logSrcArr[i].bgnNo,
|
||||||
logSrcArr[i].logNo, logSrcArr[i].endNo,
|
logSrcArr[i].logNo, logSrcArr[i].endNo,
|
||||||
logSrcArr[i].dataStoreTable);
|
logSrcArr[i].dataStoreTable);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -548,12 +555,12 @@ int logColl_mainProc()
|
|||||||
sprintf(logSrcArr[i].desc, "No new log");
|
sprintf(logSrcArr[i].desc, "No new log");
|
||||||
logSrcArr[i].logState = nWaitLog;
|
logSrcArr[i].logState = nWaitLog;
|
||||||
logSrcArr[i].msgState = nIdle;
|
logSrcArr[i].msgState = nIdle;
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
omcLog(logFp, "No new log %s %lu/%lu/%lu \t%s ",
|
omcLog(logFp, "No new log %s %lu/%lu/%lu \t%s ",
|
||||||
logSrcArr[i].dstIP, logSrcArr[i].bgnNo,
|
logSrcArr[i].dstIP, logSrcArr[i].bgnNo,
|
||||||
logSrcArr[i].logNo, logSrcArr[i].endNo,
|
logSrcArr[i].logNo, logSrcArr[i].endNo,
|
||||||
logSrcArr[i].dataStoreTable);
|
logSrcArr[i].dataStoreTable);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -607,9 +614,9 @@ int logColl_mainProc()
|
|||||||
break;
|
break;
|
||||||
} //end of switch()
|
} //end of switch()
|
||||||
} //end of for(..)
|
} //end of for(..)
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
printf("\n");
|
printf("\n");
|
||||||
#endif
|
#endif
|
||||||
if (idleLogSrcCount == MaxLogSrcNum) {
|
if (idleLogSrcCount == MaxLogSrcNum) {
|
||||||
//clear the msg buffer
|
//clear the msg buffer
|
||||||
snmp_receive(&tmpPdu, &tmpAddr);
|
snmp_receive(&tmpPdu, &tmpAddr);
|
||||||
@@ -617,17 +624,18 @@ int logColl_mainProc()
|
|||||||
} else {
|
} else {
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
*Function :logColl_sendMsg
|
*Function :logColl_sendMsg
|
||||||
*Input :Null
|
*Input :Null
|
||||||
*Output :Return 1: ok, 0:failed
|
*Output :Return 1: ok, 0:failed
|
||||||
*Descript :
|
*Descript :
|
||||||
*/
|
*/
|
||||||
int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (logColl_mkAddr(logSrcArrNo, addr) < 1) {
|
if (logColl_mkAddr(logSrcArrNo, addr) < 1) {
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@@ -635,11 +643,15 @@ int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
|||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
if (snmp_send(pdu, addr) > 0) {
|
if (snmp_send(pdu, addr) > 0) {
|
||||||
|
|
||||||
sprintf(logSrcArr[logSrcArrNo].desc, "send snmp message ok!");
|
sprintf(logSrcArr[logSrcArrNo].desc, "send snmp message ok!");
|
||||||
omcLog(logFp, "Send request snmp package wait for response, %s",logSrcArr[logSrcArrNo].dataStoreTable);
|
omcLog(logFp, "Send request snmp package wait for response, %s",logSrcArr[logSrcArrNo].dataStoreTable);
|
||||||
logSrcArr[logSrcArrNo].msgState = nWaitResponse;
|
logSrcArr[logSrcArrNo].msgState = nWaitResponse;
|
||||||
return (1);
|
return (1);
|
||||||
} else {
|
} else {
|
||||||
|
// printf("failed to send snmp msg,remote ip=%x,remote port=%d",
|
||||||
|
// addr->remote_ip, addr->remote_port);
|
||||||
|
|
||||||
//write log
|
//write log
|
||||||
omcLog(logFp,
|
omcLog(logFp,
|
||||||
"failed to send snmp msg,remote ip=%x,remote port=%d",
|
"failed to send snmp msg,remote ip=%x,remote port=%d",
|
||||||
@@ -651,21 +663,25 @@ int logColl_sendMsg(int logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
|||||||
logSrcArr[logSrcArrNo].msgState = nIdle;
|
logSrcArr[logSrcArrNo].msgState = nIdle;
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*Function :logColl_recvMsg
|
||||||
|
*Input :Null
|
||||||
|
*Output :Return 1: ok, 0:failed
|
||||||
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
||||||
|
{
|
||||||
|
|
||||||
/*
|
|
||||||
*Function :logColl_recvMsg
|
|
||||||
*Input :Null
|
|
||||||
*Output :Return 1: ok, 0:failed
|
|
||||||
*Descript :
|
|
||||||
*/
|
|
||||||
int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
|
||||||
{
|
|
||||||
int i = *logSrcArrNo;
|
int i = *logSrcArrNo;
|
||||||
int respProcReturn = 0;
|
int respProcReturn = 0;
|
||||||
|
int j;
|
||||||
|
memset(pdu, 0, sizeof(snmp_pdu));
|
||||||
logColl_mkAddr(i, addr);
|
logColl_mkAddr(i, addr);
|
||||||
|
|
||||||
if (snmp_receive(pdu, addr) > 0) {
|
if (snmp_receive(pdu, addr) > 0) {
|
||||||
|
|
||||||
//received msg ok
|
//received msg ok
|
||||||
respProcReturn = logColl_procResp(logSrcArrNo, pdu); //here maybe changed *logSrcArrNo's value
|
respProcReturn = logColl_procResp(logSrcArrNo, pdu); //here maybe changed *logSrcArrNo's value
|
||||||
i = *logSrcArrNo;
|
i = *logSrcArrNo;
|
||||||
@@ -698,7 +714,7 @@ int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
//not received msg
|
//not received msg
|
||||||
|
//printf("error:table:%s,systypeNo:%d\n",logSrcArr[i].dataStoreTable,logSrcArr[i].sysTypeNo);
|
||||||
sprintf(logSrcArr[i].desc, "Receive snmp message failed!");
|
sprintf(logSrcArr[i].desc, "Receive snmp message failed!");
|
||||||
logSrcArr[i].waitTimeCount++;
|
logSrcArr[i].waitTimeCount++;
|
||||||
|
|
||||||
@@ -716,16 +732,17 @@ int logColl_recvMsg(int *logSrcArrNo, snmp_pdu * pdu, snmp_addr * addr)
|
|||||||
} //end of if(logSrcArr[i].waitTimeCount == 20)
|
} //end of if(logSrcArr[i].waitTimeCount == 20)
|
||||||
} //end of not received msg
|
} //end of not received msg
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*Function :logColl_mkPdu
|
||||||
|
*Input :Null
|
||||||
|
*Output :Return 1: ok, 0:failed
|
||||||
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu)
|
||||||
|
{
|
||||||
|
|
||||||
/*
|
|
||||||
*Function :logColl_mkPdu
|
|
||||||
*Input :Null
|
|
||||||
*Output :Return 1: ok, 0:failed
|
|
||||||
*Descript :
|
|
||||||
*/
|
|
||||||
int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu)
|
|
||||||
{
|
|
||||||
if (logColl_mkVarArr(logSrcArrNo, pdu->var) < 1) {
|
if (logColl_mkVarArr(logSrcArrNo, pdu->var) < 1) {
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
@@ -736,17 +753,19 @@ int logColl_mkPdu(int logSrcArrNo, snmp_pdu * pdu)
|
|||||||
pdu->error_status = 0x0; //0:no error 1:too big 2:nosuchname 3:badvalue 4:readonly 5:generr
|
pdu->error_status = 0x0; //0:no error 1:too big 2:nosuchname 3:badvalue 4:readonly 5:generr
|
||||||
pdu->error_index = 0x0;
|
pdu->error_index = 0x0;
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*Function :logColl_mkAddr
|
||||||
|
*Input :Null
|
||||||
|
*Output :Return 1: ok, 0:failed
|
||||||
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
*Function :logColl_mkAddr
|
|
||||||
*Input :Null
|
|
||||||
*Output :Return 1: ok, 0:failed
|
|
||||||
*Descript :
|
|
||||||
*/
|
|
||||||
int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr)
|
|
||||||
{
|
|
||||||
if (strlen(logSrcArr[logSrcArrNo].dstIP) <= 0) {
|
if (strlen(logSrcArr[logSrcArrNo].dstIP) <= 0) {
|
||||||
omcLog(logFp, "Initing snmp_addr error: Cannot get ip");
|
omcLog(logFp, "Initing snmp_addr error: Cannot get ip");
|
||||||
logSrcArr[logSrcArrNo].logState = nWaitLog;
|
logSrcArr[logSrcArrNo].logState = nWaitLog;
|
||||||
@@ -758,16 +777,17 @@ int logColl_mkAddr(int logSrcArrNo, snmp_addr * addr)
|
|||||||
addr->remote_port = logSrcArr[logSrcArrNo].dstPort;
|
addr->remote_port = logSrcArr[logSrcArrNo].dstPort;
|
||||||
addr->broadcast = 0;
|
addr->broadcast = 0;
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
*Function :logColl_mkVarArr
|
||||||
|
*Input :int logSrcArrNo,var_list *varArr
|
||||||
|
*Output :Return 1: ok, 0:failed
|
||||||
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_mkVarArr(int logSrcArrNo, var_list * varArr)
|
||||||
|
{
|
||||||
|
|
||||||
/*
|
|
||||||
*Function :logColl_mkVarArr
|
|
||||||
*Input :int logSrcArrNo,var_list *varArr
|
|
||||||
*Output :Return 1: ok, 0:failed
|
|
||||||
*Descript :
|
|
||||||
*/
|
|
||||||
int logColl_mkVarArr(int logSrcArrNo, var_list * varArr)
|
|
||||||
{
|
|
||||||
var_list *unitVar;
|
var_list *unitVar;
|
||||||
int i, varCount = 0;
|
int i, varCount = 0;
|
||||||
int totalMsgLen = 0;
|
int totalMsgLen = 0;
|
||||||
@@ -822,22 +842,24 @@ int logColl_mkVarArr(int logSrcArrNo, var_list * varArr)
|
|||||||
logSrcArr[logSrcArrNo].totalVarNum = varCount;
|
logSrcArr[logSrcArrNo].totalVarNum = varCount;
|
||||||
logSrcArr[logSrcArrNo].varNum = varCount + 1;
|
logSrcArr[logSrcArrNo].varNum = varCount + 1;
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*Function :logColl_procResp
|
||||||
|
*Input :Null
|
||||||
|
*Output : 1 : ok,
|
||||||
|
* : 0 : invailed message(unmatched requestId,objectId,pduType or message format error)
|
||||||
|
* :-1 : error message(varType or errorState > 0)
|
||||||
|
*Descript :
|
||||||
|
*/
|
||||||
|
int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
*Function :logColl_procResp
|
|
||||||
*Input :Null
|
|
||||||
*Output : 1 : ok,
|
|
||||||
* : 0 : invailed message(unmatched requestId,objectId,pduType or message format error)
|
|
||||||
* :-1 : error message(varType or errorState > 0)
|
|
||||||
*Descript :
|
|
||||||
*/
|
|
||||||
int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|
||||||
{
|
|
||||||
int i, j, logSrcArrNo, tlvCount;
|
int i, j, logSrcArrNo, tlvCount;
|
||||||
char tmpQuery[3500] = "\0";
|
char tmpQuery[5000] = "\0";
|
||||||
char tmpValue[3000] = "\0";
|
char tmpValue[5000] = "\0";
|
||||||
int tlvLen = 0;
|
int tlvLen = 0;
|
||||||
int tlvIntValue = 0;
|
int tlvIntValue = 0;
|
||||||
char tlvAscValue[512] = "\0";
|
char tlvAscValue[512] = "\0";
|
||||||
@@ -853,9 +875,9 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
}
|
}
|
||||||
logSrcArrNo = *oldlogSrcArrNo;
|
logSrcArrNo = *oldlogSrcArrNo;
|
||||||
|
|
||||||
#if logColl_DEBUG
|
#if logColl_DEBUG
|
||||||
// omcLog(logFp," ----- Processing logSrcArr[%d]'s response message ",logSrcArrNo);
|
omcLog(logFp," ----- Processing logSrcArr[%d]'s response message ",logSrcArrNo);
|
||||||
#endif
|
#endif
|
||||||
//check pdu_type
|
//check pdu_type
|
||||||
if (pdu->pdu_type != nResp) {
|
if (pdu->pdu_type != nResp) {
|
||||||
sprintf(logSrcArr[logSrcArrNo].desc, "Error pdu type:%d(!=Resp%d)",
|
sprintf(logSrcArr[logSrcArrNo].desc, "Error pdu type:%d(!=Resp%d)",
|
||||||
@@ -884,6 +906,7 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
for (i = 0; i < pdu->var_num; i++) {
|
for (i = 0; i < pdu->var_num; i++) {
|
||||||
int errStr;
|
int errStr;
|
||||||
|
|
||||||
@@ -980,6 +1003,8 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
} else { /*get data and update to database */
|
} else { /*get data and update to database */
|
||||||
|
|
||||||
|
//printf("\nstart replace:logColl_procResp1 ");
|
||||||
char tmpUnitValue[1024] = "\0";
|
char tmpUnitValue[1024] = "\0";
|
||||||
char tmpSetStr[1024] = "\0";
|
char tmpSetStr[1024] = "\0";
|
||||||
int attrDefnBgn = logSrcArr[logSrcArrNo].attrDefnArrOffset;
|
int attrDefnBgn = logSrcArr[logSrcArrNo].attrDefnArrOffset;
|
||||||
@@ -996,6 +1021,8 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
AsnDecode(pdu->var[i].msg, pdu->var[i].msglen, 1024, &errStr,
|
AsnDecode(pdu->var[i].msg, pdu->var[i].msglen, 1024, &errStr,
|
||||||
&asnBuffer);
|
&asnBuffer);
|
||||||
|
|
||||||
|
//printf("\nstart replace:logColl_procResp2 ");
|
||||||
|
|
||||||
//get value form asnbuffer and make SQL string
|
//get value form asnbuffer and make SQL string
|
||||||
for (tlvCount = attrDefnBgn; tlvCount < attrDefnEnd;
|
for (tlvCount = attrDefnBgn; tlvCount < attrDefnEnd;
|
||||||
tlvCount++) {
|
tlvCount++) {
|
||||||
@@ -1033,11 +1060,14 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
// printf("\nstart replace:logColl_procResp3 ");
|
||||||
|
|
||||||
sprintf(logSrcArr[logSrcArrNo].desc,
|
sprintf(logSrcArr[logSrcArrNo].desc,
|
||||||
" Invailed vartype(attrDefnArr[%d].valueType=%d)",
|
" Invailed vartype(attrDefnArr[%d].valueType=%d)",
|
||||||
tlvCount, attrDefnArr[tlvCount].valueType);
|
tlvCount, attrDefnArr[tlvCount].valueType);
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tlvLen >= 0) {
|
if (tlvLen >= 0) {
|
||||||
if (varCount == 0) {
|
if (varCount == 0) {
|
||||||
strcat(tmpValue, tmpSetStr);
|
strcat(tmpValue, tmpSetStr);
|
||||||
@@ -1046,12 +1076,20 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
strcat(tmpValue, tmpSetStr);
|
strcat(tmpValue, tmpSetStr);
|
||||||
}
|
}
|
||||||
varCount++;
|
varCount++;
|
||||||
|
omcLog(logFp, "tmpSetStr: %s\n", tmpSetStr);
|
||||||
|
omcLog(logFp, "tmpValue: %s\n", tmpValue);
|
||||||
|
// printf("tmpSetStr: %s\n", tmpSetStr);
|
||||||
|
// printf("tmpValue: %s\n", tmpValue);
|
||||||
} else {
|
} else {
|
||||||
omcLog(logFp, " can not get tlvTag[%s]'s tlvValue",
|
omcLog(logFp, " can not get tlvTag[%s]'s tlvValue",
|
||||||
attrDefnArr[tlvCount].fieldObjIdStr);
|
attrDefnArr[tlvCount].fieldObjIdStr);
|
||||||
return (0);
|
//return (0);
|
||||||
}
|
}
|
||||||
} //end of for(..)
|
} //end of for(..)
|
||||||
|
//printf("\nstart replace:logColl_procResp5 ");
|
||||||
|
// printf("dataStoreTable length: %s\n", logSrcArr[logSrcArrNo].dataStoreTable);
|
||||||
|
|
||||||
|
omcLog(logFp, "Make Var,logNo=%ld,%s",logSrcArr[logSrcArrNo].logNo,logSrcArr[logSrcArrNo].dataStoreTable);
|
||||||
|
|
||||||
//Query SQL
|
//Query SQL
|
||||||
if (strlen(logSrcArr[logSrcArrNo].dataStoreTable) > 1
|
if (strlen(logSrcArr[logSrcArrNo].dataStoreTable) > 1
|
||||||
@@ -1061,22 +1099,20 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
tmpQuery[0] = 0;
|
tmpQuery[0] = 0;
|
||||||
sprintf(tmpQuery, "REPLACE %s SET %s",
|
sprintf(tmpQuery, "REPLACE %s SET %s",
|
||||||
logSrcArr[logSrcArrNo].dataStoreTable, tmpValue);
|
logSrcArr[logSrcArrNo].dataStoreTable, tmpValue);
|
||||||
|
|
||||||
|
omcLog(logFp, "Replace log into %s\n",tmpQuery);
|
||||||
omcLog(logFp, "Replace log into %s",logSrcArr[logSrcArrNo].dataStoreTable);
|
omcLog(logFp, "Replace log into %s",logSrcArr[logSrcArrNo].dataStoreTable);
|
||||||
result=mysql_getnores(dbConn, tmpQuery);
|
result=mysql_getnores(dbConn, tmpQuery);
|
||||||
|
|
||||||
errorNo = mysql_errno(dbConn);
|
errorNo = mysql_errno(dbConn);
|
||||||
if (errorNo > 0)
|
if (errorNo > 0)
|
||||||
{
|
{
|
||||||
omcLog(logFp, "\n Error number:%d", mysql_errno(dbConn));
|
|
||||||
omcLog(logFp, "\n Description: %s", mysql_error(dbConn));
|
|
||||||
if(errorNo == 2006)
|
if(errorNo == 2006)
|
||||||
{
|
{
|
||||||
mysql_close(dbConn);
|
mysql_close(dbConn);
|
||||||
omcLog(logFp, "Mysql has gone away");
|
|
||||||
dbConn = mysql_conn(HOSTNAME, PUB_DB);
|
dbConn = mysql_conn(HOSTNAME, PUB_DB);
|
||||||
if (dbConn == NULL) {
|
|
||||||
omcLog(logFp, " Fail to reconnect");
|
|
||||||
}
|
|
||||||
result=0;
|
result=0;
|
||||||
result=mysql_getnores(dbConn, tmpQuery);
|
result=mysql_getnores(dbConn, tmpQuery);
|
||||||
if(result == -1)
|
if(result == -1)
|
||||||
@@ -1098,5 +1134,6 @@ int logColl_procResp(int *oldlogSrcArrNo, snmp_pdu * pdu)
|
|||||||
} //end of for(i = 0; i < pdu->var_num; i++)
|
} //end of for(i = 0; i < pdu->var_num; i++)
|
||||||
|
|
||||||
return (1);
|
return (1);
|
||||||
} //end of function
|
} //end of function
|
||||||
|
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define MaxLogSrcNum 16 //max number of command can be execute as same time
|
#define MaxLogSrcNum 16 //max number of command can be execute as same time
|
||||||
#define MaxAttrDefnNum 256
|
#define MaxAttrDefnNum 512
|
||||||
#define MaxOidLen 20 //max number of object ID
|
#define MaxOidLen 20 //max number of object ID
|
||||||
#define MaxSubOidLen 10 //max number of sub object ID
|
#define MaxSubOidLen 10 //max number of sub object ID
|
||||||
#define MaxVarNum 50 //max number of var in one pdu
|
#define MaxVarNum 50 //max number of var in one pdu
|
||||||
|
|||||||
Reference in New Issue
Block a user