MRTG는 기본적으로 cfg 파일의 설정을 통해 한글 언어를 지원합니다. yum으로 설치하나 또는 소스로 설치하나
이는 동일하게 적용됩니다. 오늘은 MRTG를 테스트하면서 발생했던 점을 정리하겠습니다.
참고 : 이 글은 참고용으로만 사용하시기 바랍니다. 서버의 설정에 따라 이 글이 도움이 되지 않을수도 있습니다.
우선 제가 설정한 테스트용 cfg 파일입니다. 파일의 내용은 eth0를 Target으로 트래픽을 확인하도록하는 설정이며
구글에 검색해보면 흔하게 나오는 설정임을 확인할수있습니다.
구글에 검색해보면 흔하게 나오는 설정임을 확인할수있습니다.
[root@14606 ~]# snmpwalk -v2c -c public localhost IF-MIB::ifName
IF-MIB::ifName.1 = STRING: lo
IF-MIB::ifName.2 = STRING: eth0
MIB를 타겟으로 셋팅해둔 상태
Target[eth0]: 2:public@localhost:
crontab에 설정해둔 mrtg 명령어를 통해 5분 마다 갱신되는 mrtg index 페이지입니다.
숫자하고 영어 빼고는 완전히 깨저서 읽을수가 없게 되어있습니다.
처음엔 yum 파일로 설치하면 한글 언어 파일이 없는건가? 라고 생각한뒤 구글링을 하다가 소스 파일 자체를
받아서 한글 언어 파일을 확인하고 열어봤습니다. 잘 보니 파일의 내용은 깨져있고 euc-kr로 설정되어 있는게
보였습니다.
받아서 한글 언어 파일을 확인하고 열어봤습니다. 잘 보니 파일의 내용은 깨져있고 euc-kr로 설정되어 있는게
보였습니다.
# 소스 파일의 한글 언어 파일 확인 (src에 압축해제 했을경우)
/usr/local/src/mrtg-2.17.4/translate/korean.pmd
처음에는 locale를 euc-kr로 바꾸면 되려나 싶었지만 그러면 다른 문제도 발생할수 있어 해결 방법을 다시
한번 찾아봤습니다. 찾아보니 mrtg index 페이지의 한글이 깨지는 원인중 하나는 apache의
AddDefaultCharset 설정에 UTF-8이 되어있어 그런것임을 알수 있었습니다.
한번 찾아봤습니다. 찾아보니 mrtg index 페이지의 한글이 깨지는 원인중 하나는 apache의
AddDefaultCharset 설정에 UTF-8이 되어있어 그런것임을 알수 있었습니다.
일단 vi로 파일을 열어 수정하면 되겠지만 늘 사용하던 sed를 사용하여 수정후 apache를 재시작했습니다.
# httpd.conf를 vi를 사용 안하고 수정 방법
cat -n과 grep -w를 이용하여 AddDefaultCharset UTF-8의 줄번호를 확인시 316번이 줄번호임을 확인가능.
명령어 : cat -n /etc/httpd/conf/httpd.conf |grep -w “AddDefaultCharset UTF-8”
출력 결과 : 316 AddDefaultCharset UTF-8
sed를 통해 줄번호를 입력한후 AddDefaultCharset UTF-8를 AddDefaultCharset off로 수정합니다.
위의 명령어의 출력 결과로 316번이 줄번호임이 확인되었으므로 316을 입력했습니다.
위의 명령어의 출력 결과로 316번이 줄번호임이 확인되었으므로 316을 입력했습니다.
명령어 : sed -i “316s/.*/AddDefaultCharset off/” /etc/httpd/conf/httpd.conf
httpd를 재시작합니다.
service httpd restart
웹 브라우저의 쿠키를 삭제후 mrtg index 페이지로 다시 접속하면 깨졌던 한글이 정상적으로 표시되는것을
확인할수 있습니다.