2012-12-04 7 views
0

NodeJS 프로그램에서 Monit으로 상태를 가져 오려고합니다. 내 monitrc에서 2812 포트를 사용하도록 설정했지만 노드 프로그램에서 무엇을해야할지 모르겠습니다. 모든 조언을 높이 평가 될 것입니다.NodeJS 프로그램에서 Monit으로 상태를 가져 오는 방법은 무엇입니까?

나는 현재 우둔,하지만 내가 시도한 것을 추가 할 것입니다 : 출력 어떤

var net = require('net'); 

var client = net.connect({port: 2812}, 
    function() { //'connect' listener 
    console.log('client connected'); 
    client.write('monit status'); 
}); 
client.on('data', function(data) { 
    console.log(data.toString()); 
    client.end(); 
}); 
client.on('end', function() { 
    console.log('client disconnected'); 
}); 

: 그것은 실제로으로 MONIT을 나열하기 때문에

client connected 
HTTP/1.0 400 Bad Request 
Date: Tue, 04 Dec 2012 17:03:15 GMT 
Server: monit 5.3.2 
Content-Type: text/html 
Connection: close 

<html><head><title>Bad Request</title></head><body bgcolor=#FFFFFF><h2>Bad Request</h2>Cannot parse request<p><hr><a href='http://mmonit.com/monit/'><font size=-1>monit 5.3.2</font></a></body></html> 

client disconnected 

이, 아무것도보다 더 서버,하지만 난 그것을 어떻게 작동하게하는지 전혀 모른다.

답변

0

나는 그것을 알아 냈다. 내가하고 싶은 것은 밝혀졌다 :

var http = require('http'); 

var options = { 
    hostname: '127.0.0.1', 
    port: 2812, 
    method: 'GET' 
}; 

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    res.setEncoding('utf8'); 
    res.on('data', function (data) { 
    console.log('BODY: ' + data); 
    }); 
}); 

req.on('error', function(e) { 
    console.log('problem with request: ' + e.message); 
}); 

req.end(); 
+0

또한 내가하고 싶은 일을 정말로하지 못했고, 포트를 통해 monit에 연결하는 것이 가능하다는 것을 이해하지 못했다. 그러나 적어도 이것은 작동합니다. – user1756980