2014-09-19 10 views
0

munoDB에 MongoDB의 플러그인을 추가하려고합니다.muno의 통계가 munin에 표시되지 않습니다.

그러나 아무것도 munin의 서버로 전송 된 (https://ivan-site.com/2013/06/monitoring-mongodb-in-munin-on-ubuntu-1304에서)

sudo apt-get install git munin-node 
git clone git://github.com/erh/mongo-munin.git /home/ubuntu/mongo-munin 
sudo ln -sf /home/ubuntu/mongo-munin/mongo_btree /etc/munin/plugins/mongo_btree 
sudo ln -sf /home/ubuntu/mongo-munin/mongo_conn /etc/munin/plugins/mongo_conn 
sudo ln -sf /home/ubuntu/mongo-munin/mongo_lock /etc/munin/plugins/mongo_lock 
sudo ln -sf /home/ubuntu/mongo-munin/mongo_mem /etc/munin/plugins/mongo_mem 
sudo ln -sf /home/ubuntu/mongo-munin/mongo_ops /etc/munin/plugins/mongo_ops 
sudo service munin-node restart 

(몽고 만, 서버에서 다른 모든 날짜가 Munin에 확인됩니다) : 나는 플러그인을 설치하려면이 따랐다. 나는이 질문을 확인했습니다

# sudo -u munin python /usr/share/munin/plugins/mongo_ops 
Traceback (most recent call last): 
    File "/usr/share/munin/plugins/mongo_ops", line 56, in <module> 
    doData() 
    File "/usr/share/munin/plugins/mongo_ops", line 33, in doData 
    ss = getServerStatus() 
    File "/usr/share/munin/plugins/mongo_ops", line 28, in getServerStatus 
    raw = urllib2.urlopen(req).read() 
    File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen 
    return _opener.open(url, data, timeout) 
    File "/usr/lib/python2.7/urllib2.py", line 400, in open 
    response = self._open(req, data) 
    File "/usr/lib/python2.7/urllib2.py", line 418, in _open 
    '_open', req) 
    File "/usr/lib/python2.7/urllib2.py", line 378, in _call_chain 
    result = func(*args) 
    File "/usr/lib/python2.7/urllib2.py", line 1207, in http_open 
    return self.do_open(httplib.HTTPConnection, req) 
    File "/usr/lib/python2.7/urllib2.py", line 1177, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [Errno 111] Connection refused> 

:

는 그럼 난 플러그인들이받은 오류가 발견 Munin Mongodb Plugin Not Showing. . .?을하지만 문제는 동일하지 않습니다에서,에서 볼 수 있듯이 나는 pyhton 2를 실행하는거야 출력 이상 :

File "/usr/lib/python2.7/urllib2.py", line 126, in urlopen 

그리고, 플러그인은 활성 :

# munin-node-configure | grep "mongo" 
mongo_btree    | yes | 
mongo_conn     | yes | 
mongo_lock     | yes | 
mongo_mem     | yes | 
mongo_ops     | yes | 

Mongo의 허가입니까? 아마도 Munin을위한 사용자를 설정해야합니까? 어떻게 수정해야하는지 알고 있습니까?

+0

플러그인을'/ usr/share/munin/plugins'에 복사하고 거기에서'/ etc/munin/plugins'으로 심볼릭 링크 했습니까? –

+0

예, 플러그인은'/ usr/share/munin/plugins'에 있고'/ etc/munin/plugins'과 simlink가 있습니다 :'mongo_btree ->/usr/share/munin/plugins/mongo_btree''mongo_conn ->/usr/mongo_mem ->/mongo_mem ->/mongo_mem ->/mongo_mem ->/mongo_mem -/usr/share/munin/plugins/plugins/mongo_ops' –

+0

지금 내 질문을 편집했지만 플러그인은 활성화되어 있지만 파이썬 오류가 남아 있습니다. –

답변

1

좋아, 처음부터 - 그 플러그인은 오래 전에 작성되었고 몇 년 후에 업데이트되지 않았으므로이 시점에서 작동하지 않을 수도 있습니다. 둘째, 그들은 MongoDB의 HTTP console을 사용하여 데이터를 수집합니다. 지금은 defaults to disabled이므로 인스턴스를 위해 전혀 실행되지 않을 수도 있습니다. (프로덕션 시스템에서는 일반적으로 권장되지 않습니다. 실행하는 경우 방화벽을 해제해야합니다.)

편집 : 좀 더 확인 후이 플러그인은 활성화 될 REST interface 필요 콘솔 이상을 필요로하며, 이는 일반적으로 생산하지 않는 것이 좋습니다 다시 기본적으로 확실히 꺼져 있고.

마지막으로 포트 28017 (MongoDB +1000의 기본 포트)에 연결하기 위해 플러그인을 하드 코딩 했으므로 MongoDB가 실행되는 포트를 사용자 정의한 경우 각 플러그인을 수동으로 조정하여 오른쪽에 연결해야합니다 포트.

이 모든 것을 확인하는 가장 쉬운 방법은 브라우저에서 포트 28017 (http://hostame/28017) 또는 해당 포트가 무엇이든간에 호스트를 가리키고 콘솔에 액세스 할 수 있는지 확인하는 것입니다.

업데이트 나는 그것이 REST API에 대한 종속성을 제거 pymongo에 포트 것이 얼마나 열심히보고 엘리엇의 플러그인을 포크, 나는 (아직 인증 지원) 매우 쉽게 할 수 있었다. 당신은 나를 위해, 여기 당신이 일 링크 된 페이지 당 동일한 설치 및 테스트 명령을 해당 버전을 찾을 수 있습니다

https://github.com/comerford/mongo-munin

을 그것이 나오는 것에 따라, 기록 된 플러그인 이후 serverStatus() command에 대한 변경은 그들의 여러 가지 의미 현재 버전의 MongoDB에서 더 이상 작동하지 않으므로 2.4와 그 이후에 다시 돌아 가야했습니다 (새로운 pymongo 종속성과 함께 README에 나열 됨).

+0

아담, Mongo에 대한 또 다른 Munin 플러그인을 알고 있습니까? 이 오래된 것은 [Mongo Doc] (http://docs.mongodb.org/ecosystem/tools/munin)에서 제안 된 것입니다 : ( –

+1

) 포크에서 플러그인을 (매우 기본적으로) 리팩토링하여 대신 pymongo를 사용했습니다. REST API를 업데이트하고 대답을 업데이트했습니다. 인증을 추가하거나 다른 측정 항목을 추가 한 다음 두 가지를 병합하는 방법에 대해 Eliot에 핑을 겁니다. –

+0

대단히 감사합니다. 매우 유용합니다. 기본 설정 가이드 및 문서 수를 모니터링하는 플러그인을 추가하기위한 포크. 좋은 추가 기능이 있다고 생각한다면 :) –