zabbix와 pyvmomi로 네트워크 연결 해제 자동화

pyvmomi로 만든 스크립트를 Zabbix에서 실행하여 자동화하는 샘플을 만들어 보았습니다.
여기서는 모니터링 대상 호스트에서 얻은 값으로 경고가 발생하면 Zabbix 서버 측에서 스크립트를 실행하여 모니터링 대상 호스트 (VM)의 vNIC를 자동으로 연결해 봅니다.

검증 정책


  • Zabbix 서버, 모니터링 클라이언트 모두 CentOS 사용
  • Zabbix 서버에 모니터링 클라이언트 등록, 트리거 설정 및 동작 설정
  • 모니터링 대상 호스트에서 zabbix_sender로 값을 날려 트리거를 발생시킵니다.
  • vCenter에서 VM의 vNIC가 분리되었는지 확인합니다.

    환경




    품목
    내용


    OS
    CentOS 7.3

    Zabbix
    3.2.7-1

    파이썬
    python34

    pyvmomi
    6.5.0.2017.5.post1

    vCenter
    버전 6.5.0 빌드 4602587

    호스트
    Zabbix 서버 : ZBX_SRV, 모니터링 대상 호스트 : ZBX_AGE


    vNIC 절단 도구



    소스 코드



    htps : // 기 st. 기주 b. 코 m / 스카이 쇼케 r / 0c9에 689d982c9871d7967661c596에 cbd

    사용법



    (1) 사용법은 다음과 같습니다.
    [root@localhost ~]# ./vm_disconnect_nw.py vCenterのIP ログインユーザー名 パスワード 対象VM名 対象vNIC名
    [root@localhost ~]# ./vm_disconnect_nw.py xxx.xxx.xxx.xxx [email protected] password ZBX_AGE 'Netwok adapter 1'
    

    검증



    호스트 등록



    (1) 호스트 정보는 다음과 같습니다.



    (2) 다음 매크로를 등록합니다.


    품목
    내용


    {$VCENTER_IP}
    vCenter IP

    {$USERNAME}
    vCenter에 로그인할 사용자 이름

    {$PASSWORD}
    vCenter에 로그인하는 사용자의 비밀번호




    (3) 아이템은 다음과 같이 등록되어 있습니다.



    (4) 트리거는 다음과 같이 등록되어 있습니다.



    액션 설정



    (1) 액션은 다음과 같이 등록되어 있습니다.



    (2) 실행 내용은 다음과 같이 등록되어 있습니다.


    /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py {$VCENTER_IP} {$USERNAME} {$PASSWORD} {HOST.HOST} 'Network adapter 1'
    

    vNIC 연결 해제 도구 설치



    (1) 도구를 다운로드합니다.
    [root@ZBX_SRV ~]# git clone https://gist.github.com/0c9e689d982c9871d7967661c596ecbd.git
    Cloning into '0c9e689d982c9871d7967661c596ecbd'...
    remote: Counting objects: 3, done.
    remote: Compressing objects: 100% (2/2), done.
    remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (3/3), done.
    

    (2) zabbix의 스크립트 디렉토리에 복사합니다.
    [root@ZBX_SRV ~]# cp 0c9e689d982c9871d7967661c596ecbd/vm_disconnect_nw.py /usr/lib/zabbix/externalscripts/
    [root@ZBX_SRV ~]# chmod +x /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py
    [root@ZBX_SRV ~]# chown zabbix.zabbix /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py
    [root@ZBX_SRV ~]# chmod 750 /usr/lib/zabbix/externalscripts/vm_disconnect_nw.py
    

    검증 실행



    (1) ZBX_AGE의 vNIC 상태가 연결 중인지 확인합니다.



    (2) ZBX_AGE에서 「1」을 송신합니다.
    [root@ZBX_AGE ~]# zabbix_sender -z zabbixサーバIP -s 'ZBX_AGE' -k test.item -o 1
    

    (3) 작업이 실행되고 ZBX_AGE의 vNIC가 연결 해제되었는지 확인합니다.





    vNIC가 끊어졌습니다 :-)
    이러한 느낌으로 pyvmomi + Zabbix를 조합하여 VMware의 자동화를 할 수 있습니다.
    자동화가 제대로 빠지면 매우 편리하네요!
  • 좋은 웹페이지 즐겨찾기