Zabbix 2.0에서 아이템 키 만들기

4501 단어 감시zabbixCentOS

경위


system.run 의 아이템 키로 find 커멘드를 사용해 파일수등을 집계해 감시하고 있었습니다만, 파일수가 많으면 find 발생했기 때문에 아이템 키를 자작하여 감시 방법을 변경했습니다.

환경


  • CentOS 5.7 64bit
  • Zabbix Server 2.0
  • Zabbix Agent 2.0.8

  • 모니터링 요구 사항


  • 감시 대상 디렉토리에 15 분 이상 존재하는 파일이 있을 때 경고를 올린다

  • 감시 방법



    변경 전


  • system.run 의 아이템 키로 find 커멘드를 사용해 파일수등을 집계

  • 변경 후


  • 감시 대상 서버의 스크립트에서 감시 대상 디렉토리의 파일 수를 카운트하고 Zabbix에서 결과를 얻습니다

  • 절차



    1. 스크립트 작성



    1.1. 디렉토리의 파일수를 취득해 파일에 토출하는 스크립트를 작성



    file_check.sh
    #!/bin/sh
    
    QUEUE="<監視対象ディレクトリ>"
    WAIT_TIME="15"
    
    rm -f /tmp/queue.wait
    
    for QUEUE_WAIT_DIR in `echo ${QUEUE}`
    do
            QUEUE_WAIT_NUM=`find ${QUEUE_WAIT_DIR} -type f -mmin +${WAIT_TIME} | wc -l`
            if [ -e ${QUEUE_WAIT_DIR} ] ; then
              echo "${QUEUE_WAIT_DIR} ${QUEUE_WAIT_NUM}" >> /tmp/queue.wait
            fi
    done
    

    1.2. cron에 작성한 스크립트 등록



    crontab
    $ crontab -e
    * * * * * <作成したスクリプト> > /dev/null 2>&1
    

    2. zabbix-agentd.conf에 파라미터 추가



    2.1. 하기 파라미터를 최종행에 추가



    인수 첨부 파라미터에 대해서는 여기 를 참고해 주세요.
    아래 queue.sizequeue.wait 가 키의 이름입니다.
    감시 대상 디렉토리내의 파일수의 수치만을 취득합니다.

    zabbix_agentd.conf
    # vim /etc/zabbix/zabbix_agentd.conf
    UserParameter=queue.wait[*],grep $1 /tmp/queue.wait | cut -f 2 -d " "
    

    2.2. zabbix-agent 프로세스 재시작


    # service zabbix-agent restart
    

    3. 아이템과 트리거 생성



    3.1. Zabbix 서버의 GUI에서 이런 식으로 아이템 만들기





    3.2. 다음으로 트리거 생성





    3.3. 조건식에 대해서


  • 항상 트리거 조건식을 쓰는 방법을 잊어 버리므로 써 둡니다.
  • {テンプレート名:queue.wait[<監視対象ディレクトリ>].count(#2,0,gt)}>0
    
    

    상기는, 최근 2회의 계측으로 감시 대상 디렉토리에 파일이 1개이기도 한 상태가 1회이면 트리거를 발동시킵니다.

    서식
    {テンプレート名:アイテム名.count(直近何回から取得するか, 値, "gtとかeqとか")}>回数
    

    이상!



    후기



    Zabbix 어렵습니다.
    좀 더 다양한 수 있지만 전혀 활용할 수 없기 때문에 정진합니다!
    이런 마도로 멋진 방법 하고 있는 시점이었던 느낌이군요!

    좋은 웹페이지 즐겨찾기