diff --git a/code/trunk/README b/code/trunk/README index e3e33e3..7eeaeda 100644 --- a/code/trunk/README +++ b/code/trunk/README @@ -1,3 +1,31 @@ +========= +编译说明: + 在Rocky 4.2上编译 + 执行: sh build.sh + 将在当前的目录下生成安装包: + sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz + +======== +安装说明: + 1)安装,以root的用户执行安装命令: + pkgadd sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz + 如果之前已经安装,则可先卸载旧的然后再安装,或者通过更新方式安装 + 卸载命令: pkgrm sys_nicmonitor + 更新方式安装命令: + pkgadd -u sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz + + 2)查看安装是否成功 + pkginfo -i|grep sys_nicmonitor + 或者 + 查看d5000用户的目录下lib/libnic_shm.so和bin/sys_nicmonitor的日期是否 + +======== +版本说明: +--V1.8.1-- + 2013-06-05 + 1)修改BUG:ping_gw函数当PING失败时没有尝试对余下的GW进行PING操作 + 2)增加环境变量SYS_NIC_DEBUG用于调试流量抖动问题。 + --V1.8 -- 2013-05-27 对系统高磁盘IO情况下,应用如果进行IO将可能会被阻塞。本版本为此作出调整。 @@ -19,6 +47,8 @@ cs-fes1上编译测试OK。 3) record_log函数为日志函数,每次写一次,都重新打开一次文件。 修改为线程模式,当记录日志时,不会被磁盘IO阻塞。 +4) 安装目录为d5000用户的HOME目录下的lib和bin目录 + ---- diff --git a/code/trunk/bin/README b/code/trunk/bin/README index 56665f3..c5e16e7 100644 --- a/code/trunk/bin/README +++ b/code/trunk/bin/README @@ -6,11 +6,11 @@ sh ./install.sh 或者采用如下步骤: 1)安装,以root的用户执行安装命令: - pkgadd sys_nicmonitor#1.8-x86_64-Linx-Rocky4.2.pkg.tar.gz + pkgadd sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz 如果之前已经安装,则可先卸载旧的然后再安装,或者通过更新方式安装 卸载命令: pkgrm sys_nicmonitor 更新方式安装命令: - pkgadd -u sys_nicmonitor#1.8-x86_64-Linx-Rocky4.2.pkg.tar.gz + pkgadd -u sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz 2)查看安装是否成功 pkginfo -i|grep sys_nicmonitor diff --git a/code/trunk/bin/install.sh b/code/trunk/bin/install.sh index 7d2c2ac..a787488 100755 --- a/code/trunk/bin/install.sh +++ b/code/trunk/bin/install.sh @@ -1,4 +1,5 @@ #!/bin/bash pkgrm sys_nicmonitor -pkgadd sys_nicmonitor#1.8-x86_64-Linx-Rocky4.2.pkg.tar.gz +pkgadd sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz +pkginfo -i | grep nic diff --git a/code/trunk/bin/sys_nicmonitor#1.8-x86_64-Linx-Rocky4.2.pkg.tar.gz b/code/trunk/bin/sys_nicmonitor#1.8-x86_64-Linx-Rocky4.2.pkg.tar.gz deleted file mode 100644 index d956807..0000000 Binary files a/code/trunk/bin/sys_nicmonitor#1.8-x86_64-Linx-Rocky4.2.pkg.tar.gz and /dev/null differ diff --git a/code/trunk/bin/sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz b/code/trunk/bin/sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz new file mode 100644 index 0000000..2afbb15 Binary files /dev/null and b/code/trunk/bin/sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz differ diff --git a/code/trunk/src/Pkgfile b/code/trunk/src/Pkgfile index b01c071..52c988e 100644 --- a/code/trunk/src/Pkgfile +++ b/code/trunk/src/Pkgfile @@ -5,9 +5,13 @@ # Depends on: libart_lgpl libcgi libgd pango python tcl intltool name=sys_nicmonitor -version=1.8 +version=1.8.1 release=x86_64-Linx-Rocky4.2 -source=/home/d5000/d5000/linx/1.8/$name-$version.tar.gz +workdir=`pwd` +#source=/home/d5000/d5000/linx/1.8/$name-$version.tar.gz +#source=/mnt/rbqiu/nanri/sys_nicmonitor/0605/1.8/src/$name-$version.tar.gz +echo $workdir +source=$workdir/$name-$version.tar.gz build() { cd $name-$version diff --git a/code/trunk/sys_nicmonitor/mnic.c b/code/trunk/sys_nicmonitor/mnic.c index a54b291..d386fd4 100644 --- a/code/trunk/sys_nicmonitor/mnic.c +++ b/code/trunk/sys_nicmonitor/mnic.c @@ -20,7 +20,7 @@ #define IPLEN 16 #define CONF_FILE "/conf/nic/sys_netcard_conf.txt" -#define MNIC_VERSION "1.8" +#define MNIC_VERSION "1.8.1" #define NIC_UNKNOWN 0 #define NIC_DOWN 1 @@ -153,6 +153,10 @@ static const configoption_t options[] = { {myconf[15], ARG_INT, cb_int, NULL, CTX_ALL}, LAST_OPTION }; + +/* 1 for output more debug information, from getenv(SYS_NIC_DEBUG) */ +static int sys_nic_debug = 0; + /****dotconf****/ void create_dir(char *create_path); @@ -674,9 +678,15 @@ static void *cacu_flow(void *p) count_t = 1; } summit = (unsigned int)(curr->info.average_flow*8*100/1024/1024/ptr->mem.conf->flow_peak/count_t); -#if 0 - printf("%s:\tcount=%d\tsummit=%d\tflow_limit:%d\taverage_flow:%d\n", curr->info.charname, count_t, summit, conf.flow_limit, curr->info.average_flow); + if( sys_nic_debug ) { +#if 1 + printf("%s:\tcount=%d\tsummit=%d\tflow_limit:%d\taverage_flow:%lld\n", curr->info.charname, count_t, summit, conf.flow_limit, curr->info.average_flow); #endif + snprintf(error_str, sizeof(error_str), "%s:\tcount=%d\tsummit=%d\tflow_limit:%d\taverage_flow:%lld\n", curr->info.charname, count_t, summit, conf.flow_limit, curr->info.average_flow); + record_log(error_str); + + } + if(summit >= ptr->mem.conf->flow_limit){ memset(ptr->env.Malarm.tSysNetcardAlarm.fault_devname, 0, NIC_NAME_LEN); strncpy(ptr->env.Malarm.tSysNetcardAlarm.fault_devname, ptr->env.host_name, ptr->env.host_name_size); @@ -695,8 +705,13 @@ static void *cacu_flow(void *p) count_no[i]--; if(count_no[i] == 0){ send_inc_info_one(&curr->info, ptr->mem.semid, ptr->mem.shm_ptr); - //snprintf(error_str, sizeof(error_str), "NOTICE: %s flow is abnormal, summit is %d, average flow is %lld !\n", curr->info.charname, summit, curr->info.average_flow); - snprintf(error_str, sizeof(error_str), "NOTICE: %s flow is abnormal !\n", curr->info.charname); + if( sys_nic_debug ) { + snprintf(error_str, sizeof(error_str), + "NOTICE: %s flow is abnormal, summit is %d, average flow is %lld !\n", + curr->info.charname, summit, curr->info.average_flow); + } else { + snprintf(error_str, sizeof(error_str), "NOTICE: %s flow is abnormal !\n", curr->info.charname); + } record_log(error_str); } } @@ -767,8 +782,9 @@ int ping_gw(char *devname) snprintf(buf,sizeof(buf),"ping -c 1 -w %d %s|grep received|awk -F, '{print $2}'|awk '{print $1}'", conf.pinglap,conf.nic[i].ping_ip[j]); if((fp = popen(buf,"r")) == NULL) { - perror("popen"); - return 0; + //perror("popen"); + //return 0; + continue; }else{ fgets(getbuf,sizeof(getbuf),fp); if(strncmp(getbuf,"0",1) != 0) @@ -777,7 +793,8 @@ int ping_gw(char *devname) return 0; }else{ pclose(fp); - return -1; + //return -1; + continue; } } pclose(fp); @@ -1443,6 +1460,10 @@ int main(int argc, char ** argv) char log_record[125]={0}; + if( getenv("SYS_NIC_DEBUG") ) { + sys_nic_debug = 1; + } + memset(&conf, 0, sizeof(CONFIG_FILE_ST)); if(isrun(argv[0]) == 1){ printf("the program is already started!\n"); diff --git a/packages/1.8.1/bin/README b/packages/1.8.1/bin/README new file mode 100644 index 0000000..c5e16e7 --- /dev/null +++ b/packages/1.8.1/bin/README @@ -0,0 +1,18 @@ +======== +安装说明: +直接运行命令: +sh ./install.sh + +或者采用如下步骤: + + 1)安装,以root的用户执行安装命令: + pkgadd sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz + 如果之前已经安装,则可先卸载旧的然后再安装,或者通过更新方式安装 + 卸载命令: pkgrm sys_nicmonitor + 更新方式安装命令: + pkgadd -u sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz + + 2)查看安装是否成功 + pkginfo -i|grep sys_nicmonitor + 或者 + 查看d5000用户的目录下lib/libnic_shm.so和bin/sys_nicmonitor的日期是否 diff --git a/packages/1.8.1/bin/install.sh b/packages/1.8.1/bin/install.sh new file mode 100755 index 0000000..a787488 --- /dev/null +++ b/packages/1.8.1/bin/install.sh @@ -0,0 +1,5 @@ +#!/bin/bash +pkgrm sys_nicmonitor +pkgadd sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz +pkginfo -i | grep nic + diff --git a/packages/1.8.1/bin/sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz b/packages/1.8.1/bin/sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz new file mode 100644 index 0000000..2afbb15 Binary files /dev/null and b/packages/1.8.1/bin/sys_nicmonitor#1.8.1-x86_64-Linx-Rocky4.2.pkg.tar.gz differ diff --git a/packages/sys_nicmonitor-1.8.1.tar.gz b/packages/sys_nicmonitor-1.8.1.tar.gz new file mode 100644 index 0000000..ddbcf4f Binary files /dev/null and b/packages/sys_nicmonitor-1.8.1.tar.gz differ