자빅스를 운영 중 특정 장비의 알람을 잠시 비활성화 했다가 다시 활성화를 시켰는데 SNMP 알 수 없음 표시가 뜨는 현상이 있었습니다.
(호스트 비활성화 → 활성화)
그래서 트래픽을 확인해보니 호스트 감지를 활성화 했음에도 불구하고 아무런 감지 패킷이 없었습니다.
웹 상에서는 설정이 활성 상태로 반영된 것으로 보이나 이전 설정인 비활성 상태로 동작하고 있었던 것입니다.
자빅스 상태를 확인하기 위해 자빅스 마스터도 접속하고 DB도 접속해봤으나 별다른 사항을 찾지 못했습니다.
그러나 자빅스 프록시에 접속해보니 디스크 용량을 100% 사용하고 있었습니다…!!! 😅
그래서 설정 동기화가 제대로 이루어지지 않았을 것아 디스크 용량을 정리 해보기로 했습니다.
해당 디렉토리 경로에 들어가서 어떤 파일이 많이 사용하고 있나 확인해보니 snmp trap 로그 파일이 대부분의 용량을 차지하고 있었습니다.
// 파일 용량 확인 1
[root@inzapap01 hntsw]# du -sh *
26G data
471G zabbix_traps.tmp
// 파일 용량 확인 2
[root@inzapap01 hntsw]# ll -h
drwxr-xr-x. 3 root root 26G 5월 4 2022 data
-rwxrwxrwx. 1 root zabbix 471G 8월 13 13:09 zabbix_traps.tmp
현재 운영중인 이슈는 없으나 snmp trap 로그를 확인해보니 1년 이상된 로그까지 저장하고 있었던 것 입니다…
cat /dev/null 명령어로 파일은 유지한체 로그 내용만 지움으로써 용량을 확보했습니다 ㅎㅎ
// 로그 파일은 유지, 내용만 지움
[root@inzapap01 hntsw]# cat /dev/null > zabbix_traps.tmp
[root@inzapap01 hntsw]# ll -h
drwxr-xr-x. 3 root root 26G 5월 4 2022 data
-rwxr-xr-x 1 root root 0 8월 13 13:09 zabbix_traps.tmp
추가로 로그 파일 용량 관리를 위해 logrotate를 적용했습니다.
logrotate는 리눅스에서 로그 파일 관리를 자동화하기 위한 유틸리티로 로그 파일을 주기적으로 백업, 압축, 로테이트(순환), 삭제 및 관리하는 데 사용됩니다.
아래와 같이 logrotate 동작에 필요한 파일을 생성합니다.
// logrotate 실행 파일 경로 이동
[root@inzapap01 hntsw]# cd /etc/logrotate.d/
// logrotate 실행 파일 생성
[root@inzapap01 logrotate.d]# vim zabbix_traps
/hntsw/zabbix_traps.tmp { // logrotate를 적용할 로그 파일 경로
daily // 백업 주기 (daily, weekly, monthly, yearly)
rotate 180 // 최대 로그 파일 개수
dateext // 로그파일명에 확장자 추가(Default : YYYYMMDD)
dateformat _%Y%m%d // YYYYMMDD 형식이 아닌 다른 형식으로 지정 시
missingok // 로그파일이 없을경우에도 에러 처리하지 않음
notifempty // 로그파일이 비어있는 경우 실행하지 않음
copytruncate // 현재 로그파일 복사 후 원본 로그파일 크기 0으로 생성
}
logrotate -f 명령어를 이용해 생성한 logrotate 파일을 강제 실행시킵니다.
(이후는 작성한 주기에 따라 자동으로 실행됩니다.)
// logrotate 강제 실행
[root@inzapap01 logrotate.d]# logrotate -f zabbix_traps
// 로그 파일 위치로 이동 후 logrotate 동작 확인
[root@inzapap01 logrotate.d]# cd /hntsw
[root@inzapap01 hntsw]# ll -h
-rwxrwxrwx. 1 root zabbix 0 8월 17 13:02 zabbix_traps.tmp
-rwxrwxrwx 1 root zabbix 36M 8월 13 12:20 zabbix_traps.tmp_20240813
-rwxrwxrwx 1 root zabbix 464M 8월 14 03:43 zabbix_traps.tmp_20240814
-rwxrwxrwx 1 root zabbix 720M 8월 15 03:28 zabbix_traps.tmp_20240815
작성한 logrotate 파일 내용에 따라 당일 날짜 별로 분리되어 저장되고 있습니다.
작성한 rotate 180에 따라 파일 갯수가 180개(약 6개월)가 넘어가면 오래된 로그 파일부터 하나씩 제거될 것입니다.
## [전체 과정] ##
[root@inzapap01 ~]# cd /hntsw
// 파일 용량 확인 1
[root@inzapap01 hntsw]# du -sh *
26G data
471G zabbix_traps.tmp
// 파일 용량 확인 2
[root@inzapap01 hntsw]# ll -h
drwxr-xr-x. 3 root root 19 5월 4 2022 data
-rwxrwxrwx. 1 root zabbix 471G 8월 14 13:09 zabbix_traps.tmp
// 로그 파일안의 내용만 지움
[root@inzapap01 hntsw]# cat /dev/null > zabbix_traps.tmp
[root@inzapap01 hntsw]# ll -h
drwxr-xr-x. 3 root root 19 5월 4 2022 data
-rwxr-xr-x 1 root root 0 8월 14 13:09 zabbix_traps.tmp
// logrotate 실행 파일 경로 이동
[root@inzapap01 hntsw]# cd /etc/logrotate.d/
// logrotate 실행 파일 생성
[root@inzapap01 logrotate.d]# vim zabbix_traps
/hntsw/zabbix_traps.tmp { // logrotate를 적용할 로그 파일 경로
daily // 백업 주기 (daily, weekly, monthly, yearly)
rotate 180 // 최대 로그 파일 개수
dateext // 로그파일명에 확장자 추가(Default : YYYYMMDD)
dateformat _%Y%m%d // YYYYMMDD 형식이 아닌 다른 형식으로 지정 시
missingok // 로그파일이 없을경우에도 에러 처리하지 않음
notifempty // 로그파일이 비어있는 경우 실행하지 않음
copytruncate // 현재 로그파일 복사 후 원본 로그파일 크기 0으로 생성
}
// logrotate 강제 실행
[root@inzapap01 logrotate.d]# logrotate -f zabbix_traps
// 로그 파일 위치로 이동 후 logrotate 동작 확인
[root@inzapap01 logrotate.d]# cd /hntsw
[root@inzapap01 hntsw]# ll -h
drwxr-xr-x. 3 root root 19 5월 4 2022 data
-rwxrwxrwx. 1 root zabbix 0 8월 17 13:02 zabbix_traps.tmp
-rwxrwxrwx 1 root zabbix 36M 8월 13 12:20 zabbix_traps.tmp_20240813
-rwxrwxrwx 1 root zabbix 464M 8월 14 03:43 zabbix_traps.tmp_20240814
-rwxrwxrwx 1 root zabbix 720M 8월 15 03:28 zabbix_traps.tmp_20240815
'Network' 카테고리의 다른 글
[Zabbix] Linux snmpget, snmpwalk로 snmp 조회하기 (1) | 2024.11.10 |
---|---|
[F5] HTTP/2 헤더 개수 제한 이슈 해소 기록 (ERR_HTTP2_PROTOCOL_ERROR) (0) | 2024.10.23 |
[NSX-T] Domain/URL 기반 LB 적용하기 (0) | 2024.08.04 |
[Azure] IPsecVPN 터널링 연결하기 (3) (0) | 2024.05.17 |
[Azure] IPsecVPN 터널링 연결하기 (2) (0) | 2024.05.17 |