您的位置:首页 > 运维架构 > Tomcat

nagios插件之检测tomcat日志的startAt值(待改进)

2017-12-23 00:36 344 查看
vi check_cdstore_log_startAt.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <errno.h>

#define OK 0
#define WARNING 1
#define CRITICAL 2
#define UNKNOWN 3

#define LEN 40960
#define LEN_S 10240

int exitstatus=OK;
char *exit_status[4]={"OK","WARNING","CRITICAL","UNKNOWN"};

char status_information[LEN];
char performance_data[LEN];

//#define LOG_FILE_DIR "/home/nagios/check_wcar_log/113"
//#define LOG_FILE_DIR "/opt/smb_win_113_huapu_intface/gateWay/log"
//#define LOG_FILE_DIR "/home/neo/check_log/aes"
//#define LOG_FILE_DIR "/home/neo/check_log/tomcat_log"
#define LOG_FILE "/opt/bmw/apache-tomcat-7.0.41/logs/bmw_mall.log"
//#define LOG_FILE "/tmp/bmw_mall.log"

//#define OLD_FILE_FAILED "/home/nagios/check_wcar_log/113/log_err_tmp.file"
//#define OLD_FILE_FAILED "/home/neo/check_log/aes/log_tmp.file"
//#define OLD_FILE_FAILED "/home/neo/check_log/bmw_cdstore/log_tmp.file"
//#define OLD_FILE_FAILED "/home/nagios/check_log/log_tmp.file"
#define OLD_FILE_FAILED "/tmp/log_tmp.file"

//#define LONG_TIME_FILE "/tmp/log_tmp_long.file"
//#define SHORT_TIME_FILE "/tmp/log_tmp_short.file"
#define LONG_TIME_FILE "/home/nagios/check_log/log_tmp_long4.file"
#define SHORT_TIME_FILE "/home/nagios/check_log/log_tmp_short4.file"

int hour;

char count[10]={0};
char tomcat_log_str_now[LEN_S]={0};
char tomcat_log_str_old[LEN_S]={0};

int error_mark=0;
int error_mark_total=0;

////char old_statusIndex[30]="0";
////char new_statusIndex[30]="0";
char old_startAt[30]="0";
char new_startAt[30]="0";

int start_time_mark=0;
char start_time[100]={0};
char start_time_1[100]={0};
char start_time_2[100]={0};
char start_time_timestamp[100]={0};

int response_time_mark=0;
char response_time[100]={0};
char response_time_1[100]={0};
char response_time_2[100]={0};
char response_time_timestamp[100]={0};

int resp_gthan_3s=0;
int resp_lthan_3s=0;
int resp_total_count=0;
int resp_total_count_error=0;

//char today_start_time[32];

int all_line=0;

int err_line=0;

int err_count=0;

int err_mark=0;

int date_to_timestamp(char *time_str,char *time_timestamp) {
int ret;
time_t timep1;
struct tm p1;

// printf("time_str=%s\n",time_str);

sscanf(time_str,"%d-%d-%d %d:%d:%d",&p1.tm_year,&p1.tm_mon,&p1.tm_mday,&p1.tm_hour,&p1.tm_min,&p1.tm_sec);
p1.tm_year=p1.tm_year-1900;
p1.tm_mon=p1.tm_mon-1;

timep1=mktime(&p1);
ret=sprintf(time_timestamp,"%ld",timep1);
if(ret==-1) {
fprintf(stderr,"date_to_timestamp sprintf error.\n");
return -1;
}

return 0;
}

int check_old_file(int hour) {
int ret,n=0;
FILE *fp_old;
char readbuf[LEN_S];

/* //OLD_FILE_FAILED
fp_old=fopen(OLD_FILE_FAILED,"a+");
if(fp_old==NULL) {
fprintf(stderr,"check_old_file() is fopen() error.\n");
return -1;
}
*/

if(hour>=8 && hour<=18) {
fp_old=fopen(SHORT_TIME_FILE,"a+");
// printf("check_old_file() read %s file.\n",SHORT_TIME_FILE);
if(fp_old==NULL) {
fprintf(stderr,"check_old_file() is fopen() SHORT_TIME_FILE error.\n");
return -1;
}
}
else {
fp_old=fopen(LONG_TIME_FILE,"a+");
// printf("check_old_file() read %s file.\n",LONG_TIME_FILE);
if(fp_old==NULL) {
fprintf(stderr,"check_old_file() is fopen() LONG_TIME_FILE error.\n");
return -1;
}
}

ret=fseek(fp_old,0,SEEK_SET);
if(ret==-1) {
fprintf(stderr,"check_old_file() is fseek() error.\n");
return -1;
}
else {
while(fgets(readbuf,LEN_S,fp_old)!=NULL) {
n++;

if(n==1) {
strcpy(count,readbuf);
}
else if(n==2){
strcpy(tomcat_log_str_old,readbuf);
// sscanf(tomcat_log_str_old,"%*s%*[^锛歖锛?s",old_statusIndex);
//// sscanf(tomcat_log_str_old,"%*s%*[^锛歖锛?s",old_startAt);
sscanf(readbuf,"%*s%*[^=]=%[^====]",old_startAt);
}
}

// printf("count=%s,tomcat_log_str_old=%s,old_statusIndex=%s\n",count,tomcat_log_str_old,old_statusIndex);
printf("count=%s,tomcat_log_str_old=%s,old_startAt=%s\n",count,tomcat_log_str_old,old_startAt);
}

ret=fclose(fp_old);
if(ret==EOF) {
fprintf(stderr,"check_old_file() is fclose() error.\n");
return -1;
}

// printf("tomcat_log_str_old=%s,log_strlen=%d,log_sizeof=%d\n",tomcat_log_str_old,strlen(tomcat_log_str_old),sizeof(tomcat_log_str_old));
// printf("-------------------------\n");

return 0;
}

int write_old_file(int count,char *old_file,char *error_str) {
int ret;
FILE *fp_old;

fp_old=fopen(old_file,"w");
if(fp_old==NULL) {
fprintf(stderr,"write_old_file() fopen() %s error.\n",old_file);
}

ret=fprintf(fp_old,"%d\n%s",count,error_str);
if(ret<0) {
fprintf(stderr,"write_old_file() fprintf() %d and %s error.\n",count,old_file);
return -1;
}

/*
ret=fprintf(fp_old,"%s",error_str);
if(ret<0) {
fprintf(stderr,"write_old_file() fprintf() %s error.\n",old_file);
return -1;
}
*/

ret=fclose(fp_old);
if(ret==EOF) {
fprintf(stderr,"write_old_file() fclose() %s error.\n",old_file);
}

return 0;
}

/*
int write_old_file(int hour,int count,char *old_file,char *error_str) {
int ret;
FILE *fp_old;
char readbuf[LEN_S];

fp_old=fopen(old_file,"a+");
if(fp_old==NULL) {
fprintf(stderr,"write_old_file() is fopen() error.\n");
}
*/

//ret=write_old_file(hour,0,SHORT_TIME_FILE,tomcat_log_str_now);
/* if(hour>=8 && hour<=18) {
fp_old=fopen(SHORT_TIME_FILE,"a+");
printf("write_old_file() read %s \n",SHORT_TIME_FILE);
if(fp_old==NULL) {
fprintf(stderr,"write_old_file() fopen() SHORT_TIME_FILE error.\n");
return -1;
}
}
else {
fp_old=fopen(LONG_TIME_FILE,"a+");
printf("write_old_file() read %s file.\n",LONG_TIME_FILE);
if(fp_old==NULL) {
fprintf(stderr,"write_old_file() fopen() LONG_TIME_FILE error.\n");
return -1;
}
}
*/

/* fp_old=fopen(old_file,"w+");
printf("write_old_file() open %s file.\n",old_file);
if(fp_old==NULL) {
fprintf(stderr,"write_old_file() read %s \n",old_file);
return -1;
}

ret=fprintf(fp_old,"%s",error_str);
if(ret<0) {
fprintf(stderr,"write_old_file() if fprintf() fp_old error.\n");
return -1;
}

ret=fseek(fp_old,0,SEEK_SET);
if(ret==-1) {
fprintf(stderr,"");
return -1;
}
else {
*/
/* while(fgets(readbuf,LEN_S,fp_old)!=NULL) {
if(readbuf=="") {
printf("111111111111111111111111111111111111111111111111111111111111111111111111\n");
fprintf(fp_old,"%s\n","0");
fprintf(fp_old,"%s",error_str);
}
else {
printf("222222222222222222222222222222222222222222222222222222222222222222222222\n");

}
}

char *ch;
ch=fgets(readbuf,LEN_S,fp_old);
if(ch==NULL) {
printf("111111111111111111111111111111111111111111111111111111111111111111111111\n");
fprintf(fp_old,"%d\n",count);
fprintf(fp_old,"%s",error_str);
}
else {
printf("222222222222222222222222222222222222222222222222222222222222222222222222\n");
}
}

ret=fclose(fp_old);
if(ret==EOF) {
fprintf(stderr,"write_old_file() is fclose() error.\n");
}

return 0;
}
*/

//int parse_log_file(char *log_file,char *check_year,char *check_day) {
int parse_log_file(char *log_file) {
FILE *fp;
long int *position;
char readbuf[LEN_S];
char readbuf_tmp[LEN_S];
int size=1024,line=0,line_bak;
char *str;

int ret;
int ret1;
int ret2;

int mark;
char *p,*str_date;

position=(long int *)malloc(sizeof(long int)*size);
position[0]=0;

fp=fopen(log_file,"r");
if(fp==NULL) {
// fprintf(stderr,"parse_log_file() is fopen() error %s\n",log_file);
// perror("parse_log_file() is fopen() error,");
// exit(-1);

if(errno==ENOENT) {
exitstatus=WARNING;

// sprintf(status_information,"Log file no create, Queue_full_num=%d",err_count);
sprintf(status_information,"No such file or directory.");
// sprintf(performance_data,"Queue_full_num=%d;;;;",err_count);
}
else {
exitstatus=WARNING;

// sprintf(status_information,"Log file no create, Queue_full_num=%d",err_count);
sprintf(status_information,"Other error.");
// sprintf(performance_data,"Queue_full_num=%d;;;;",err_count);

}

printf("%s: %s | %s\n",exit_status[exitstatus],status_information,performance_data);
exit(exitstatus);
}

while(fgets(readbuf,sizeof(readbuf),fp)!=NULL) {
if(++line==size) {
size*=2;
position=(long int *)realloc(position,sizeof(long int)*size);
}

position[line]=ftell(fp);
}

all_line=line;
line_bak=line;

// printf("all_line=%d\n",all_line);
// printf("position[0]=%d,position[1]=%d,position[5113]=%d,position[5114]=%d\n",position[0],position[1],position[5113],position[5114]);

//position[5113]=1022496,position[5114]=1022667
// fseek(fp,1022496,SEEK_SET);
// fgets(readbuf,sizeof(readbuf),fp);
// printf("readbuf5113=%s\n",readbuf);

// fseek(fp,1022667,SEEK_SET);
// fgets(readbuf,sizeof(readbuf),fp);
// printf("readbuf5114=%s\n",readbuf);

while(line--) {
// while(line) {
// printf("++++++++++++++++++line=%d\n",line);
mark=0;

// printf("++++++++++++++++++position[%d]=%d\n",line,position[line]);
ret=fseek(fp,position[line],SEEK_SET);
if(ret==-1) {
perror("parse_log_file() is fseek()");
return -1;
}

str=fgets(readbuf,sizeof(readbuf),fp);
if(str==NULL) {
fprintf(stderr,"parse_log_file() is fgets() error.\n");
return -1;
}
// printf("line=%d,readbuf=%s",line,readbuf);

/*
strcpy(readbuf_tmp,readbuf);
for(p=strtok(readbuf_tmp,",\"");p;p=strtok(NULL,",\"")) {
str_date=p;

mark++;

if(mark==12) break;
}
*/

// printf("mark=%d,str_date=%s\n",mark,str_date);

/*
if(strcmp(str_date,today_start_time)<0) {
break;
}
*/
// printf("mark=%d,str_date=%s\n",mark,str_date);

// if(strcmp(str_date,today_start_time)>=0 && line!=1) {
// printf("-----------------\n");

// if(strstr(readbuf,"ORA-") && err_mark==0) {
// if(strstr(readbuf,"ERROR")) {

// if(strstr(readbuf,"statusIndex")) {
// if(strstr(readbuf,"杩斿洖缁撴灉===")) {
// mark++;
// }
// printf("line=%d,readbuf=%s",line,readbuf);

/* if(strstr(readbuf,"鎺ュ彛浼犺繃鏉ODY鐨凧SON鏁版嵁")) {
if(error_mark==1) {
error_mark=0;
continue;
}
else {
sscanf(readbuf,"%s %s",start_time_1,start_time_2);
// printf("start_time_1=%s,start_time_2=%s\n",start_time_1,start_time_2);
sprintf(start_time,"%s %s",start_time_1,start_time_2);
// printf("start_time=%s\n",start_time);
ret1=date_to_timestamp(start_time,start_time_timestamp);
// printf("start_time_timestamp=%s\n",start_time_timestamp);
start_time_mark=1;
}
}
else if(strstr(readbuf,"鍥炵粨鏋?==")) {
sscanf(readbuf,"%s %s",response_time_1,response_time_2);
// printf("response_time_1=%s,response_time_2=%s\n",response_time_1,response_time_2);
sprintf(response_time,"%s %s",response_time_1,response_time_2);
// printf("response_time=%s\n",response_time);
ret1=date_to_timestamp(response_time,response_time_timestamp);
// printf("response_time_timestamp=%s\n",response_time_timestamp);
response_time_mark=1;
}

if(start_time_mark==1 && response_time_mark==1) {
ret2=atoi(response_time_timestamp)-atoi(start_time_timestamp);
// printf("---------------------retponse time=%d\n",atoi(response_time_timestamp)-atoi(start_time_timestamp));
// printf("---------------------retponse time=%d\n",ret2);

if(ret2>3) {
resp_gthan_3s++;
} else {
resp_lthan_3s++;
}

resp_total_count++;

start_time_mark=0;
response_time_mark=0;
}
*/

// if(strstr(readbuf,"ERROR:")) {
// if(strstr(readbuf,"Exception") && err_mark==0) {
// printf("-----------------\n");
//// if(strstr(readbuf,"TransactionStatusServiceImpl") && strstr(readbuf,"statusIndex")) {
if(strstr(readbuf,"BmwTransactionsRestServerController") && strstr(readbuf,"startAt=") && !strstr(readbuf,"startAt=1860")) {
// printf("line=%d,readbuf=%s",line,readbuf);

//// sscanf(readbuf,"%*s%*[^锛歖锛?s",new_statusIndex);
sscanf(readbuf,"%*s%*[^=]=%[^====]",new_startAt);
// printf("new_statusIndex=%s\n",new_statusIndex);
printf("===========new_startAt=%s\n",new_startAt);

if(strcmp(tomcat_log_str_old,readbuf)) {
err_line=line+1;
err_count++;
printf("err_count=%d\n",err_count);

// strcat(error_str,readbuf);
// printf("readbuf=%s\n",readbuf);
strcpy(tomcat_log_str_now,readbuf);
printf("tomcat_log_str_now=%s\n",tomcat_log_str_now);

// if(atoi(new_statusIndex)!=atoi(old_statusIndex)) {
//// if(atoi(new_statusIndex)>atoi(old_statusIndex)) {
printf("===========new_startAt=%d,old_startAt=%d\n",atoi(new_startAt),atoi(old_startAt));
if(atoi(new_startAt)>atoi(old_startAt)) {
exitstatus=OK;
// sprintf(status_information,"%s","statusIndex is increase");
//// sprintf(status_information,"%s","startAt is increase");
sprintf(status_information,"startAt=%s %s",new_startAt,"is increase");
} else {
exitstatus=CRITICAL;
// sprintf(status_information,"%s","statusIndex is not increase");
//// sprintf(status_information,"%s","startAt is not increase");
sprintf(status_information,"startAt=%s %s",new_startAt,"is not increase");
}

if(err_count==1) {
// if(hour>=8 && hour<=18) {
if(hour>8 && hour<18) {
ret=write_old_file(0,SHORT_TIME_FILE,tomcat_log_str_now);
// ret=write_old_file(atoi(count)+1,SHORT_TIME_FILE,tomcat_log_str_now);
if(ret==-1) {
fprintf(stderr,"write_old_file() SHORT_TIME_FILE error.\n");
return -1;
}
}
else {
ret=write_old_file(0,LONG_TIME_FILE,tomcat_log_str_now);
// ret=write_old_file(atoi(count)+1,LONG_TIME_FILE,tomcat_log_str_now);
if(ret==-1) {
fprintf(stderr,"write_old_file() LONG_TIME_FILE error.\n");
return -1;
}
}

/* ret=write_old_file(hour,OLD_FILE_FAILED,tomcat_log_str_now);
if(ret==-1) {
fprintf(stderr,"parse_log_file() is write_old_file() tomcat_log_str_now error.\n");
return -1;
}
*/
}

break;
}
else {
// if(hour>=8 && hour<=18) {
if(hour>8 && hour<18) {
if(atoi(count)>=3) {
exitstatus=CRITICAL;
// sprintf(status_information,"%s%d","statusIndex is not increase,count=",atoi(count));
//// sprintf(status_information,"%s%d","startAt is not increase,count=",atoi(count));
sprintf(status_information,"startAt=%s%s%d",new_startAt,"is not increase,count=",atoi(count));
}
else {
exitstatus=OK;
// sprintf(status_information,"%s%d","statusIndex is not increase,count=",atoi(count));
//// sprintf(status_information,"%s%d","startAt is not increase,count=",atoi(count));
sprintf(status_information,"startAt=%s%s%d",new_startAt,"is not increase,count=",atoi(count));
}

ret=write_old_file(atoi(count)+1,SHORT_TIME_FILE,readbuf);
if(ret==-1) {
fprintf(stderr,"write_old_file() LONG_TIME_FILE error.\n");
return -1;
}

/* }
else {
exitstatus=OK;
sprintf(status_information,"%s","statusIndex is not increase");
}
*/
// ret=write_old_file(atoi(count)+1,SHORT_TIME_FILE,tomcat_log_str_now);
/* ret=write_old_file(atoi(count)+1,SHORT_TIME_FILE,readbuf);
ret=write_old_file(atoi(count)+1,SHORT_TIME_FILE,readbuf);
if(ret==-1) {
fprintf(stderr,"write_old_file() SHORT_TIME_FILE error.\n");
return -1;
}
*/
}
else {

if(atoi(count)>=10) {
exitstatus=CRITICAL;
// sprintf(status_information,"%s%d","statusIndex is not increase,count=",atoi(count));
//// sprintf(status_information,"%s%d","startAt is not increase,count=",atoi(count));
sprintf(status_information,"startAt=%s%s%d",new_startAt,"is not increase,count=",atoi(count));
}
else {
exitstatus=OK;
// sprintf(status_information,"%s%d","statusIndex is not increase,count=",atoi(count));
//// sprintf(status_information,"%s%d","startAt is not increase,count=",atoi(count));
sprintf(status_information,"startAt=%s%s%d",new_startAt,"is not increase,count=",atoi(count));
}

// ret=write_old_file(atoi(count)+1,LONG_TIME_FILE,tomcat_log_str_now);
ret=write_old_file(atoi(count)+1,LONG_TIME_FILE,readbuf);
if(ret==-1) {
fprintf(stderr,"write_old_file() LONG_TIME_FILE error.\n");
return -1;
}
}

break;

// sprintf(status_information,"resp_lthan_3s=%d,resp_gthan_3s=%d,resp_total_count=%d,resp_total_count_error=%d",resp_lthan_3s,resp_gthan_3s,resp_total_count,resp_total_count_error);
// sprintf(performance_data,"resp_lthan_3s=%d;;;; resp_gthan_3s=%d;;;; resp_total_count=%d;;;; resp_total_count_error=%d;;;;",resp_lthan_3s,resp_gthan_3s,resp_total_count,resp_total_count_error);

}
/* else {
err_mark=1;
}
*/
}

// }
// }

/* if(err_mark==1) {
break;
}
*/
/* if(strstr(readbuf,check_year) && !strstr(readbuf,check_day)) {
// if(!strstr(readbuf,check_day)) {
// }
break;
}
*/
// line--;
}

// printf("err_400_count=%d,tomcat_log_str_now=%s\n",err_400_count,tomcat_log_str_now);

// printf("err_404_count=%d,error_str_now_404=%s\n",err_404_count,error_str_now_404);

// printf("-----------------------error_mark_total=%d\n",error_mark_total);

ret=fclose(fp);
if(ret==EOF) {
fprintf(stderr,"parse_log_file() is fclose() error\n");
}

return 0;
}

int main(void) {
int fd,ret;

char tomcat_log_file[128];

char nowtime[128];
char hostname[128];

/*
char my_day[32];
char my_week[32];
char my_month[32];
char my_year[32];

char check_day[64];
char check_year[32];

// char *week[]={"Sat","Sun","Mon","Tue","Wed","Thu","Fri"};
char *week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
char *month[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};

time_t timestamp;
struct tm *p1;

// timestamp=time(NULL)-86400;
timestamp=time(NULL);
p1=localtime(×tamp);

//catalina.2015-09-20.log
sprintf(tomcat_log_file,"%s/catalina.%d-%02d-%02d.log",LOG_FILE_DIR,1900+p1->tm_year,1+p1->tm_mon,p1->tm_mday);
printf("tomcat_log_file=%s\n",tomcat_log_file);

// sprintf(today_start_time,"%d-%02d-%02d %s\n",p1->tm_year+1900,p1->tm_mon+1,p1->tm_mday,"16-00-00");
// printf("today_start_time=%s\n",today_start_time);

sprintf(my_day,"%02d",p1->tm_mday);
sprintf(my_week,"%s",week[p1->tm_wday]);
sprintf(my_month,"%s",month[p1->tm_mon]);
sprintf(my_year,"%d",1900+p1->tm_year);
printf("my_year=%s,my_month=%s,my_week=%s,my_day=%s\n",my_year,my_month,my_week,my_day);

// Sat Aug 22 14:52:40 EAT 2015
sprintf(check_year,"%d",1900+p1->tm_year);
// sprintf(check_day,"%s %s %02d",week[p1->tm_wday],month[p1->tm_mon],p1->tm_mday);
sprintf(check_day,"%d-%02d-%02d",1900+p1->tm_year,1+p1->tm_mon,p1->tm_mday);
printf("check_year=%s,check_day=%s\n",check_year,check_day);

sprintf(nowtime,"%d-%02d-%02d-%02d-%02d-%02d",1900+p1->tm_year,(1+p1->tm_mon),p1->tm_mday,p1->tm_hour,p1->tm_min,p1->tm_sec);
printf("nowtime=%s\n",nowtime);

*/

time_t timestamp;
struct tm *p1;

timestamp=time(NULL);
p1=localtime(×tamp);
// printf("tm_hour=%d\n",p1->tm_hour);
hour=p1->tm_hour;
printf("hour=%d\n",hour);

/* ret=gethostname(hostname,sizeof(hostname));
if(ret==-1) {
fprintf(stderr,"gethostname() error.\n");
exit(-1);
}
printf("hostname=%s\n",hostname);
*/
// ret=check_old_file();
ret=check_old_file(hour);
if(ret==-1) {
fprintf(stderr,"check_old_file() error.\n");
exit(-1);
}

// printf("tomcat_log_str_old=%s\n",tomcat_log_str_old);
// printf("error_str_old_404=%s\n",error_str_old_404);

// ret=parse_log_file(tomcat_log_file);
//// ret=parse_log_file(LOG_FILE,check_year,check_day);
// ret=parse_log_file(tomcat_log_file,check_year,check_day);
ret=parse_log_file(LOG_FILE);
if(ret==-1) {
fprintf(stderr,"parse_log_file() error.\n");
exit(-1);
}

// printf("%s\n",nowtime);
// printf("hostname=%s\n",hostname);

// printf("err_400_line=%d\n",err_400_line);
// printf("err_404_line=%d\n",err_404_line);

// printf("all_line=%d\n",all_line);

// printf("-------------------------------\n");

/* if(err_count>=1) {
exitstatus=CRITICAL;
}

*/
// printf("\n------------------------resp_gthan_3s=%d,resp_lthan_3s=%d,resp_total_count=%d,resp_total_count_error=%d\n",resp_gthan_3s,resp_lthan_3s,resp_total_count,resp_total_count_error);

/* if(resp_gthan_3s>=1) {
exitstatus=CRITICAL;
}

sprintf(status_information,"resp_lthan_3s=%d,resp_gthan_3s=%d,resp_total_count=%d,resp_total_count_error=%d",resp_lthan_3s,resp_gthan_3s,resp_total_count,resp_total_count_error);

sprintf(performance_data,"resp_lthan_3s=%d;;;; resp_gthan_3s=%d;;;; resp_total_count=%d;;;; resp_total_count_error=%d;;;;",resp_lthan_3s,resp_gthan_3s,resp_total_count,resp_total_count_error);

printf("%s: %s | %s\n",exit_status[exitstatus],status_information,performance_data);

return exitstatus;
*/

printf("%s: %s | %s\n",exit_status[exitstatus],status_information,performance_data);

return exitstatus;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nagios插件
相关文章推荐