nagios插件之监控单个tomcat线程数
2015-01-12 22:43
447 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> #define OK 0 #define WARNING 1 #define CRITICAL 2 #define UNKNOWN 3 #define LEN 1023 #define CMD "ps -efL | grep tomcat | wc -l" int exitstatus=OK; char *exit_status[4]={"OK","WARNING","CRITICAL","UNKNOWN"}; char status_information[LEN]; char performance_data[LEN]; int parse_cmd() { int ret; FILE *fp; char readbuf[1024]; int i; char *p,*str; fp=popen(CMD,"r"); if(fp==NULL) { fprintf(stderr,"popen() error.\n"); return -1; } // while(fgets(readbuf,1024,fp)!=NULL) { /* for(p=strtok(readbuf," ");p;p=strtok(NULL," ")) { // str=p; sprintf(status_information,"active call=%s",p); sprintf(performance_data,"call=%s;;;;",p); break; } break; */ // readbuf[strlen(readbuf)-1]=0; ret=fscanf(fp,"%s",readbuf); if(ret!=1) { fprintf(stderr,"fscanf() error.\n"); } if(atoi(readbuf)<300) { exitstatus=OK; } else if(atoi(readbuf)>=300 && atoi(readbuf)<=400) { exitstatus=WARNING; } else if(atoi(readbuf)>=400) { exitstatus=CRITICAL; } sprintf(status_information,"tomcat_threads=%s",readbuf); sprintf(performance_data,"tomcat_threads=%s;;;;",readbuf); // } ret=pclose(fp); if(fp==NULL) { fprintf(stderr,"pclose() error.\n"); return -1; } } int main() { int ret; ret=parse_cmd(); if(ret!=0) { fprintf(stderr,"parse_cmd() error.\n"); // exitstatus=CRITICAL; // printf("%s: - %s | %s\n",exit_status[exitstatus],status_information,performance_data); exit(-1); } printf("%s: %s | %s\n",exit_status[exitstatus],status_information,performance_data); return exitstatus; }
相关文章推荐
- nagios插件之监控单个tomcat日志
- nagios插件之监控多个tomcat日志
- nagios插件之监控多个tomcat线程数
- nagios 监控内存的插件
- nagios 监控mysql(check_mysql_health插件)
- 用 Python 编写一个nagios监控磁盘负载的插件
- 石头写的nagios网卡流量监控插件~~~
- Nagios监控mfs运行状态插件脚本
- nagios 监控内存的插件
- nagios中自己写的监控mysql主从复制的插件
- 使用nagios监控tomcat程序
- 记录蛋疼的一天:安装nagios 监控ESX/ESXI 4.0 5.0的插件
- nagios全攻略(三)----使用插件监控更多信息 推荐
- 自己写的监控磁盘空间的nagios插件脚本
- nagios全攻略(三)----使用插件监控更多信息
- nagios 监控slave(check_mysql_health插件)
- nagios如何监控tomcat以及apache状态
- LINUX开源监控平台Nagios(插件的安装和使用)
- Nagios监控websphere插件安装
- postgres监控—nagios插件监控方案