HTTP를 통해 monit 데몬에 대한 perl 연결을 위해 Monit :: HTTP 모듈을 알고 있거나 사용하고 있습니까?Monit :: HTTP perl 모듈에서 얻은 undef 데이터 및 프로세스/시스템 상태
Perl 용 Monit :: HTTP 모듈을 사용하려고하는데 몇 가지 문제가 있습니다. 상태 변수를 검색 할 수 없습니다 (예 : monit status 명령). 상태 = 시스템에서 실행 중이지만 Monit :: HTTP를 통해 내게 상태 = 0을 제공하는 일부 서비스의 경우 실행 중입니다. 나는 monit stop 명령으로 서비스를 중단하려고 시도하지만 프로세스가 종료되었다는 것을 알지만 Monit :: HTTP는 상태 = 0을 제공합니다. 마지막 경우 Status = 0은 "서비스가 중지됨"또는 "서비스가 실행 중임"을 의미합니까?
MONIT 데몬에 의해 모니터링 내 시스템에서 성능 데이터를 검색하려면 코드 발췌 : 내가 MONIT에서 좋은 데이터를 검색 할 수 없습니다이 지난 경우
my @systems = $hd->get_services(TYPE_SYSTEM);
foreach my $system (@systems) {
print "system: $system\n";
my $hash_ref = $hd->service_status($system);
...
(얻은 다음 hash_ref 덤프의 미확정 데이터를 찾아 예를 MONIT에 대한 데이터 :: 덤퍼 모듈) : HTTP 반환과 :
system: xpto
$VAR1 = {
'cpu' => {
'percent' => undef,
'percenttotal' => undef },
'status' => '0',
'name' => 'xpto',
'children'=> undef,
'monitor' => '1',
'host' => 'localhost',
'memory'=> {
'percent' => undef,
'kilobytetotal' => undef,
'kilobyte' => undef,
'percenttotal' => undef },
'group' => undef,
'pid' => undef;
'ppid' => undef;
'uptime' => undef;
'type'=> '5';
'load' => {
'avg05' => undef,
'avg01' => undef,
'avg15' => undef },
'pendingaction' => '0',
};
그리고 MONIT 상태 명령을 리턴 :
System 'xpto'
status Running
monitoring status Monitored
load average [1.25] [1.16] [0.94]
cpu 8.7%us 7.4%sy
memory usage 3202164 kB [76.3%]
swap usage 1589248 kB [75.7%]
data collected Thu, 06 Dec 2012 11:50:55
모든 지원
my @systems = $hd->get_services(TYPE_PROCESS);
foreach my $system (@systems) {
print "system: $system\n";
my $hash_ref = $hd->service_status($system);
...
감사 :
내 코드 발췌 (예를 들어, 아파치 프로세스) MONIT 데몬에 의해 모니터링 내 공정에서 성능 데이터를 검색 할 수 있습니다.
당신이 해시 기준으로 해시를 덤프 수하십시오 : 당신은 모든 종류의 필요한 경우
는 다음을 수행해야합니까? 'Data :: Dumper :: Dump'는 해시 값이 아닌 스칼라 값의리스트를 취합니다. 그러면 키 - 값 쌍을 쉽게 찾을 수 있습니다. 감사합니다. – amon