Today
Total
KoreanEnglishFrenchGermanJapaneseSpanishChinese (Simplified)
관리 메뉴

DB & AWS Knowledge

MySQL및 MariaDB 에서의 분석용 log 종류 및 log output format 본문

카테고리 없음

MySQL및 MariaDB 에서의 분석용 log 종류 및 log output format

`O` 2023. 3. 16. 12:00
728x90
반응형

해당 페이지에서는 MySQL및 MariaDB 에서 사용하는 분석용 log 종류 및 이에 따라 설정 할 수 있는 log ouput format 에 대하여 다룬다.

 

이 페이지는 아래의 MySQL Document 를 참고한다.

 

[1] https://dev.mysql.com/doc/refman/5.7/en/log-destinations.html

 

[2] https://dev.mysql.com/doc/refman/8.0/en/csv-storage-engine.html

 

 

MySQL및 MariaDB 에서의 사용 가능 분석용 log 종류

 

 

 

MySQL, MariaDB 에서 사용할 수 있는 분석용 log 는 크게 네가지로 나뉜다.

(특정 기능도 담당하는 binlog, relay log 는 제외)

 

- Error log

 

이름 그대로 error 가 발생시 이에 대한 내용이 기록되는 log 다. 이 로그는 아래의 log 들과 달리 기록 중지 등의 옵션을 설정 할 수 없는 필수 log 다.

 

- General Log

 

특정시간에 어떤 쿼리가 수행 되었는지 볼 수 있는 log 다. 이를 통하여 drop 등의 영향도가 큰 명령어를 수행 했을 시, 이를 통하여 언제 수행되었는지 확인 할 수 있다.

 

- Slow query Log

 

Long_query_time 파라미터에 설정된 값 이상으로 (초 단위) 수행된 쿼리들에 대하여 기록하는 log 다.

주로 성능 지연 쿼리들을 수집 할 때 유용하다.

 

- Audit log

 

DB 사용자들이 DB 를 문제 없이 사용했는지를 추적하기 위해 만드는 log 다. 이를 통하여 운영 테이블 삭제등의 위험 작업을 한 사용자를 확인 할 수 있다. MySQL Enterprise Edition 에서는 이 기능이 기본적으로 제공되나 Community Edition 에서는 MariaDB Audit Plugin 을 설치해야 한다.

 

[참고 링크]

 

https://mariadb.com/kb/en/mariadb-audit-plugin/

 

 

General Log, Slow Query Log 의 Log Output 설정

 

 

해당 Log 들 중에서 General Log, Slow Query Log 는 log_output 파라미터를 통하여 File 로 보관할 지 Table 로 보관할 지 선택 할 수 있다.

 

File 로 보관하게 되면 온프레미스 기준으로 해당 파일들을 보관할 경로를 지정 할 수 있어서 보관 용이성이 좋으나

Table 과 다르게 DB 에서의 직접적인 접근성은 떨어진다. 

 

Table 로 설정하면 mysql.general_log, mysql.slow_log; 에 고정적으로 데이터가 보관되어서 File 보다 보관 용이성은 떨어지나 쿼리를 통하여 바로 조회가 가능하다는 점에서 접근성이 좋아진다.

 

또한 Table 로 설정시에는 아래와 같이 크게 유의해야 할 사항이 두개가 있다.

 

- Table 로 보관되는 log 들은 delete 등으로 지울 수 없다. 그래서 Rename 후 Truncate 혹은 Delete 및 다시 Rename 등을 이용하여 Table 이 사용하는 용량을 관리 해야한다.

 

- 위의 내용은 이후 기술 할 AWS Aurora Cluster 에서 Log Table 관리와 연관 된 부분이 있다.

 

- Log Table 들은 기본적으로 CSV Storage Engine 을 쓰는데, 원한다면 MyISAM 으로 바꿀 수 있다. 그러나 MySQL, MariaDB 에서 자주 사용하는 InnoDB Storage Engine 으로는 전환 할 수 없다.

반응형
Comments