zabbix 모니터링 mysql 의 실례 방법
감시 항목 을 만 들 기 전에 무엇 을 감시 하고 어떻게 감시 하 며 데 이 터 를 어떻게 저장 하 는 지,데 이 터 를 어떻게 보 여 주 는 지,경 보 를 어떻게 처리 하 는 지 등 을 최대한 고려 해 야 한다.모니터링 을 하려 는 시스템 계획 은 Zabbix 에 대해 잘 알 아야 한다.여 기 는 모니터링 의 수요 만 제시 할 뿐이다.
수요 1:MySQL 의 상 태 를 감시 하고 상태 에 이상 이 발생 하면 경 고 를 보 냅 니 다.
수요 2:MySQL 의 조작 을 감시 하고 도표 로 보 여 줍 니 다.
2.사용자 정의 스 크 립 트 모니터링 확장 에이전트
Zabbix Server 와 Agent 간 모니터링 데이터 의 수집 은 주로 Zabbix Server 를 통 해 에이전트 에 게 특정한 Key 의 값 을 물 어 보 는 것 입 니 다.Agent 는 Key 에 따라 해당 하 는 함 수 를 호출 하여 이 값 을 얻 고 서버 에 되 돌려 줍 니 다.Zabbix 2.4.7 의 Agent 본 에는 MySQL 의 모니터링 기능 이 내장 되 어 있 지 않 습 니 다(그러나 서버 에서 해당 하 는 Template 설정 을 제공 합 니 다).따라서 저 희 는 Zabbix 의 User Parameters 기능 을 사용 하여 MySQL 에 모니터링 스 크 립 트 를 추가 해 야 합 니 다.
3.mysql 로그 인 사용자 권한 부여(에이전트 쪽)
mysql> grant usage on *.* to [email protected] identified by '123456';
mysql> flush privileges;
4.에이전트 엔 드 설정생존 검사
User Parameter 인 자 를 이용 하여 Agent Key 를 사용자 정의 합 니 다.
수요 1 에 대해 저 희 는 my sqladmin 이라는 도 구 를 사용 하여 이 루어 집 니 다.명령 은 다음 과 같 습 니 다.
# mysqladmin -h 127.0.0.1 -u zabbix -p123456 ping
mysqld is alive
MySQL 상태 가 정상 이면 mysqld is alive 가 표 시 됩 니 다.그렇지 않 으 면 연결 이 되 지 않 음 을 알려 줍 니 다.서버 쪽 에 서 는 my sqld is alive 라 는 문장 이 이해 되 지 않 습 니 다.서버 쪽 에 서 는 1 과 0 만 받 는 것 이 좋 습 니 다.1 은 서비스 가 사용 가능 하 다 는 것 을 표시 하고 0 은 서비스 가 사용 되 지 않 는 다 는 것 을 표시 합 니 다.그러면 이 명령 을 다시 개선 하 겠 습 니 다.다음 과 같 습 니 다.
# mysqladmin -h 127.0.0.1 -u zabbix -p123456 ping |grep -c alive
1
사용자 이름과 비밀 번 호 를 명령 에 두 면 나중에 유지 할 수 없습니다.그래서 저 희 는/var/lib/zabbix/다음 에 MySQL 사용자 이름과 비밀 번 호 를 포함 하 는 설정 파일'my.cnf'를 만 듭 니 다.다음 과 같 습 니 다.
user=zabbix
host=127.0.0.1
password='123456'
이 파일 이 있 으 면 명령 을 변경 합 니 다.
HOME=/var/lib/zabbix/ mysqladmin ping |grep -c alive
1
이 단 계 를 마 친 후에 해 야 할 일 은 이 모니터링 명령 을 Zabbix Agent 에 추가 하고 Key 와 대응 하 는 것 입 니 다.그러면 Zabbox Server 는 이 Key 를 통 해 MySQL 의 상 태 를 얻 을 수 있 습 니 다.MySQL 상태의 Key 로 mysql.ping 을 사용 합 니 다.우선 제거/etc/zabbix/zabbixagentd.conf 중
“Include=/etc/zabbix_agentd.d/이 줄 의 주석 부호 입 니 다.
그 다음으로/etc/zabbix/zabbixagentd.d/디 렉 터 리 에 userparameter 만 들 기mysql.conf 파일.파일 에 다음 명령 을 추가 합 니 다:
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
아래 명령 을 사용 하여 정상 적 인 작업 여 부 를 테스트 합 니 다.
# /usr/sbin/zabbix_agentd -t mysql.ping
mysql.ping [t|1]
기타 성능 지표1.userparameter 추가mysql
vim /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
#### mysql
UserParameter=mysql.status[*],/etc/zabbix/zabbix_agentd.d/check_mysql.sh $1
#####mysql
UserParameter=mysql.version,mysql -V
2.check_mysql.sh
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName: check_mysql.sh
# Revision: 1.0
# -------------------------------------------------------------------------------
# Copyright:
# License: GPL
#
MYSQL_USER='zabbix'
#
MYSQL_PWD='zabbix@123'
# /IP
MYSQL_HOST='ip'
#
MYSQL_PORT='3306'
#
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"
#
if [ $# -ne "1" ];then
echo "arg error!"
fi
#
case $1 in
Uptime)
result=`${MYSQL_CONN} status 2>/dev/null |cut -f2 -d":"|cut -f1 -d"T"`
echo $result
;;
Com_update)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_update"|cut -d"|" -f3`
echo $result
;;
Slow_queries)
result=`${MYSQL_CONN} status 2>/dev/null |cut -f5 -d":"|cut -f1 -d"O"`
echo $result
;;
Com_select)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_select"|cut -d"|" -f3`
echo $result
;;
Com_rollback)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_rollback"|cut -d"|" -f3`
echo $result
;;
Questions)
result=`${MYSQL_CONN} status 2>/dev/null |cut -f4 -d":"|cut -f1 -d"S"`
echo $result
;;
Com_insert)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_insert"|cut -d"|" -f3`
echo $result
;;
Com_delete)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_delete"|cut -d"|" -f3`
echo $result
;;
Com_commit)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_commit"|cut -d"|" -f3`
echo $result
;;
Bytes_sent)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Bytes_sent" |cut -d"|" -f3`
echo $result
;;
Bytes_received)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Bytes_received" |cut -d"|" -f3`
echo $result
;;
Com_begin)
result=`${MYSQL_CONN} extended-status 2>/dev/null |grep -w "Com_begin"|cut -d"|" -f3`
echo $result
;;
*)
echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"
;;
esac
3.권한 부여:
chmod +x /etc/zabbix/zabbix_agentd.d/check_mysql.sh
Chown zabbix.zabbix /etc/zabbix/zabbix_agentd.d/check_mysql.sh
4. zabbix_에이전트 테스트:zabbix_agentd -t mysql.ping
5.Zabbix_서버 테스트
zabbix_get-s ip-P 포트-k mysql.ping
5.웹 에서 설정
**호스트 생 성**
관련 템 플 릿
모니터링 항목 만 들 기
도형 만 들 기
모니터링 영상 보기
기타 모니터링 항목 설정 완료
6.zabbix 자체 mysql 모니터링 항목
version:
key_buffer_size:myisam buffer
sort_buffer_size: ( )
join_buffer_size: , 、 、
max_connections:
max_connect_errors: , ( 100)。 flush hosts
open_files_limits: mysql , opened_tables table_open_cache, opened_tables table_open_cache
max-heap_tables_size: ( 16M) tmp_table_size ( ), , innodb myisam ,(5.7.5 myisam,5.7.6 innodb, internal_tmp_disk_storage_engine )。
max_allowed_packet:
##########GET INNODB INFO
#INNODB variables
innodb_version:
innodb_buffer_pool_instances: innodb ( 1)
innodb_buffer_pool_size:innodb 、5.7.5 innodb_buffer_pool_chunk_size,
innodb_doublewrite: doublewrite( )
innodb_read_io_threads:IO
innodb_write_io_threads:IO
########innodb status
innodb_buffer_pool_pages_total:innodb 、 innodb_buffer_pool_size/(16*1024)
innodb_buffer_pool_pages_data:innodb
########## GET MYSQL HITRATE
1、
Qcache_hits+Com_select<>0 Qcache_hits/(Qcache_hits+Com_select), 0
2、
Connections<>0, 1-Threads_created/Connections, 0
3、myisam
Key_read_requests<>0, 1-Key_reads/Key_read_requests, 0
4、myisam
Key_write_requests<>0, 1-Key_writes/Key_write_requests, 0
5、
Key_blocks_used+Key_blocks_unused<>0, Key_blocks_used/(Key_blocks_used+Key_blocks_unused), 0
6、
Created_tmp_disk_tables+Created_tmp_tables<>0, Created_tmp_disk_tables/(Created_tmp_disk_tables+Created_tmp_tables), 0
7、
max_connections<>0, threads_connected/max_connections, 0
8、
open_files_limit<>0, open_files/open_files_limit, 0
9、
table_open_cache<>0, open_tables/table_open_cache, 0
이 글 은 zabbix 모니터링 my sql 의 인 스 턴 스 방법 에 관 한 글 입 니 다.더 많은 zabbix 모니터링 my sql 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ESP-WROOM-02에서 Zabbix 서버로 Zabbix sender 프로토콜로 데이터 보내기zabbix_sender 명령에서 서버로 데이터를 전송하는 데 사용되는 프로토콜은 비교적 간단하며 네트워크에 연결할 수있는 마이크로 컴퓨터이면 충분히 구현할 수 있습니다. 이 프로토콜을 ESP-WROOM-02인 모듈...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.