580 |
out_print(res, |
out_print(res, |
581 |
"<tr><td>Group</a></td><td><font color='#0000ff'>%s</font></td></tr>", |
"<tr><td>Group</a></td><td><font color='#0000ff'>%s</font></td></tr>", |
582 |
p->group?p->group:"(not defined)"); |
p->group?p->group:"(not defined)"); |
583 |
|
{ |
584 |
|
Dependant_T d; |
585 |
|
for(d= p->dependantlist; d; d=p->dependantlist->next) { |
586 |
|
if(d->dependant != NULL) { |
587 |
|
out_print(res,"<tr><td>Dependant Process </a></td>" |
588 |
|
"<td> <a href=%s> %s </a></td></tr>", |
589 |
|
d->dependant, d->dependant); |
590 |
|
} |
591 |
|
if(d->next == NULL) |
592 |
|
break; |
593 |
|
} |
594 |
|
} |
595 |
out_print(res, |
out_print(res, |
596 |
"<tr><td>Process id </a></td><td>%d</td></tr>", run); |
"<tr><td>Process id </a></td><td>%d</td></tr>", run); |
597 |
out_print(res, |
out_print(res, |
603 |
out_print(res, |
out_print(res, |
604 |
"<tr><td>Pid file</a></td><td>%s</td></tr>", |
"<tr><td>Pid file</a></td><td>%s</td></tr>", |
605 |
p->pidfile); |
p->pidfile); |
606 |
if ( Run.doprocess ) { |
out_print(res, |
607 |
ProcInfo_T pi= p->procinfo; |
"<tr><td>Monitoring mode</a></td><td>%s</td></tr>", |
608 |
|
modenames[p->mode]); |
|
out_print(res, |
|
|
"<tr><td>CPU usage</a></td><td>%.1f%%</td></tr>", |
|
|
pi->cpu_percent/10.0); |
|
|
out_print(res, |
|
|
"<tr><td>Memory usage</a></td><td>%.1f%% [%ldkB]</td></tr>", |
|
|
pi->mem_percent/10.0,pi->mem_kbyte); |
|
|
} |
|
609 |
out_print(res, |
out_print(res, |
610 |
"<tr><td>Start program</a></td><td>%s</td></tr>", |
"<tr><td>Start program</a></td><td>%s</td></tr>", |
611 |
p->start?p->start->arg[0]:"(not defined)"); |
p->start?p->start->arg[0]:"(not defined)"); |
618 |
out_print(res, "<tr><td>Associated checksum</a></td><td>%s %s</td>" |
out_print(res, "<tr><td>Associated checksum</a></td><td>%s %s</td>" |
619 |
"</tr>", c->md5, c->file); |
"</tr>", c->md5, c->file); |
620 |
} |
} |
621 |
{ |
if ( Run.doprocess ) { |
622 |
struct mytimestamp *t; |
ProcInfo_T pi= p->procinfo; |
623 |
for(t= p->timestamplist; t; t= t->next) |
|
624 |
out_print(res, |
out_print(res, |
625 |
"<tr><td>Associated timestamp</a></td>" |
"<tr><td>CPU usage</a></td><td>%.1f%%</td></tr>", |
626 |
"<td>If %s %s %d second(s) then %s</td></tr>", |
pi->cpu_percent/10.0); |
627 |
t->pathname, operatornames[t->operator], t->time, actionnames[t->action]); |
out_print(res, |
628 |
} |
"<tr><td>Memory usage</a></td><td>%.1f%% [%ldkB]</td></tr>", |
629 |
out_print(res, |
pi->mem_percent/10.0,pi->mem_kbyte); |
|
"<tr><td>Timeout</a></td><td>Timeout if %d restart within %d cycles" |
|
|
"</td></tr>", p->to_start, p->to_cycle); |
|
|
{ |
|
|
Mail_T r; |
|
|
for(r= p->maillist; r; r= r->next) { |
|
|
out_print(res, |
|
|
"<tr bgcolor=\"#EFEFEF\"><td>Alert mail to</a></td><td>%s</td></tr>", |
|
|
r->to?r->to:""); |
|
|
out_print(res, |
|
|
"<tr><td>Alert from</a></td><td>%s</td></tr>", |
|
|
r->from?r->from:"(default)"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert subject</a></td><td>%s</td></tr>", |
|
|
r->subject?r->subject:"(default)"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert message</a></td><td>%s</td></tr>", |
|
|
r->message?r->message:"(default)"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert on timeout</a></td><td>%s</td></tr>", |
|
|
r->alert_on_timeout?"yes":"no"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert on restart</a></td><td>%s</td></tr>", |
|
|
r->alert_on_restart?"yes":"no"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert on checksum</a></td><td>%s</td></tr>", |
|
|
r->alert_on_checksum?"yes":"no"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert on exceeded resource</a></td><td>%s</td></tr>", |
|
|
r->alert_on_resource?"yes":"no"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert on stop</a></td><td>%s</td></tr>", |
|
|
r->alert_on_stop?"yes":"no"); |
|
|
out_print(res, |
|
|
"<tr><td>Alert on timestamp</a></td><td>%s</td></tr>", |
|
|
r->alert_on_timestamp?"yes":"no"); |
|
|
} |
|
630 |
} |
} |
|
out_print(res, |
|
|
"<tr><td>Check process</a></td><td>Every %d cycle</td></tr>", |
|
|
p->every?p->every:1); |
|
|
out_print(res, |
|
|
"<tr><td>Monitoring mode</a></td><td>%s</td></tr>", |
|
|
modenames[p->mode]); |
|
631 |
{ |
{ |
632 |
Port_T n; |
Port_T n; |
633 |
for(n= p->portlist; n; n= n->next) { |
for(n= p->portlist; n; n= n->next) { |
669 |
} |
} |
670 |
} |
} |
671 |
{ |
{ |
672 |
|
struct mytimestamp *t; |
673 |
|
for(t= p->timestamplist; t; t= t->next) |
674 |
|
out_print(res, |
675 |
|
"<tr><td>Associated timestamp</a></td>" |
676 |
|
"<td>If %s %s %d second(s) then %s</td></tr>", |
677 |
|
t->pathname, operatornames[t->operator], t->time, actionnames[t->action]); |
678 |
|
} |
679 |
|
{ |
680 |
Resource_T q; |
Resource_T q; |
681 |
|
|
682 |
for (q= p->resourcelist; q; q= q->next) { |
for (q= p->resourcelist; q; q= q->next) { |
738 |
} |
} |
739 |
} |
} |
740 |
} |
} |
741 |
|
out_print(res, |
742 |
|
"<tr><td>Check process</a></td><td>Every %d cycle</td></tr>", |
743 |
|
p->every?p->every:1); |
744 |
|
out_print(res, |
745 |
|
"<tr><td>Timeout</a></td><td>Timeout if %d restart within %d cycles" |
746 |
|
"</td></tr>", p->to_start, p->to_cycle); |
747 |
{ |
{ |
748 |
Dependant_T d; |
Mail_T r; |
749 |
for(d= p->dependantlist; d; d=p->dependantlist->next) { |
for(r= p->maillist; r; r= r->next) { |
750 |
if(d->dependant != NULL) { |
out_print(res, |
751 |
out_print(res,"<tr><td>Dependant Process </a></td>" |
"<tr bgcolor=\"#EFEFEF\"><td>Alert mail to</a></td><td>%s</td></tr>", |
752 |
"<td> <a href=%s> %s </a></td></tr>", |
r->to?r->to:""); |
753 |
d->dependant, d->dependant); |
out_print(res, |
754 |
} |
"<tr><td>Alert from</a></td><td>%s</td></tr>", |
755 |
if(d->next == NULL) |
r->from?r->from:"(default)"); |
756 |
break; |
out_print(res, |
757 |
|
"<tr><td>Alert subject</a></td><td>%s</td></tr>", |
758 |
|
r->subject?r->subject:"(default)"); |
759 |
|
out_print(res, |
760 |
|
"<tr><td>Alert message</a></td><td>%s</td></tr>", |
761 |
|
r->message?r->message:"(default)"); |
762 |
|
out_print(res, |
763 |
|
"<tr><td>Alert on timeout</a></td><td>%s</td></tr>", |
764 |
|
r->alert_on_timeout?"yes":"no"); |
765 |
|
out_print(res, |
766 |
|
"<tr><td>Alert on restart</a></td><td>%s</td></tr>", |
767 |
|
r->alert_on_restart?"yes":"no"); |
768 |
|
out_print(res, |
769 |
|
"<tr><td>Alert on checksum</a></td><td>%s</td></tr>", |
770 |
|
r->alert_on_checksum?"yes":"no"); |
771 |
|
out_print(res, |
772 |
|
"<tr><td>Alert on exceeded resource</a></td><td>%s</td></tr>", |
773 |
|
r->alert_on_resource?"yes":"no"); |
774 |
|
out_print(res, |
775 |
|
"<tr><td>Alert on stop</a></td><td>%s</td></tr>", |
776 |
|
r->alert_on_stop?"yes":"no"); |
777 |
|
out_print(res, |
778 |
|
"<tr><td>Alert on timestamp</a></td><td>%s</td></tr>", |
779 |
|
r->alert_on_timestamp?"yes":"no"); |
780 |
} |
} |
781 |
} |
} |
782 |
out_print(res, "</table>"); |
out_print(res, "</table>"); |