Zabbix 모니터링 MySQL 데이터베이스 자동 검색

결과는지도를 표시

우리도의 결과를 살펴 보자, 자동 검색 ZABBIX 두 번째 MySQL은 다음과 같습니다 자동 검색 MySQL의 결과로 밖으로 유량을 모니터링하여, 변경, 추가, 삭제 모니터 :
제 조작량 MySQL의 당

MySQL의 트래픽 모니터링

Zabbix 모니터링 기관에 MySQL의

첫째, 안전, 상대적으로 작은 권한의 사용자 모니터링, 사용을 만들 수 있습니다. SQL은 다음과

grant usage on *.* to 'monitor'@'127.0.0.1' identified by 'shijiangepwd';
flush privileges;

다음 테스트는 사용자가 발효 여부를 모니터링, 시험 결과는

mysql -umonitor -h 127.0.0.1 -pshijiangepwd -A
mysql> show global status;
+-----------------------------------------------+-------------+
| Variable_name                                 | Value       |
+-----------------------------------------------+-------------+
| Aborted_clients                               | 0           |
| Aborted_connects                              | 0           |
| Binlog_cache_disk_use                         | 0           |
| Binlog_cache_use                              | 0           |
| Binlog_stmt_cache_disk_use                    | 0           |
| Binlog_stmt_cache_use                         | 0           |

쉘 스크립트는 모니터링 작성

스크립트 MySQL의 상태 정보 mysql_check.sh를 모니터링하는 글로벌 상태를 표시합니다 :

port=$1
key=$2
mysql -umonitor -pshijiangepwd -h 127.0.0.1 -P${port} -e "show global status" |grep "${key}\s" |awk '{print $2}'

결과는 다음과 같이 Zabbix 모니터링 만에 수를 반환 할 필요가있다

[root@test ~]# sh mysql_check.sh 3306 Bytes_received
439
[root@test ~]# sh mysql_check.sh 3306 Bytes_sent
11935

MySQL의 모니터링 포트는 자동 검색 기능을 사용하는

자동 발견 스크립트 mysql_discovery.py를 사용하여 MySQL의 포트

# -*- coding: utf-8 -*-
try:
  import json
except:
  import simplejson as json
import commands

(status, output) = commands.getstatusoutput(""" sudo netstat -tlnp|grep mysql|awk '{print $4}'|awk -F':' '{print $2}'|sort -u """)
outputs = output.split('\n')
result = []
for one in  outputs:
  result.append( {'{#ONE}': one} )
print( json.dumps({'data':result},sort_keys=True,indent=4) )

당신은 sudo를를 사용하는 그래서 기본 Zabbix 사용자가, netstat 명령을 사용할 수 없습니다 Zabbix 사용자는 도우 권한이 visudo를 추가해야

zabbix ALL= NOPASSWD: /bin/netstat
Defaults:zabbix   !requiretty

다음과 같이 MySQL의 포트 자동 검색 결과입니다

[root@test ~]# python mysql_discovery.py 
{
    "data": [
        {
            "{#ONE}": "3306"
        }
    ]
}

모니터링 클라이언트는 사용자 정의 키 설정을 추가

모니터링 클라이언트는 Zabbix 에이전트를 다음과 같은 구성을 추가 한 다음 다시 시작해야

UserParameter=mysql.discovery,python /etc/zabbix/mysql_discovery.py
UserParameter=mysql.check[*],sh /etc/zabbix/mysql_check.sh $1 $2 2>/dev/null

왜 우리는 2>을 / dev / null을 추가해야합니다,이 버전은, 그래서 너무 필터링 다음과 같은 안전 수칙이있을 것이다 명령에 직접 코드를 작성하는 높은 MySQL의 예방이다

mysql: [Warning] Using a password on the command line interface can be insecure.

Zabbix 모니터링 구성 스크린 샷

MySQL은 MySQL의 모니터 구성 자동 검색

추천

출처blog.51cto.com/zhuangweihong/2428243