icinga는 NSCA로 원격 Linux 서버 모니터링

7620 단어
앞의 두 편에 이어 앞에.111에 icinga 서버를 구축했고 원격.131Linux 서버의 HTTP 서비스를 모니터링했다.
HTTP 서비스는 공공 서비스에 속하기 때문에 원격 기기에 에이전트를 설치할 필요가 없지만 감시.131의 로컬 자원, 예를 들어 디스크, CPU 등이 필요하면 소프트웨어를 설치해야 한다.
icinga는 두 가지 모델을 제공했는데 하나는 active check이라고 하는데 바로 서버입니다. 111 퀴즈. 131입니다. 이런 효율은 하지 않고 추천하지 않습니다.또 다른 모드는passive check입니다. 원격 에이전트가 메시지를 보내기를 기다리는 것입니다.
NSCA 플러그인을 icinga와 함께 사용하면 이러한 효과를 얻을 수 있습니다.추천하는 건데 아쉽게도 작년부터 종료된 프로젝트라 계속하려면 혼자 와야 해요.
일단 어떻게 쓰는지 보자.이 문서는 우리가 설치하고 사용하는 것을 도울 수 있다.http://docs.icinga.org/latest/en/nsca.html
나는 단지 요점만 말할 뿐이다.
1. 실행할 때
./nsca -c ../sample-config/nsca.cfg

사용 권한이 부족하면 간단히chmod -R 777로 직접 디렉터리 사용 권한을 수정합니다
2.10.3.6 에서 xinetd 방법을 선택하고 Ubuntu 에서 설치합니다.
apt-et install xinetd

그런 다음/etc/hosts를 편집합니다.allow 파일, 행 추가:
ALL: 10.112.18.131

3. 일부 파일을 복사한 131기계에 incinga 사용자를 만들 필요가 없고 루트로 테스트할 수 있습니다
4..111 icinga 서버에 linux.cfg 파일은 다음과 같이 구성됩니다.
define host{
        use             linux-server            ; Inherit default values from a template
        host_name       StaticFileServer              ; The name we're giving to this host                                                                                       
        alias           static filer server for 3D and jenksins server for CloudEngine        ; A longer name associated with the host                                           
        address         10.112.18.131            ; IP address of the host                                                                                                        
        contact_groups  admins                ; Host groups this host is associated with                                                                                         
        }                                                                                                                                                                        
                                                                                                                                                                                 
# check that web services are running                                                                                                                                            
define service{                                                                                                                                                                  
        host_name                  StaticFileServer                                                                                                                              
        service_description             HTTP                                                                                                                                     
        check_command                   check_http                                                                                                                               
        use                             generic-service                                                                                                                          
        action_url                      http://10.112.18.131/ArcGIS/rest/services/SanFrancisco/3DFeatureServer                                                                   
        notification_interval           0 ; set > 0 if you want to be renotified                                                                                                 
}                                                                                                                                                                                
                                                                                                                                                                                 
define service{                                                                                                                                                                  
    use                     generic-service   ; template to inherit from                                                                                                         
    name                    passive-service   ; name of this template                                                                                                            
    active_checks_enabled   0                 ; no active checks                                                                                                                 
    passive_checks_enabled  1                 ; allow passive checks                                                                                                             
    check_command           check_dummy!0     ; use "check_dummy", RC=0 (OK)                                                                                                     
    check_period            24x7              ; check active all the time                                                                                                        
    check_freshness         0                 ; do not check if check result is stale                                                                                            
    register                0                 ; this is a template, not a real service                                                                                           
    }                                                                                                                                                                            
                                                                                                                                                                                 
define service{                                                                                                                                                                  
    use                     passive-service   ; template to inherit from                                                                                                         
    host_name               StaticFileServer        ; host where send_nsca is located                                                                                            
    service_description     Diskspace         ; service to be checked                                                                                                            
    }     

5. 로그 파일 위치:/usr/local/icinga/var/icinga.log
6. commands.cfg에서 check 정의됨dummy 명령, 수정 필요 없음
7..131에서 명령 테스트를 실행하여 데이터를 전송합니다.
echo -e "StaticFileServer\tDiskspace\t0\t/var=78%
" | /usr/local/icinga/bin/send_nsca -H 10.112.18.111 -c /usr/local/icinga/etc/send_nsca.cfg

StaticFile Server는 대소문자가 틀리면 안 되며/var=78%가 메시지를 보냅니다.
- H 뒤에 icinga 서버의 IP 주소
8.마지막으로 일지를 보면 다음과 같다.
[1368620324] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;StaticFileServer;Diskspace;0;/var=78%
[1368620332] PASSIVE SERVICE CHECK: StaticFileServer;Diskspace;0;/var=78%

9. 웹 페이지에서도 한 줄의 기록을 볼 수 있다.
그런데 글을 다 쓰면 안 보여요. 아직도 아이카에 익숙하지 않아요.나중에 찾아서 캡처해.
요약: NSCA는 모니터링 단말기가 서버에 메시지를 보내는 통신 문제를 해결하고 모니터링 스크립트는 스스로 작성하여 데이터를 수집하는 데 사용해야 한다.그래서 이 구조는 매우 유연해서 마음대로 발휘할 수 있다.하지만 하는 일은 적지 않다. 나중에 전체적인 해결 방안을 시도할 것이다. CheckMK, 이 위에서 2차 개발할 수 있다면 기능은 매우 강력할 것이다.

좋은 웹페이지 즐겨찾기