SNMP 설정
Agent/Manager 운영체제는 Redhat 계열.
Agent 설정
1. Agent(Server)에 net-snmp 및 net-snmp-uitls 설치
dnf -y install net-snmp net-snmp-uitls
2. Agent snmp 설정
security name --> group name --> view 설정--> access 설정(write/read) --> community/IP범위 설정 --> group 설정 --> view subtree 설정 --> group access 설정(write/read)
vim /etc/snmp/snmpd.conf
# 41번째줄 주석
# sec.name source community
#com2sec notConfigUser default public
# 75번째줄 주석 해제 및 네트워크 설정/community 값 설정
# sec.name source community
#com2sec local localhost COMMUNITY
com2sec mynetwork 172.16.20.0/24 asd123
# 79번째줄 주석 해제 및 버전 설정
## group.name sec.model sec.name
#group MyRWGroup any local
group MyROGroup v2c mynetwork
# 85번째줄 계층 권한 설정.
# .1은 모든 정보를 포함하는 최상위 계층
## incl/excl subtree mask
view all included .1 80
# 93번째줄 허용 버전 설정 및 주석 해제
## context sec.model sec.level prefix read write notif
access MyROGroup "" v2c noauth 0 all none none
#access MyRWGroup "" any noauth 0 all all all
3. snmpd 재시작
systemctl restart snmpd
4. snmp 테스트
# v2c에 대해 community asd123으로 172.16.20.5 system 정보를 가져옴.
snmpwalk -v2c -c asd123 172.16.20.5 system
[root@Centos-8 ~]# snmpwalk -v2c -c asd123 172.16.20.7 system
SNMPv2-MIB::sysDescr.0 = STRING: Linux Centos-8 4.18.0-553.6.1.el8.x86_64 #1 SMP Thu May 30 04:13:58 UTC 2024 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (20046) 0:03:20.46
SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
SNMPv2-MIB::sysName.0 = STRING: Centos-8
SNMPv2-MIB::sysLocation.0 = STRING: Unknown (edit /etc/snmp/snmpd.conf)
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.7 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.8 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATION-MIB::snmpNotifyFullCompliance
SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing IP and ICMP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules for managing SNMP Notification, plus filtering.
SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module for logging SNMP Notifications.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00
Manager(MRTG) 설정
1. MRTG 패키지 설치
dnf -y install mrtg
2. SNMP정보를 포함한 설정파일 생성.
# IPv4, snmp v2, 인터페이스 설명 추가 옵션
cfgmaker --snmp-options=:::::2 --ifref=descr --ifdesc=descr [community]@[가져올 IP]> [설정파일 위치]
cfgmaker --snmp-options=:::::2 --ifref=descr --ifdesc=descr asd123@172.16.20.7 > /etc/mrtg/mrtg.cfg
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00
3. MRTG 설정 수정
vim /etc/mrtg/mrtg.cfg
# 8번째 줄 실행파일 저장 디렉터리
WorkDir: /var/www/mrtg
#16번째 줄 그래프 정렬 옵션
Options[_]: growright, bits
4. MRTG 설정파일 초기화
for (( i=1 ; i <= 3 ; i++ )); do env LANG=C mrtg /etc/mrtg/mrtg.cfg; done
위의 shell 코드 실행시 파일이 없다는 에러 후 파일 생성. 두번째 실행시 정상 작동
5. MRTG 인덱스 파일 생성
# 해당 파일 컬럼 1 저장
indexmaker --columns=1 /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
6. 실행시 명령 설정
vim /etc/cron.d/mrtg
# 실행 시간, lock파일 지정 및 캐시파일 지정
*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
7. http 페이지로 이동
Manager(Cacti) 설정
1. cacti 설치
dnf -y instal cacti
2. db생성
mysql -uroot -p
MariaDB [(none)]> create database cacti;
Query OK, 1 row affected (0.003 sec)
MariaDB [(none)]> create user 'cacti'@'localhost' identified by 'asd123!@';
Query OK, 0 rows affected (0.007 sec)
MariaDB [(none)]> grant all on cacti.* to 'cacti'@'localhost';
Query OK, 0 rows affected (0.002 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.002 sec)
3. /usr/share/doc/cacti/cacti.sql을 이용하여 DB 초기 설정
# cacti DB 초기 설정 파일 적용
mysql -ucacti -p cacti < /usr/share/doc/cacti/cacti.sql
4. cacti DB 계정 설정
vim /etc/cacti/db.php
# DB 설정
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cacti';
$database_password = 'asd123!@';
$database_port = '3306';
5. httpd cacti설정파일 변경
vim /etc/httpd/conf.d/cacti.conf
# 파일 접근 권한
Require grant all
6. 웹 설정
기본 ID/PW : admin/admin
계약서 수락 및 시작 입력
/etc/php.ini에서 필수 요구사항 수정
php-snmp 모듈 설치
/etc/my.cnf.d/server.cnf 설정 변경
/usr/share/mysql/mysql_test_data_timezone.sql을 DB에 저장
mysql -ucacti -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
계속해서 다음.
주기 및 네트워크 범위 설정
다음을 누른 뒤 파일에서 주석해제를 해주어야함.
vim /etc/corn.d/cacti
# 주석해제
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
설치
7. 해당 주소로 다시 접근
8. 새 기기 설정 (생성 -> 새 기기)
9. 관리 -> 장치 -> 입력한 장치 체크 -> 활성화 -> 나무위에 놓기
'네트워크 및 서버 > 서버' 카테고리의 다른 글
Web(Apache) SSL 인증서 발급 및 적용 (0) | 2024.11.15 |
---|---|
서버 실습 (0) | 2024.11.15 |
SNMP (0) | 2024.10.25 |
Mail서버 구축 - Postfix/Dovecot (2) (0) | 2024.10.18 |
Roundcube (0) | 2024.10.16 |