일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 크롤링
- 자동화
- python
- ansible
- kibana
- elasticsearch
- 시스템자동화
- EKS
- tcp
- ubuntu
- EC2
- 데이터 분석
- ELK
- powershell
- API
- GIT
- module
- DB
- MySQL
- 8.0
- GCP
- AWS
- zabbix
- airflow
- Automation
- crawling
- Linux
- 5.0
- apt
- Selenium
- Today
- Total
Oops - IT
Zabbix MYSQL Template 적용 본문
** 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 |