Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

Linux에서 SNMP를 사용하여 MongoDB 모니터링

이 페이지의 내용

  • 개요
  • 고려 사항
  • 구성 파일
  • 절차
  • 선택 사항: MongoDB를 SNMP 마스터로 실행

참고

엔터프라이즈 기능(사용 중단됨)

MongoDB 6.0 부터 시작됩니다. SNMP는 더 이상 사용되지 않으며 다음 릴리스에서 제거될 예정입니다. 배포서버를 모니터링하려면 MongoDB Ops Manager 를 사용합니다.

SNMP는 MongoDB Enterprise 에서만 사용할 수 있습니다.

MongoDB Enterprise 는 중앙 집중식 데이터 컬렉션 및 집계 을 지원 SNMP를 통해 데이터베이스 지표 을 제공할 수 있습니다. 이 절차에서는 mongod 인스턴스 를 SNMP 하위 에이전트로 설정 및 구성하는 방법, MongoDB Enterprise 를 사용하여 SNMP 지원 을 초기화하고 테스트하는 방법에 대해 설명합니다.

다음도 참조하세요.

Windows 시스템에서 SNMP와 함께 MongoDB를 사용하는 방법에 대한 전체 지침은 SNMP 문제 해결 및 SNMPMongoDB Windows 모니터링 을 참조하세요.

  • SNMP 지원은 mongod 에서만 사용할 수 있습니다. mongos 와 같은 다른 MongoDB 도구는 SNMP를 지원하지 않습니다.

  • mongod SNMP Trap 사용을 지원하지 않습니다.

MongoDB Enterprise에는 다음과 같은 SNMP 구성 파일이 포함되어 있습니다.

  • MONGOD-MIB.txt:

    MongoDB의 SNMP 출력을 정의하는 MIB(Management Information Base) 파일입니다. Ubuntu 및 Debian 플랫폼에서 이 파일은 MONGOD-MIB.txt.gz 으로 압축되어 배송되며 gunzip 로 압축을 풀어야 합니다.

  • mongod.conf.subagent:

    mongod 을(를) SNMP 하위 에이전트로 실행하기 위한 구성 파일입니다. 이 파일은 SNMP 마스터에 연결하기 위한 agentXSocket 을(를) 포함하여 SNMP 런타임 구성 옵션을 설정합니다.

  • mongod.conf.master:

    mongod 을(를) SNMP 마스터로 실행하기 위한 구성 파일입니다. 이 파일은 실행할 agentaddress 을(를) 포함하여 SNMP 런타임 구성 옵션을 설정합니다.

MongoDB SNMP 구성 파일은 다음과 같이 MongoDB Enterprise 설치와 함께 제공됩니다.

  • 패키지 관리자를 통해 MongoDB Enterprise를 설치한 경우 이러한 파일은 패키지 설치 프로세스의 일부로 다음 디렉토리에 설치됩니다.

    플랫폼
    경로
    RHEL / CentOS
    /usr/share/doc/mongodb-enterprise-server-6.0.17
    Ubuntu/Debian
    /usr/share/doc/mongodb-enterprise-server
    SUSE
    /usr/share/doc/packages/mongodb-enterprise-server
  • .tgz tarball에서 MongoDB Enterprise를 설치한 경우 이러한 파일이 tarball에 포함되었습니다.

1

플랫폼에 따라 MongoDB SNMP 구성 파일을 설치 위치에서 대상 디렉토리로 복사합니다.

  1. SNMP 파일이 설치된 위치로 이동합니다. 예를 들어 yum 패키지 관리자를 통해 최신 버전의 MongoDB를 설치한 경우입니다.

    cd /usr/share/doc/mongodb-enterprise-server-6.0.17
  2. 두 개의 MongoDB SNMP 파일을 대상 디렉토리에 복사합니다.

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. SNMP 파일이 설치된 위치로 이동합니다. 예를 들어 apt 패키지 관리자를 통해 MongoDB를 설치한 경우입니다.

    cd /usr/share/doc/mongodb-enterprise-server
  2. MONGOD-MIB.txt.gz 파일 을 대상 디렉토리 에 복사하고 압축을 풉니다.

    sudo cp MONGOD-MIB.txt.gz /usr/share/snmp/mibs/
    sudo gunzip /usr/share/snmp/mibs/MONGOD-MIB.txt.gz
  3. mongod.conf.subagent 파일 을 대상 디렉토리 에 복사합니다.

    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
  1. SNMP 파일이 설치된 위치로 이동합니다. 예를 들어 zypper 패키지 관리자를 통해 최신 버전의 MongoDB를 설치한 경우입니다.

    cd /usr/share/doc/packages/mongodb-enterprise-server
  2. 두 개의 MongoDB SNMP 파일을 대상 디렉토리에 복사합니다.

    sudo cp MONGOD-MIB.txt /usr/share/snmp/mibs/
    sudo cp mongod.conf.subagent /etc/snmp/mongod.conf
2

/etc/snmp/snmpd.conf 파일을 편집하고 다음을 추가합니다:

# sec.name source community
com2sec local localhost mongodb
# group.name sec.model sec.name
group MyRWGroup any local
# incl/excl subtree mask
view all included .1 80
# context sec.model sec.level prefix read write notif
access MyRWGroup "" any noauth 0 all all all
master agentx
AgentXSocket /tmp/agentx/master
AgentXPerms 0777 0777 mongod mongod
  1. snmpd 이(가) 아직 설치되지 않은 경우 설치합니다.

    sudo apt-get install snmpd
  2. /etc/snmp/snmpd.conf 파일을 편집하고 다음을 추가합니다:

    # sec.name source community
    com2sec local localhost mongodb
    # group.name sec.model sec.name
    group MyRWGroup any local
    # incl/excl subtree mask
    view all included .1 80
    # context sec.model sec.level prefix read write notif
    access MyRWGroup "" any noauth 0 all all all
    AgentXSocket /tmp/agentx/master
    AgentXPerms 0777 0777 mongodb mongodb

/etc/snmp/snmpd.conf 파일을 편집하고 다음을 추가합니다:

# sec.name source community
com2sec local localhost mongodb
# group.name sec.model sec.name
group MyRWGroup any local
# incl/excl subtree mask
view all included .1 80
# context sec.model sec.level prefix read write notif
access MyRWGroup "" any noauth 0 all all all
master agentx
AgentXSocket /tmp/agentx/master
AgentXPerms 0777 0777 mongod mongod

이 구성은 마스터 (snmpd)와 하위 에이전트 (MongoDB) 간의 통신을 위한 UNIX 도메인 소켓을 정의하고 관련 MongoDB SNMP 필드에 액세스하기 위한 기본 SNMP 권한을 정의합니다.

참고

마스터를 로컬 호스트가 아닌 IP 주소에 바인딩하려면 해당 IP 주소를 /etc/snmp/snmpd.conf 파일의 agentaddress 필드에 추가하고 유효한 주소 범위를 허용하도록 적절한 네트워크 보안 ACL을 업데이트합니다. 주소 범위가 10.0.0.0/8이고 보안 이름이 "mynetwork"인 경우 mongod.conf.master 구성 파일에 예시로 제공되었습니다.

위의 구성은 예시로만 제공됩니다. 사이트 보안 요구 사항에 따라 권한을 사용자 지정할 수 있습니다. MongoDB 지원팀에서는 SNMP용 MongoDB 구성에 대한 지침을 제공할 수 있지만 운영 체제에서 SNMP를 구성하는 것은 지원 범위를 벗어납니다.

3

사용 중인 Linux 버전에 적합한 초기화 시스템을 사용하여 시스템에서 SNMP를 시작합니다.

  • systemd (systemctl 명령)를 사용하는 Linux 시스템의 경우:

    sudo systemctl start snmpd
  • System V init (service 명령)를 사용하는 Linux 시스템의 경우:

    sudo service snmpd start
4

mongod snmp-subagent SNMP 마스터에 데이터를 전송하려면 로 를 시작합니다.

mongod --snmp-subagent
5

snmpwalk 테스트 명령을 사용하여 SNMP 쿼리에 MongoDB에 액세스할 수 있는지 확인합니다.

  1. 시스템에 snmpwalk 을(를) 설치합니다.

    sudo yum install net-snmp-utils
  2. 다음 매개변수를 사용하여 snmpwalk 를 실행하여 mongod 에서 데이터를 수집할 수 있는지 확인합니다.

    snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
  1. Debian 전용: 필요한 경우 /etc/apt/sources.list 파일 에 non-free 리포지토리 를 추가하여 snmp-mibs-downloader 패키지 에 액세스 합니다. 예를 예시 Debian 9 "Stretch"에서 프라이머리 리포지토리 항목은 다음과 같습니다.

    deb http://deb.debian.org/debian stretch main non-free
    deb-src http://deb.debian.org/debian stretch main non-free
  2. Debian / Ubuntu: snmp-mibs-downloader 패키지 를 설치하여 필요한 MIB 파일을 제공한 다음 snmpd 서비스를 다시 시작하여 새 MIB 파일을 다시 로드합니다.

    sudo apt-get update
    sudo apt-get -y install snmp-mibs-downloader
    sudo service snmpd restart
  3. Debian / Ubuntu: 다음 매개 변수를 사용하여 snmpwalk 를 실행하여 mongod 에서 데이터를 수집 기능 있는지 확인합니다.

    snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601
snmpwalk -m /usr/share/snmp/mibs/MONGOD-MIB.txt -v 2c -c mongodb 127.0.0.1:161 1.3.6.1.4.1.34601

snmpwalk 명령은 특히 sysUpTimememoryResident 와 같은 SNMP 필드의 현재 값을 표시해야 합니다.

참고

위의 테스트 명령 명령에 사용된 포트 161번은 의 프라이머리 포트가 snmpwalk snmpd 아니라 서비스의 port mongod기본 포트입니다. snmpd 서비스에 대해 다른 포트를 구성한 경우 대신 여기에 입력하세요.

테스트 목적으로 옵션과 함께 를 snmp-master 실행할 mongod 수 있습니다. 이렇게 하려면 하위 에이전트 구성 파일 대신 SNMP 마스터 구성 파일을 사용합니다. 압축을 푼 MongoDB 설치 파일이 포함된 디렉토리에서 다음을 수행합니다.

cp mongod.conf.master /etc/snmp/mongod.conf

참고

마스터를 로컬 호스트가 아닌 IP 주소에 바인딩하려면 해당 IP 주소를 /etc/snmp/mongod.conf 파일의 agentaddress 필드에 추가하고 유효한 주소 범위를 허용하도록 적절한 네트워크 보안 ACL을 업데이트합니다. 마스터 구성 파일에는 보안 이름이 "mynetwork"인 주소 범위가 예제로 제공되었습니다.

그런 다음 mongod snmp-master 옵션으로 를 시작합니다.

mongod --snmp-master

돌아가기

FAQ: 진단