** OS 버전: Ubuntu 18.04
Zabbix에서 기본으로 제공하는 MYSQL Template을 이용하여 MYSQL 모니터링 하는 방법에 대해서 소개해보겠습니다.
신규 Template을 사용하기 위하여 Zabbix-Server 및 Agent 버전은 5.0.7로 올려주었으며, DB 분리하는 작업을 진행하였습니다. 간단한 내용이므로 아래에 추가적으로 다루도록 하겠습니다.
1. MYSQL Template 확인
: Zabbix 5.0 설치 후에 보면 위의 그림과 같이 기본적으로 MYSQL Template을 지원합니다.
: 저는 이 중에서 맨위의 Template DB MySQL을 적용하는 방법을 진행해보겠습니다.
- Macro 확인
: MYSQL.HOST - 모니터링 할 DB가 있는 호스트 명(IP, Hostname)
: MYSQL.PORT - 모니터링 할 DB 포트 번호(Default - 3306)
- Discovery Rule 확인
: mysql.db.discovery - mysql database 목록 디스커버리
: mysql.replication.discovery - mysql replication status 디스커버리
: 저는 DB에 아직 replication 구성을 하지 않아서 관련 데이터는 비어 있는 걸로 나오네요
- Item 확인
: 아이템 목록의 일부는 아래와 같으며 global status 를 raw items로 가져와 dependent item 형식으로 모니터링이 필요한 항목들을 가지고 오는 것으로 보입니다.
2. zabbix_agentd conf 설정
- MYSQL Template의 경우에는 agent.ping, agent.hostname 처럼 기본적인 사용은 바로 불가능하고 별도의 설정이 조금 필요합니다.
- zabbix_agentd.d에 template_db_mysql.conf 파일 생성
- zabbix 설치 후 기본 세팅을 보시면 아래와 같이 zabbix_agentd.d 폴더의 conf 파일을 같이 Include 하게 되어 있습니다. ( 프로그래밍 시 라이브러리를 임폴트 하는 개념과 비슷하게 생각하시면 될거 같습니다.)
- 그러므로 zabbix_agentd.d 밑에 template_db_mysql.conf 파일을 생성해 줍니다.
# vim template_db_mysql.conf
.
.
.
.
.
.
: wq
- 위의 내용 입력 후 저장해 줍니다.
- conf 파일에 대한 내용은 아래 URL 참조 부탁드립니다.
URL: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent
3. MySQL 모니터링을 위한 계정 생성
- MYSQL 접속 후 모니터링을 위해 필요한 계정 및 권한을 할당해 줍니다.
# mysql -u root -p
> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
> GRANT USAGE,REPLICATION >CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
> quit
3. my.cnf 파일 생성
- 모니터링 시 DB에 접속할 계정 정보가 저장된 my.cnf 파일 생성
# mkdir /var/lib/zabbix
# cd /var/lib/zabbix
# vim .my.cnf
.
.
.
[client]
user=zbx_monitor
password=<password>
.
.
.
: wq
# service zabbix-agent restart
4. 데이터 확인 및 템플릿 적용
- Zabbix Server 접속 후 zabbix_get 명령어로 데이터 수집 여부 확인
# zabbix_get -s [DB 서버 IP] -k mysql.db.discovery['localhost','3306']
- Template 적용 및 데이터 수집 확인
다음 포스팅에서는 Linux Process 모니터링을 진행하는 방법에 대해서 다뤄보도록 하겠습니다.
'Zabbix' 카테고리의 다른 글
Zabbix 5.0 - Slack 연동 (1) | 2021.01.23 |
---|---|
Zabbix Linux Process 모니터링 하기 (8) | 2021.01.14 |
Zabbix API를 이용한 Zabbix 운영 - 1 (0) | 2020.12.25 |
Zabbix API를 이용한 Host 관리 - 2 (0) | 2020.12.11 |
Zabbix API를 이용한 Host 관리 - 1 (0) | 2020.12.04 |