MySQL 의 기본 튜 토리 얼 을 감시 하기 위해 Zabbix 설정 을 설치 합 니 다.

Zabbix 의 간단 한 설치 설정 설명
1.기 존의 LAMP 또는 LNMP 를 바탕 으로 zabbix 를 설치 하고 의존 팩 을 설치 합 니 다.

yum -y install mysql-devel libcurl-devel net-snmp-devel
2.사용자 추가:

groupadd zabbix
useradd zabbix -g zabbix
3.데이터 베 이 스 를 만 들 고 권한 수여 계 정 을 추가 합 니 다.

create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
4,컴 파일 설치 zabbix
   다운로드 주소:

wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.0/zabbix-2.2.0.tar.gz
tar zxf zabbix-2.2.0.tar.gz
cd zabbix-2.2.0
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent \
--with-mysql --with-net-snmp --with-libcurl
make install
5.데이터베이스 가 져 오기

mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/data.sql
6.프로필 수정

cp misc/init.d/fedora/core/zabbix_server /etc/init.d/
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
cp -R frontends/php /var/www/html/zabbix
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/^.*DBPassword=.*$/DBPassword=zabbix/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_agentd
7.서비스 포트 추가:

cat >>/etc/services <<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
8.서비스 시작

/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
echo "/etc/init.d/zabbix_server start" >> /etc/rc.local
echo "/etc/init.d/zabbix_agentd start" >> /etc/rc.local
9.웹 페이지 설정,http 접근 후 웹 로그 인 설정:http://ip/zabbix
zabbix 모니터링 mysql 성능
my sql 상태 값 을 가 져 와 서버 에 전달 하고 그림 을 그 려 서 my sql 의 작업 상황 을 관찰 할 수 있 습 니 다.보통 상태 변 수 는 다음 과 같 습 니 다.
  • Com_update:my sql 에서 실 행 된 업데이트 갯 수
  • Com_select:my sql 에서 실 행 된 조회 개수
  • Com_insert:mysql 에서 삽 입 된 개 수 를 실행 합 니 다
  • Com_delete:삭 제 된 개 수 를 실행 합 니 다
  • Com_rollback:스크롤 백 을 실행 하 는 동작 개수
  • Bytes_received:받 은 바이트 수
  • Bytes_sent:보 낸 바이트 수
  • Slow_queries:느 린 검색 어의 개수
  • 1.my sql 성능 모니터링 스 크 립 트 생 성
    
    #!/bin/bash
    #Create by zhengdazhi 2014.09.22
    MYSQL_DIR=/usr/local/mysql
    MYSQL=${MYSQL_DIR}/bin/mysql
    MYSQLADMIN=${MYSQL_DIR}/bin/mysqladmin
    MYSQL_SOCK="/tmp/mysql.sock"
    MYSQL_USER=root
    MYSQL_PWD=root
     
    ARGS=1 
    if [ $# -ne "$ARGS" ];then 
      echo "Please input one arguement:" 
    fi 
    case $1 in 
      Uptime) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f2 -d":"|cut -f1 -d"T"` 
          echo $result 
          ;; 
        Com_update) 
          result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_update"|cut -d"|" -f3` 
          echo $result 
          ;; 
        Slow_queries) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status |cut -f5 -d":"|cut -f1 -d"O"` 
            echo $result 
            ;; 
      Com_select) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_select"|cut -d"|" -f3` 
            echo $result 
            ;; 
      Com_rollback) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_rollback"|cut -d"|" -f3` 
            echo $result 
            ;; 
      Questions) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK status|cut -f4 -d":"|cut -f1 -d"S"` 
            echo $result 
            ;; 
      Com_insert) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_insert"|cut -d"|" -f3` 
            echo $result 
            ;; 
      Com_delete) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_delete"|cut -d"|" -f3` 
            echo $result 
            ;; 
      Com_commit) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_commit"|cut -d"|" -f3` 
            echo $result 
            ;; 
      Bytes_sent) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_sent" |cut -d"|" -f3` 
            echo $result 
            ;; 
      Bytes_received) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Bytes_received" |cut -d"|" -f3` 
            echo $result 
            ;; 
      Com_begin) 
        result=`${MYSQLADMIN} -u${MYSQL_USER} -p${MYSQL_PWD} -S $MYSQL_SOCK extended-status |grep -w "Com_begin"|cut -d"|" -f3` 
            echo $result 
            ;; 
     
        *) 
        echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)" 
        ;; 
    esac
    
    2.클 라 이언 트 프로필 수정
    zabbix 자체 가 가지 고 있 는 my sql 모니터링 템 플 릿 보기
    20151223111050744.png (300×202)
    이 템 플 릿 은 my sql.status 를 읽 는 키 임 을 알 수 있 습 니 다.따라서 클 라 이언 트 설정 파일 에 추 가 된 사용자 정의 키 이름 도 my sql.status 여야 합 니 다.
    
    vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
    #         
    UnsafeUserParameters=1
    #  mysql  
    UserParameter=mysql.status[*],/usr/local/zabbix_agent/bin/checkmysqlperformance.sh $1 $2
    
    클 라 이언 트 다시 시작
    3.테스트
    
    [root@localhost bin]# ./zabbix_get -s 127.0.0.1 -k mysql.status[Com_update]
    77503
    
    4.템 플 릿 을 호스트 에 추가
    20151223111109299.png (300×128)

    좋은 웹페이지 즐겨찾기