728x90
반응형
SNMP를 이용한 시스템정보수집, 관제, 로그수집 등을 수행할 수 있다.
매번 snmpd.conf 를 셋팅하는게 번거로워서 스크립트로 만들었다.
최소한의 설정만 넣었기 때문에 필요에 따라 추가 설정은 수작업으로 넣어야한다.
** 주의) 인터넷에서 받는 스크립트들은 테스트 환경에서 먼저 적용해보고 운영환경에서 적용하는걸 권장합니다.
아래는 snmp를 이용한 PRTG 셋팅 예시 스크립트이다.
우분투 버전
#!/bin/sh # SNMP 설치여부 확인 if dpkg-query -W -f='${Status}' snmpd 2>/dev/null | grep -q "install ok installed"; then echo "" else echo "snmpd 서비스가 설치되어 있지 않습니다." echo "snmpd 서비스가 Custom으로 설치 되어 있을 수 있습니다." read -p "스크립트를 이어서 진행하시겠습니까? [Y/n] (default n) : " proceed if [ "$proceed" = "Y" ]; then echo "스크립트를 진행합니다." else echo "스크립트를 중단합니다." exit 1 fi fi # SNMP 부팅시 켜지게 설정 echo "SNMP Service StartUP Setting" echo "" systemctl enable snmpd # SNMP 설정파일 설정 echo "SNMP Config Setting" # SNMP 설정 파일 정의 snmpconf_file="/etc/snmp/snmpd.conf" snmpconf_back="/etc/snmp/snmpd.conf_bak" # SNMP 설정 백업 if [ -f "$snmpconf_file" ]; then cp "$snmpconf_file" "$snmpconf_back" else echo "파일이 존재하지 않습니다: $snmpconf_file" exit 1 fi echo "" # PRTG 정보 입력 read -p "Enter PRTG Probe IP : " prtgip read -p "Enter PRTG Community : " prtgcomm # 백업 파일 확인하고 설정 밀어넣기 if [ -f "$snmpconf_back" ]; then cat <<EOF> /etc/snmp/snmpd.conf sysLocation Sitting on the Dock of the Bay sysContact Me <me@example.org> sysServices 72 master agentx agentaddress udp:161,udp6:[::1]:161 view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 rocommunity $prtgcomm $prtgip rouser authPrivUser authpriv -V systemonly EOF else echo "백업 파일이 존재하지 않습니다: $snmpconf_file" exit 1 fi echo "" echo "PRTG SNMP Setting Complete" echo "" echo "SNMP Service ReStart" systemctl restart snmpd echo "" systemctl status snmpd |
아래는 실행 결과
config 설정 확인
덤) CentOS용으로도 만들어봤다.
#!/bin/sh echo "CentOS 7버전용 스크립트입니다" echo "" # SNMP 설치여부 확인 if rpm -q net-snmp; then echo "" else echo "snmpd 서비스가 설치되어 있지 않습니다." echo "snmpd 서비스가 Custom으로 설치 되어 있을 수 있습니다." read -p "스크립트를 이어서 진행하시겠습니까? [Y/n] (default n)" proceed if [ "$proceed" = "Y" ]; then echo "스크립트를 진행합니다." else echo "스크립트를 중단합니다." exit 1 fi fi # SNMP 부팅시 켜지게 설정 echo "SNMP Service StartUP Setting" echo "" systemctl enable snmpd # SNMP 설정파일 설정 echo "SNMP Config Setting" # SNMP 설정 파일 정의 snmpconf_file="/etc/snmp/snmpd.conf" snmpconf_back="/etc/snmp/snmpd.conf_bak" # SNMP 설정 백업 if [ -f "$snmpconf_file" ]; then cp "$snmpconf_file" "$snmpconf_back" else echo "파일이 존재하지 않습니다: $snmpconf_file" exit 1 fi echo "" # PRTG 정보 입력 read -p "Enter PRTG Probe IP : " prtgip read -p "Enter PRTG Community : " prtgcomm # 백업 파일 확인하고 설정 밀어넣기 if [ -f "$snmpconf_back" ]; then cat <<EOF > /etc/snmp/snmpd.conf com2sec mynetwork $prtgip $prtgcomm group MyRWGroup v1 local group MyRWGroup v2c local group MyRWGroup usm local group MyRWGroup usm initial group MyROGroup v1 mynetwork group MyROGroup v2c mynetwork group MyROGroup usm mynetwork view all included .1 80 access MyROGroup "" any noauth exact all none none access MyRWGroup "" any noauth exact all all none EOF else echo "백업 파일이 존재하지 않습니다: $snmpconf_file" exit 1 fi echo "" echo "PRTG SNMP Setting Complete" echo "" echo "SNMP Service ReStart" systemctl restart snmpd echo "" systemctl status snmpd |
728x90
'OS 기술 > Linux' 카테고리의 다른 글
tar 명령어 (압축, 아카이브) (0) | 2024.11.28 |
---|---|
리눅스 LVM이 없는 환경에서 OS디스크 볼륨 증설하기 (2) | 2024.06.28 |
디스크 IOPS, speed 등 성능 체크 (1) | 2024.05.14 |
리눅스 명령어 반복하는 방법 (1) | 2024.04.20 |
NTP 오류 - ntpd[]: frequency error -506 PPM exceeds tolerance 500 PPM (1) | 2023.11.13 |