시스템 간 데이터 플랫폼 및 성능. 섹션 5는 SNMP로 모니터링

시스템 간 데이터 플랫폼 및 성능. 섹션 5는 SNMP로 모니터링


이전 글에서 나는 PButton을 사용하여 역사적 성능 지표를 수집하는 방법을 보여 주었다.나는 우선 pButtons에 간다. 왜냐하면 나는 그것이 모든 데이터 플랫폼의 실례 (Ensemble, Caché 등) 에 설치되어 있다는 것을 알고 있기 때문이다.그러나 캐시 성능 지표를 실시간으로 수집, 처리, 표시하는 다른 방법도 있어 간단한 모니터링에 사용되고 더욱 복잡한 운영 분석과 용량 계획에 사용된다.가장 일반적인 데이터 수집 방법 중 하나는 SNMP(Simple Network Management Protocol)를 사용하는 것입니다.
SNMP는 Caché가 다양한 관리 도구에 관리 및 모니터링 정보를 제공하는 표준 방식입니다.Caché 온라인 문서에는 Caché와 SNMP 간의 인터페이스에 대한 자세한 내용이 포함되어 있습니다.SNMP는 Caché에만 적용되어야 하지만 구성 기법과 트랩이 있습니다.Caché가 운영체제 SNMP 메인 에이전트와 대화를 하기 위해 저는 InterSystems의 다른 사람들의 도움으로 여러 차례 잘못된 시작을 겪었기 때문에 이 글을 썼습니다. 그러면 같은 고통을 피할 수 있습니다.
본고에서 빨간색 모자 Linux의 Caché에 SNMP를 설정하고 설정하는 방법을 소개하겠습니다. 다른 *nix 스타일에 대해 같은 절차를 사용할 수 있어야 합니다.저는 Red Hat으로 이 글을 썼습니다. Linux의 설정이 좀 복잡할 수 있기 때문입니다. Windows에서 Caché는 DLL을 자동으로 설치하여 표준 Windows SNMP 서비스를 연결하기 때문에 더욱 쉽게 설정할 수 있습니다.
서버 쪽에서 SNMP를 설정하면 원하는 수의 도구를 사용하여 모니터링을 시작할 수 있습니다.유행하는 PRTG 도구를 사용하여 모니터링하는 것을 보여 드리겠습니다. 하지만 다른 도구도 많습니다. - Here is a partial list.
Caché 및 통합 MIB 파일은 Caché_installation_directory/SNMP 폴더에 포함되며 파일은 ISC-CACHE.mibISC-ENSEMBLE.mib 입니다.

이 시리즈의 이전 게시물:

  • Part 1 - Getting started on the Journey, collecting metrics.
  • Part 2 - Looking at the metrics we collected.
  • Part 3 - Focus on CPU.
  • Part 4 - Looking at memory.
  • 여기서부터...


    먼저 Caché online documentation 에서 SNMP 를 사용한 모니터링 Caché 를 참조하십시오.

    1. Caché 구성


    Caché online documentation의'Caché에서 SNMP 관리'부분의 절차에 따라 Caché 모니터링 서비스를 활성화하고 Caché SNMP 서브프록시를 Caché가 시작될 때 자동으로 시작하도록 구성합니다.
    Caché 프로세스가 실행 중인지 확인합니다(예: 프로세스 목록이나 운영 체제 보기).
    ps -ef | grep SNMP
    root      1171  1097  0 02:26 pts/1    00:00:00 grep SNMP
    root     27833     1  0 00:34 pts/0    00:00:05 cache -s/db/trak/hs2015/mgr -cj -p33 JOB^SNMP
    
    이렇게 해서 Caché 구성이 완성되었습니다!

    2. 운영 체제 구성


    여기에 아직 해야 할 일이 좀 있다.우선 snmpd 수호 프로세스가 설치되어 실행 중인지 확인합니다.없으면 snmpd를 설치하고 시작합니다.
    snmpd 상태 확인:
    service snmpd status
    
    snmpd를 시작하거나 중지하려면 다음과 같이 하십시오.
    service snmpd start|stop
    
    snmp가 설치되어 있지 않으면 다음과 같은 운영 체제 지침에 따라 설치해야 합니다.
    yum -y install net-snmp net-snmp-utils
    

    3. snmpd 설정


    Caché 문서에서 설명한 바와 같이 Linux 시스템에서 가장 중요한 임무는 시스템의 SNMP 메인 에이전트가 에이전트 확장성(AgentX) 프로토콜과 호환되는지 확인하고(Caché가 하위 에이전트로 실행되는) 메인 에이전트가 활성 상태인지 확인하고 표준 AgentX TCP 포트 705의 연결을 탐지하는 것이다.
    이것이 바로 내가 문제에 부딪힌 곳이다.나는 snmp.conf 파일에서 기본적인 오류를 범했다. 이것은 Caché SNMP 서브에이전트가 운영체제 메인 에이전트와 통신하지 않았다는 것을 의미한다.다음 예제/etc/snmp/snmp.conf 파일은 에이전트X를 시작하고 Caché 및 통합 SNMP MIB에 대한 액세스를 제공하도록 구성되었습니다.
    참고: 다음 구성이 조직 보안 정책에 부합하는지 확인해야 합니다.
    시스템 설정을 반영하려면 적어도 다음 행을 편집해야 합니다.
    예를 들어 변경:
    syslocation  "System_Location"
    
    ... 에 이르다
    syslocation  "Primary Server Room"
    
    다음 두 줄 이상을 편집합니다.
    syscontact  "Your Name"
    trapsink  Caché_database_server_name_or_ip_address public  
    
    다음과 일치하도록 기존 /etc/snmp/snmp.conf 파일을 편집하거나 교체합니다.
    ###############################################################################
    #
    # snmpd.conf:
    #   An example configuration file for configuring the NET-SNMP agent with Cache.
    #
    #   This has been used successfully on Red Hat Enterprise Linux and running
    #   the snmpd daemon in the foreground with the following command:
    #
    #   /usr/sbin/snmpd -f -L -x TCP:localhost:705 -c./snmpd.conf
    #
    #   You may want/need to change some of the information, especially the
    #   IP address of the trap receiver of you expect to get traps. I've also seen
    #   one case (on AIX) where we had to use  the "-C" option on the snmpd command
    #   line, to make sure we were getting the correct snmpd.conf file. 
    #
    ###############################################################################
    
    ###########################################################################
    # SECTION: System Information Setup
    #
    #   This section defines some of the information reported in
    #   the "system" mib group in the mibII tree.
    
    # syslocation: The [typically physical] location of the system.
    #   Note that setting this value here means that when trying to
    #   perform an snmp SET operation to the sysLocation.0 variable will make
    #   the agent return the "notWritable" error code.  IE, including
    #   this token in the snmpd.conf file will disable write access to
    #   the variable.
    #   arguments:  location_string
    
    syslocation  "System Location"
    
    # syscontact: The contact information for the administrator
    #   Note that setting this value here means that when trying to
    #   perform an snmp SET operation to the sysContact.0 variable will make
    #   the agent return the "notWritable" error code.  IE, including
    #   this token in the snmpd.conf file will disable write access to
    #   the variable.
    #   arguments:  contact_string
    
    syscontact  "Your Name"
    
    # sysservices: The proper value for the sysServices object.
    #   arguments:  sysservices_number
    
    sysservices 76
    
    ###########################################################################
    # SECTION: Agent Operating Mode
    #
    #   This section defines how the agent will operate when it
    #   is running.
    
    # master: Should the agent operate as a master agent or not.
    #   Currently, the only supported master agent type for this token
    #   is "agentx".
    #   
    #   arguments: (on|yes|agentx|all|off|no)
    
    master agentx
    agentXSocket tcp:localhost:705
    
    ###########################################################################
    # SECTION: Trap Destinations
    #
    #   Here we define who the agent will send traps to.
    
    # trapsink: A SNMPv1 trap receiver
    #   arguments: host [community] [portnum]
    
    trapsink  Caché_database_server_name_or_ip_address public  
    
    ###############################################################################
    # Access Control
    ###############################################################################
    
    # As shipped, the snmpd demon will only respond to queries on the
    # system mib group until this file is replaced or modified for
    # security purposes.  Examples are shown below about how to increase the
    # level of access.
    #
    # By far, the most common question I get about the agent is "why won't
    # it work?", when really it should be "how do I configure the agent to
    # allow me to access it?"
    #
    # By default, the agent responds to the "public" community for read
    # only access, if run out of the box without any configuration file in 
    # place.  The following examples show you other ways of configuring
    # the agent so that you can change the community names, and give
    # yourself write access to the mib tree as well.
    #
    # For more information, read the FAQ as well as the snmpd.conf(5)
    # manual page.
    #
    ####
    # First, map the community name "public" into a "security name"
    
    #       sec.name  source          community
    com2sec notConfigUser  default       public
    
    ####
    # Second, map the security name into a group name:
    
    #       groupName      securityModel securityName
    group   notConfigGroup v1           notConfigUser
    group   notConfigGroup v2c           notConfigUser
    
    ####
    # Third, create a view for us to let the group have rights to:
    
    # Make at least  snmpwalk -v 1 localhost -c public system fast again.
    #       name           incl/excl     subtree         mask(optional)
    # access to 'internet' subtree
    view    systemview    included   .1.3.6.1
    
    # access to Cache MIBs Caché and Ensemble
    view    systemview    included   .1.3.6.1.4.1.16563.1
    view    systemview    included   .1.3.6.1.4.1.16563.2
    ####
    # Finally, grant the group read-only access to the systemview view.
    
    #       group          context sec.model sec.level prefix read   write  notif
    access  notConfigGroup ""      any       noauth    exact  systemview none none
    
    /etc/snmp/snmp.conf 파일을 편집한 후 snmpd deamon을 다시 시작합니다.
    service snmpd restart
    
    snmpd 상태를 확인하십시오. AgentX가 시작되었습니다. 상태 줄 참조: AgentX 호스트 지원을 엽니다.
    h-4.2# service snmpd restart
    Redirecting to /bin/systemctl restart  snmpd.service
    sh-4.2# service snmpd status
    Redirecting to /bin/systemctl status  snmpd.service
    ● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
       Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
       Active: active (running) since Wed 2016-04-27 00:31:36 EDT; 7s ago
     Main PID: 27820 (snmpd)
       CGroup: /system.slice/snmpd.service
               └─27820 /usr/sbin/snmpd -LS0-6d -f
    
    Apr 27 00:31:36 vsan-tc-db2.iscinternal.com systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
    Apr 27 00:31:36 vsan-tc-db2.iscinternal.com snmpd[27820]: Turning on AgentX master support.
    Apr 27 00:31:36 vsan-tc-db2.iscinternal.com snmpd[27820]: NET-SNMP version 5.7.2
    Apr 27 00:31:36 vsan-tc-db2.iscinternal.com systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
    sh-4.2# 
    
    snmpd를 다시 시작한 후 ^SNMP 루틴을 사용하여 Caché SNMP 하위 에이전트를 다시 시작해야 합니다.
    %SYS>do stop^SNMP()
    
    %SYS>do start^SNMP(705,20)
    
    운영체제 snmpd 수호 프로세스와 Caché subagent가 실행 중이며 접근할 수 있습니다.

    4.MIB 액세스 테스트


    다음 명령을 사용하여 명령줄에서 MIB 액세스를 확인할 수 있습니다.snmpget 개별 값을 반환합니다.
    snmpget -mAll -v 2c -c public vsan-tc-db2 .1.3.6.1.4.1.16563.1.1.1.1.5.5.72.50.48.49.53
    
    SNMPv2-SMI::enterprises.16563.1.1.1.1.5.5.72.50.48.49.53 = STRING: "Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.1 (Build 705U) Mon Aug 31 2015 16:53:38 EDT"
    
    snmpwalk MIB 트리 또는 분기 걷기:
    snmpwalk -m ALL -v 2c -c public vsan-tc-db2 .1.3.6.1.4.1.16563.1.1.1.1
    
    SNMPv2-SMI::enterprises.16563.1.1.1.1.2.5.72.50.48.49.53 = STRING: "H2015"
    SNMPv2-SMI::enterprises.16563.1.1.1.1.3.5.72.50.48.49.53 = STRING: "/db/trak/hs2015/cache.cpf"
    SNMPv2-SMI::enterprises.16563.1.1.1.1.4.5.72.50.48.49.53 = STRING: "/db/trak/hs2015/mgr/"
    etc
    etc
    
    시스템 데이터를 볼 수 있는 윈도우즈와 *nix 클라이언트가 몇 개 더 있습니다.무료 iReasoning MIB 브라우저를 사용합니다.ISC-CACHE를 로드해야 합니다.MIB 파일을 클라이언트로 가져와 MIB의 구조를 파악합니다.
    다음 그림은 OSX의 iReasoning MIB 브라우저를 보여 줍니다.

    모니터링 도구에 포함


    이것이 바로 실현 과정에서 큰 차이가 존재할 수 있는 부분이다.모니터링이나 분석 도구의 선택은 내가 너에게 남겨 줄게.
    게시물에 메시지를 남겨 시스템을 모니터링하고 관리하는 데 사용할 수 있는 도구와 가치를 자세히 설명해 주십시오.이것은 다른 지역 사회 구성원들에게 큰 도움이 될 것이다.
    다음은 유행하는 PRTG 네트워크 모니터의 화면 캡처로 Caché 지표를 보여 줍니다.PRTG에 Caché 지표를 포함하는 절차는 다른 도구와 유사합니다.

    예제 워크플로우 - 모니터링 도구에 Caché MIB를 추가합니다.


    1단계.


    운영 체제 MIB에 연결할 수 있는지 확인합니다.하나의 팁은 Caché가 아닌 운영 체제에 대한 문제 해결입니다.모니터링 도구는 일반 운영체제 MIB에 대한 사전 구성을 알고 있을 가능성이 높기 때문에 공급업체나 다른 사용자에게 도움을 제공하기가 더욱 쉽다.
    선택한 모니터링 도구에 따라 SNMP "모듈"또는 "응용 프로그램"을 추가해야 할 수도 있습니다. 보통 무료이거나 원본입니다.나는 이 단계의 공급업체의 설명이 매우 간단하다는 것을 발견했다.
    일단 운영체제의 지표를 감시하고 있다면, Caché를 추가할 때가 되었다.

    단계 2.

    ISC-CACHE.mibISC-ENSEMBLE.mib 도구를 가져와 MIB 구조를 파악합니다.
    이곳의 절차는 다를 것이다.예를 들어, PRTG에는 MIB 가져오기 유틸리티가 있습니다.기본 단계는 도구에서 텍스트 파일ISC-CACHE.mib을 열고 도구 내부 형식으로 가져오는 것입니다.예를 들어, Splunk는 Python 형식 등을 사용합니다.
    참고: 모든 Caché MIB 브랜치가 있는 센서를 추가하려고 하면 PRTG 도구가 시간을 초과하는 것을 발견할 수 있습니다.나는 그것이 전체 트리를 훑어보았고 일부 지표 (예를 들어 프로세스 목록) 를 초과했다고 가정한다. 나는 이것에 대해 문제를 해결하는 데 시간이 걸리지 않고 ISC-CACHE.mib 에서 성능 지점 (cachePerfTab) 을 가져와서 이 문제를 해결했다.
    MIB를 가져오거나 변환하면 네트워크의 다른 서버에서 데이터를 수집하는 데 다시 사용할 수 있습니다.위의 그림에서는 PRTG가 센서 팩토리 센서를 사용하여 여러 센서를 하나의 차트에 통합하는 것을 보여 줍니다.

    총결산


    많은 모니터링, 경보, 그리고 매우 지능적인 분석 도구를 사용할 수 있으며, 일부는 무료이며, 다른 일부는 지원 허가증과 다양한 기능을 가지고 있다.
    시스템을 모니터링하고 어떤 활동이 정상인지, 어떤 활동이 정상 범위를 초과하는지 파악해야 합니다.SNMP는 Caché와 통합 메트릭을 공개하는 간단한 방법입니다.

    좋은 웹페이지 즐겨찾기