점검 대상 머신에 SNMP를 설정(SNMP agent; server side)하고 python 프로그램(SNMP manager; client side)로 모니터링 데이터를 수집하기 위한 셋업 절차.
OpenSuse 11.3 repository 에는 pysnmp가 포함되어 있지 않으며, pymongo 는 OpenSuse 12.* 에서도 공식 지원하지
않으므로 수작업으로 설치해야 한다(python 2.6.5 기준)
* pysnmp : python 환경에서 NET-SNMP Agent/Manager 개발시에 필요한 API
* pymongo : python 환경에서 mongodb 관련 application 개발시에 필요한 API/driver
[Client - pysnmp 설치]
# zypper in -y python-devel
# zypper in -y python-setuptools
# zypper in -y git
# curl -O https://raw.github.com/pypa/pip/master/contrib/get-pip.py
# python get-pip.py
# pip install pysnmp-mibs
# wget http://downloads.sourceforge.net/project/pysnmp/pysnmp/4.2.3/pysnmp-4.2.3.tar.gz
# tar xvzf pysnmp-4.2.3.tar.gz
# cd pysnmp-4.2.3
# python setup.py install
[Client - pymongo 설치]
# zypper in -y git
# git clone git://github.com/mongodb/mongo-python-driver.git pymongo
# cd pymongo/
# python setup.py install
[Client - python-mysql 설치]
# zypper in -y python-mysql
[Server - SNMP agent 설치]
# zypper in -y net-snmp
# chkconfig --add snmpd
# vi /etc/snmp/snmpd.conf
# service snmpd start
[snmpd.conf 내용 - snmp v 1, 2 & linux 기준]
###############################################################################
# Access Control
###############################################################################
# com2sec sec.name source community
com2sec mysec 1.1.1.1 mycommunity # Client gateway ip 또는 cidr
com2sec mysec 10.10.1.0/24 mycommunity # Client gateway ip 또는 cidr
com2sec mysec localhost mycommunity
# group groupname sec.model sec.name
group mygroup v1 mysec
group mygroup v2c mysec
# view attr incl/excl subtree mask
view all included .1 80
# access groupname sec.model sec.level match read write notif
access mygroup "" any noauth exact all none none
access mygroup "" any noauth exact all all none
rwuser initial priv
createUser initial MD5 auth_pass DES priv_pass
# system info.
# to view with snmpwalk, snmpwalk -v 2c -c mycommunity localhost system
syslocation My Office
syscontact administrator (xxx@yyy)
# sysname aaa # Not mandatory
# cpu load
# to view with snmpwalk, snmpwalk -v 2c -c mycommunity localhost .1.3.6.1.4.1.2021.10
#load 12 14 14 # uncomment if necessary
# disk avvailable space
# to view with snmpwalk, snmpwalk -v 2c -c mycommunity localhost .1.3.6.1.4.1.2021.9
#disk / 100000 # uncomment if necessary
# process check
# to view with snmpwalk, snmpwalk -v 2c -c mycommunity localhost .1.3.6.1.4.1.2021.2
# Daemons or other application process names to check
proc tomcat
proc lighttpd
proc mydaemon_process
# shell exec.
# to view with snmpwalk, snmpwalk -v 2c -c bryan localhost .1.3.6.1.4.1.2021.8
exec myscript1 /root/bin/script1.sh param
exec myscript2 /root/biin/script2.sh param1 param2
[snmp 서비스 설정 - Windows 2008 기준]
1. 서버 관리자 시작
시작 > 제어판 > (모든 제어판 항목) > 프로그램 및 기능 > 윈도우즈 기능 사용/사용 안함 => 서버관리자 실핼
또는
시작 > 관리도구 > 서버관리자 실행
2. 서버관리자 설정
기능 > 기능 추가
기능 성택창에서 SNMP 서비스 / SNMP WMI 공급자 Check, 설치
3. 방화벽 설정
시작 > 관리도구 > 고급보안이 포함된 Windows 방화벽
인바운드 규칙
SNMP 서비스 > 속성 >
- 일반: 사용함, 연결 허용
- 고급: 에지 통과 허용
4. 서비스 설정
시작 > 관리도구 > 서비스
SNMP Service > 속성
- 에이전트: 적절히 설정
- 보안: 받아들인 커뮤니티 이름 => mycommunity 추가, 확인
SNMP Service > 다시 시작
'Technical > Development' 카테고리의 다른 글
Python GUI 프로그래밍을 위한 PySide 1.2.2, Linux/Windows 에 설치하기 (0) | 2015.06.14 |
---|---|
Linux OpenSUSE 13.* 에서 Pycharm 사용하기 : update-alternatives 활용 (0) | 2015.06.10 |
PHP5 + lighttpd fastcgi + mongodb + mysql(openeuse 12.1) 개발/운영 환경 설정 (0) | 2012.10.24 |
PHP5 + lighttpd fastcgi + mongodb + mysql(openeuse 11.3) 개발/운영 환경 설정 (0) | 2012.10.24 |
날짜 데이터를 찾는 Perl 정규식 (0) | 2012.04.14 |