모니터링 데이터베이스는 세 가지 유형으로 나누어 져 있습니다 :
1.Zabbix 서버 모니터링 템플릿은 MySQL 데이터베이스에 대한 암호없이 제공
2.Zabbix 서버는 MySQL 데이터베이스 암호를 모니터링하기 위해 함께 제공되는 템플릿
3.Zabbix 서버 모니터링 템플릿은보다 유연한 MySQL 데이터베이스와 함께 제공
A :
A.는 MariaDB 설치
1>. 설치 MariaDB
![](https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif)
[루트 @의 node102 ~] # yum을 -y mariadb 서버를 설치 로드 플러그인 : fastestmirror 캐시 된 hostfile에서로드 미러 속도 * 기본 : mirrors.163.com * 엑스트라 : mirrors.aliyun.com * 업데이트 : mirrors.163.com 종속성을 해결 -> 실행 트랜잭션 확인 ---> 패키지 mariadb-server.x86_64 1 : 5.5.60-1.el7_5가 설치됩니다 -> 처리 의존성 : 패키지 펄 DBI : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 처리 종속성 : 패키지 펄-DBD-MySQL은 : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 처리 종속성 : 펄 (데이터 : 덤퍼) 패키지 : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 처리 의존성 : 패키지 펄 (DBI) : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 처리 의존성 : 패키지 libaio.so.1 (LIBAIO_0.4) (64 비트) : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 처리 의존성 : 패키지 libaio.so.1 (LIBAIO_0.1) (64 비트) : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 처리 의존성 : libaio.so.1 () (64 비트) 패키지 : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 -> 실행 트랜잭션 확인 ---> 패키지 libaio.x86_64 0 : 0.3.109-13.el7가 설치됩니다 ---> 패키지 펄-DBD-MySQL.x86_64 0 : 4.023-6.el7가 설치됩니다 ---> 패키지 펄 DBI.x86_64 0 : 1.627-4.el7가 설치됩니다 -> 처리 의존성 : 펄 (RPC : PlServer)> = 0.2001 패키지 : 펄 DBI-1.627-4.el7.x86_64 -> 처리 의존성 : 펄 (RPC : PlClient)> = 0.2000 패키지 : 펄 DBI-1.627-4.el7.x86_64 ---> 패키지 펄 - 데이터 - Dumper.x86_64 0 : 2.145-3.el7가 설치됩니다 -> 실행 트랜잭션 확인 ---> 패키지 펄 PlRPC.noarch 0 : 0.2020-14.el7가 설치됩니다 -> 처리 종속성 : 펄 (NET : 데몬)> = 패키지 0.13 : 펄 - PlRPC-0.2020-14.el7.noarch -> 처리 종속성 : 펄 (NET : 데몬 :: 시험) 패키지 : 펄 PlRPC-0.2020-14.el7.noarch -> 처리 종속성 : 펄 (NET : 데몬 :: 로그인) 패키지 : 펄 PlRPC-0.2020-14.el7.noarch -> 처리 종속성 : 펄 (압축 :: Zlib의) 패키지 : 펄 PlRPC-0.2020-14.el7.noarch -> 실행 트랜잭션 확인 ---> 패키지 펄-IO-Compress.noarch 0 : 2.061-2.el7가 설치됩니다 -> 처리 종속성 : 펄 (압축 :: 원시 :: Zlib의)> = 패키지 2.061 : 펄-IO-압축-2.061-2.el7.noarch -> 처리 종속성 : 펄 (압축 :: 원시 :: Bzip2의)> = 패키지 2.061 : 펄-IO-압축-2.061-2.el7.noarch ---> 패키지 펄-NET-Daemon.noarch 0 : 0.48-5.el7가 설치됩니다 -> 실행 트랜잭션 확인 ---> 패키지 펄 - 압축 - 원시 Bzip2.x86_64 0 : 2.061-3.el7가 설치됩니다 ---> 패키지 펄 - 압축 - 원시 Zlib.x86_64 1 : 2.061-4.el7가 설치됩니다 -> 완료 종속성 해결 종속성 해결 ================================================== ================================================== ================================================== ===================================== 패키지 아치 버전 저장소 크기 ================================================== ================================================== ================================================== ===================================== 설치 : mariadb 서버 x86_64의 1 :베이스 11 M 5.5.60-1.el7_5 종속성을 설치 : 0.3.109-13.el7 x86_64의베이스 (24) K가 libaio 펄 압축 - 원시의 bzip2 2.061-3.el7 x86_64의베이스 (32) K 펄 압축 - 원시의 Zlib x86_64의 1 :베이스 57 K 2.061-4.el7 펄 DBD-MySQL의 x86_64의 4.023-6.el7베이스 140 K 펄 DBI의 x86_64의 1.627-4.el7베이스 802 K 펄 데이터 덤퍼 2.145-3.el7 x86_64의베이스 (47) K 펄 IO-압축 noarch 2.061-2.el7베이스 260 K 펄 넷 데몬 noarch 0.48-5.el7베이스 51 K 펄 PlRPC noarch 0.2020-14.el7베이스 36 K 거래 요약 ================================================== ================================================== ================================================== ===================================== 1 개 패키지를 설치 (9 개 종속 패키지) 총 다운로드 크기 : 12 M 설치 크기 : 62 M 패키지를 다운로드 : (1/10)가 libaio-0.3.109-13.el7.x86_64.rpm | 24 킬로바이트 0시 0분 0초 (2/10) : 펄 - 압축 - 원시 - Zlib의-2.061-4.el7.x86_64.rpm | 57 킬로바이트 0시 0분 0초 (3/10) : 펄 - 데이터 - 덤퍼-2.145-3.el7.x86_64.rpm | 47 킬로바이트 0시 0분 0초 (4/10) : 펄 - 압축 - 원시 Bzip2-2.061-3.el7.x86_64.rpm | 32kB의 0시 0분 0초 (5/10) : 펄-IO-압축-2.061-2.el7.noarch.rpm | 260 킬로바이트 0시 0분 0초 (6/10) : 펄-NET-데몬 - 0.48-5.el7.noarch.rpm | 51 킬로바이트 0시 0분 0초 (7/10) : 펄 - PlRPC-0.2020-14.el7.noarch.rpm | 36 킬로바이트 0시 0분 0초 (8/10) : 펄-DBD-MySQL을 4.023-6.el7.x86_64.rpm | 140 킬로바이트 0시 0분 0초 (9/10) : 펄 DBI-1.627-4.el7.x86_64.rpm | 802 킬로바이트 0시 0분 0초 (10/10) : mariadb - 서버 5.5.60-1.el7_5.x86_64.rpm | 11메가바이트 0시 0분 7초 -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ------------------------------------- | 1.7 MB 총 / S 12메가바이트 0시 0분 7초 트랜잭션 검사를 실행 트랜잭션 테스트를 실행 트랜잭션 테스트 성공 실행 트랜잭션 설치 : 펄 - 데이터 - 덤퍼-2.145-3.el7.x86_64 1/10 설치 :가 libaio-0.3.109-13.el7.x86_64 2/10 설치 : 1 : 펄 - 압축 - 원시 - Zlib의-2.061-4.el7.x86_64 3/10 설치 : 펄-NET-데몬 - 0.48-5.el7.noarch 4/10 설치 : 펄 - 압축 - 원시 Bzip2-2.061-3.el7.x86_64 5/10 설치 : 펄-IO-압축-2.061-2.el7.noarch 6/10 설치 : 펄 - PlRPC-0.2020-14.el7.noarch 7/10 설치 : 펄 DBI-1.627-4.el7.x86_64 8/10 설치 : 펄-DBD-MySQL을 4.023-6.el7.x86_64 9/10 설치 : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 10/10 확인 : 1 : mariadb - 서버 5.5.60-1.el7_5.x86_64 1/10 확인 : 펄 - 압축 - 원시 Bzip2-2.061-3.el7.x86_64 2/10 확인 : 펄-NET-데몬 - 0.48-5.el7.noarch 3/10 확인 : 펄 - 데이터 - 덤퍼-2.145-3.el7.x86_64 4/10 확인 : 펄-DBD-MySQL을 4.023-6.el7.x86_64 5/10 확인 : 펄-IO-압축-2.061-2.el7.noarch 6/10 확인 : 1 : 펄 - 압축 - 원시 - Zlib의-2.061-4.el7.x86_64 7/10 확인 : 펄 DBI-1.627-4.el7.x86_64 8/10 확인 :가 libaio-0.3.109-13.el7.x86_64 9/10 확인 : 펄 - PlRPC-0.2020-14.el7.noarch 10/10 설치 : mariadb-server.x86_64 1 : 5.5.60-1.el7_5 종속성은 설치 : libaio.x86_64 0 : 0.3.109-13.el7 펄 - 압축 - 원시 Bzip2.x86_64 0 : 2.061-3.el7 펄 - 압축 - 원시 Zlib.x86_64 1 : 2.061-4.el7 펄-DBD-MySQL을. x86_64에 0 : 4.023-6.el7 펄 DBI.x86_64 0 : 1.627-4.el7 펄 - 데이터 - Dumper.x86_64 0 : 2.145-3.el7 펄-IO-Compress.noarch 0 : 2.061-2.el7 펄-NET-Daemon.noarch 0 : 0.48 -5.el7 펄 PlRPC.noarch 0 : 0.2020-14.el7 완전한! [루트 @의 node102 ~] #
2> 시작 MariaDB
[루트 @의 node102 ~] # 개의 systemctl 상태 mariadb ● mariadb.service - MariaDB 데이터베이스 서버 부하 :로드 (/usr/lib/systemd/system/mariadb.service를 디스 에이블; 벤더 프리셋 : 무효) 활성 : 비활성 (죽은) [루트 @의 node102 ~] # [루트 @의 node102 ~] mariadb을 시작 systemctl # [루트 @의 node102 ~] # [루트 @의 node102 ~] # [루트 @의 node102 ~] #의 systemctl이 mariadb 가능 /etc/systemd/system/multi-user.target.wants/mariadb.service에서 만든 심볼릭 링크는 /usr/lib/systemd/system/mariadb.service합니다. [루트 @의 node102 ~] # [루트 @의 node102 ~] # [루트 @의 node102 ~] # 개의 systemctl 상태 mariadb ● mariadb.service - MariaDB 데이터베이스 서버 부하 :로드 (/usr/lib/systemd/system/mariadb.service 에이블; 벤더 프리셋 : 무효) 활성 : 화 2019년 2월 19일 08시 01분 16초 (태평양 표준시)부터 활성화 (실행); 기를 전 홈페이지 PID : 3860 (mysqld_safe를) cgroup에 : /system.slice/mariadb.service ├─3860 / 빈 / SH는 / usr / 빈 / mysqld_safe는 --basedir =은 / usr └─4022는 / usr / libexec 디렉토리 / mysqld를 --basedir =는 / usr --datadir =은 / var / lib 디렉토리 / mysql을 --plugin-DIR =는 / usr / lib64에 / mysql을 / 플러그인 --log-오류 =는 / var / log / mariadb / mariadb.log --pid 파일 =은 / var / 실행 / mariadb / ... 2월 19일 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-준비-DB-DIR [3782] 자세한 지침은 MySQL의 매뉴얼. 2월 19일 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-준비-DB-DIR [3782] : http://mariadb.org/jira에서 문제를 신고 해주세요 2월 19일 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-준비-DB-DIR [3782] : MariaDB에 대한 최신 정보가 http://mariadb.org/에서 확인할 수있다. 2월 19일 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-준비-DB-DIR [3782] : 당신의 MySQL의 부분에 대한 추가 정보를 찾을 수 있습니다 : 이월 19 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-제조-DB-DIR [3782] http://dev.mysql.com 2월 19일 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-준비-DB-DIR [3782] : MariaDB의 강력하고 역동적 인 커뮤니티에 가입 고려 : 이월 19 8시 1분 14초 node102.yinzhengjie.org.cn mariadb-제조-DB-DIR [3782] https://mariadb.org/get-involved/ 이월 19 8시 1분 14초 node102.yinzhengjie.org.cn mysqld_safe는 [3860] '/var/log/mariadb/mariadb.log'에 190,219 8시 1분 14초 mysqld_safe에 로깅. 2월 19일 8시 1분 14초 node102.yinzhengjie.org.cn의 mysqld_safe에 [3860]의 경우 : / var / lib 디렉토리 / MySQL의에서 데이터베이스와 190,219 8시 1분 14초 mysqld_safe는 시작의 mysqld 데몬 시작 MariaDB 데이터베이스 서버 : 2월 19일 8시 1분 16초는 node102.yinzhengjie.org.cn [1] systemd. [루트 @의 node102 ~] # [루트 @의 node102 ~] #
두 .Zabbix 서버 구성 암호 MariaDB 데이터베이스를 모니터링하지
1> 호스트 만들기
2>. 호스트 인터페이스 구성
3>. Zabbix 모니터링 템플릿 구성 데이터베이스
4>. 호스트는 추가
(14) 다음과 같이 5> zabbix 감시 항목 초기
6>의 모니터링 MySQL의 그래픽
2 :
.Zabbix 에이전트 측 구성
1> 데이터베이스에 대한 암호를 설정
[루트 @의 node102는 ~] # mysql을 -uroot -pyinzhengjie # 보지 않았다? 기본값은 로그인 할 수있는 암호입니다! 우리는 암호를 설정하려면, 당신은 운용하는 것이 허용되어야한다! ERROR 1045 (28000) : 액세스가 사용자 '루트'@ 'localhost를'거부 (비밀번호를 사용하여 : YES) [루트 @의 node102 ~] # [루트 @의 node102 ~] # mysql을 MariaDB 모니터에 오신 것을 환영합니다. 명령로 끝; 또는 \의 g. 귀하의 MariaDB 연결 ID는 227입니다 서버 버전 : 5.5.60 - MariaDB MariaDB 서버 저작권 (C) 2000, 2018, 오라클, MariaDB 공사 Ab의 등. '도움;'입력 도움 또는 '\의 시간'. 유형 '\ c'는 현재의 입력 문을 취소합니다. MariaDB [(none)]> GRANT ALL ON *.* TO root@'localhost' IDENTIFIED BY 'yinzhengjie'; #创建授权用户 Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> FLUSH PRIVILEGES; #刷新权限 Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> MariaDB [(none)]> quit Bye [root@node102 ~]# [root@node102 ~]# mysql -uroot -pyinzhengjie #验证创建的用户是否可用正常登录! Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 254 Server version: 5.5.60-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> quit Bye [root@node102 ~]# [root@node102 ~]#
2>.修改zabbix-agent端的数据库配置文件并重启服务
[root@node102 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf | egrep -v '^#|^$' UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -uroot -pyinzhengjie -N | awk '{print $$2}' #这里需要修改一些 UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N' UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping -uroot -pyinzhengjie | grep -c alive #除了修改第一个,我们还需要修改这一行,把上面的配置的用户和密码加入进去! UserParameter=mysql.version,mysql -V [root@node102 ~]# [root@node102 ~]# [root@node102 ~]# systemctl restart zabbix-agent [root@node102 ~]# [root@node102 ~]#
二.Zabbix Server监控Agent端的数据库
服务端配置大同小异,可参考上面无密码监控mysql
三:
一.zabbix-agent端配置
1>.修改zabbix的item配置文件
[root@node102 ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf | egrep -v '^#|^$' UserParameter=mysql.status[*],echo "show global status where Variable_name='$3';" | HOME=/var/lib/zabbix mysql -u$1 -p$2 -N | awk '{print $$2}' #注意这里修改了3处 UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N' UserParameter=mysql.ping[*],HOME=/var/lib/zabbix mysqladmin ping -u$1 -p$2 | grep -c alive #这里也修改了3处 UserParameter=mysql.version,mysql -V [root@node102 ~]# [root@node102 ~]# systemctl restart zabbix-agent [root@node102 ~]#
2>.使用zabbix-Server测试
[root@node101 ~]# zabbix_get -s node102.yinzhengjie.org.cn -k mysql.status[root,yinzhengjie,Uptime] #很显然,我们是可以取到值的! 3128 [root@node101 ~]# [root@node101 ~]# zabbix_get -s node102.yinzhengjie.org.cn -k mysql.status[root,yinzhengjie,Uptime] 3129 [root@node101 ~]# [root@node101 ~]# zabbix_get -s node102.yinzhengjie.org.cn -k mysql.status[root,yinzhengjie,Uptime] 3130 [root@node101 ~]# [root@node101 ~]#
3>.创建MySQL测试用户
[root@node102 ~]# mysql -uroot -pyinzhengjie Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 728 Server version: 5.5.60-MariaDB MariaDB Server Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> MariaDB [(none)]> GRANT ALL ON *.* TO monitor@'localhost' IDENTIFIED BY 'yinzhengjie2019'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> MariaDB [(none)]> FLUSH PRIVILEGES; 쿼리 OK 영향 0 행 (0.01 초) MariaDB [(없음)]> 종료되지 안녕 [루트 @의 node102 ~] #
두 .zabbix - 서버 측 구성
1> zabbix-서버 데이터베이스 템플릿을 찾습니다
2> 변수 zabbix 추가
3> 업데이트 템플릿
4>도 10의 동작을 반복한다. 기본 입력 키 (13)는 두 변수가 추가된다 감독
5> 데이터베이스 템플릿 구성
6> 구성 모니터링 데이터베이스 사용자 이름과 암호
7> 구성
8>. 결국 zabbix 서버 구성을 즉시 적용 할 수 있도록
[루트 @의 node101 ~] # zabbix_server -R config_cache_reload # 재 장전 구성 정보 zabbix_server는 [4009] : 명령이 성공적으로 전송 [루트 @의 node101 ~] # [루트 @의 node101 ~] #
9>보기 모니터 이미지