Computer >> 컴퓨터 >  >> 체계 >> Linux

RHEL/CentOS/Fedor에 SNMP 설치 및 구성

단순 네트워크 관리 프로토콜 (SNMP )은 서버, 네트워크 장비, 프린터 또는 기타 IP 장치의 현재 상태에 대한 정보를 얻는 데 사용됩니다. SNMP를 통해 CPU 사용률, 프로세스 수, 서비스 상태 등 다양한 메트릭을 얻을 수 있습니다. SNMP의 주요 장점은 거의 모든 장치에서 지원되며 별도의 모니터링 시스템 에이전트를 설치할 필요가 없다는 것입니다. 이 기사에서는 SNMP 를 설치하고 구성하는 방법을 보여줍니다. (및 SNMP v3) 에이전트 Linux에서 CentOS, RHEL 또는 Fedora를 실행하는 호스트.

Linux에 SNMP 에이전트 및 진단 도구 설치

SNMP 패키지를 설치하기 전에 dnf(yum)를 사용하여 서버에 최신 업데이트를 설치하십시오.

# dnf update -y

그런 다음 기본 저장소에서 SNMP 에이전트 및 추가 도구를 설치합니다.

# dnf install net-snmp net-snmp-utils -y

RHEL/CentOS/Fedor에 SNMP 설치 및 구성

Linux에서 SNMP 에이전트를 활성화하고 구성하는 방법

SNMP 구성 전에 원본 구성 파일의 복사본을 만듭니다.

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

그런 다음 SNMP 에이전트 설정을 편집합니다.

# nano /etc/snmp/snmpd.conf

다음 행을 추가하십시오.

rocommunity public
syslocation GE-DC2
syscontact gedc2-admins@woshub.com
다음은 세 가지 기본 SNMP 매개변수입니다. Net-SNMP 에이전트를 구성하기 위한 다른 많은 옵션이 있지만 한 문서에서 모든 것을 다룰 수는 없습니다.

파일을 저장합니다(올바른 위치와 유효한 이메일 주소를 입력하는 것이 좋습니다). 그런 다음 snmpd 서비스를 활성화하고 시작합니다.

# systemctl enable snmpd.service
# systemctl start snmpd

서비스가 실행 중인지 확인하십시오.

# systemctl status snmpd

RHEL/CentOS/Fedor에 SNMP 설치 및 구성

서버에서 방화벽을 사용하는 경우 TCP/UDP 포트 161 및 162에 대한 연결을 허용합니다. 다음 명령을 사용하여 firewalld에서 SNMP 포트를 엽니다.

# firewall-cmd --zone=public --add-port=161/udp --permanent
# firewall-cmd --zone=public --add-port=161/tcp –permanent
# firewall-cmd --zone=public --add-port=162/udp --permanent
# firewall-cmd --zone=public --add-port=162/tcp --permanent
# firewall-cmd --reload

Snmpwalk를 사용하여 SNMP 에이전트 폴링

snmpwalk를 사용하여 SNMP 에이전트를 폴링할 수 있습니다. 도구. SMMPv2 프로토콜을 사용하여 로컬에서 서비스를 확인하려면 다음 명령을 사용하십시오.

# snmpwalk -v 2c -c public -O e 127.0.0.1

SNMP가 올바르게 구성된 경우 에이전트에서 SNMP 데이터 세트를 수신합니다.

구성 파일을 설정하고 테스트 명령을 실행한 후 아래와 같은 오류가 발생했습니다.

Timeout: No Response from localhost

구성 파일을 지우고 위에서 지정한 줄만 추가하여 문제를 해결했습니다. 특정 설정이 필요한 경우 문제 없이 서비스가 시작되지만 작동하지 않으므로 모든 것을 철저히 확인하십시오.

다음 명령을 사용하여 로컬에서 서버를 쿼리할 수도 있습니다.

# snmpwalk -v2c -c public localhost system

SNMPv2-MIB::sysDescr.0 = STRING: Linux server1.test.com 4.18.0-147.8.1.el8_1.x86_64 #1 SMP Thu Apr 9 13:49:54 UTC 2020 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (106564) 0:17:45.64
SNMPv2-MIB::sysContact.0 = STRING: gedc2-admins@woshub.com
SNMPv2-MIB::sysName.0 = STRING: server1.test.com
SNMPv2-MIB::sysLocation.0 = STRING: GE-DC2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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

그런 다음 SNMP 에이전트를 원격으로 사용할 수 있는지 확인하십시오. 다른 서버에서 이 명령을 실행하십시오(이를 수행하기 전에 snmp 도구를 설치하십시오):

# snmpwalk -v2c -c public 192.168.21.205 system

RHEL/CentOS/Fedor에 SNMP 설치 및 구성

보시다시피 원격 서버는 SNMP를 통해 서버로부터 정보를 받았습니다. . 이제 모든 SNMP 모니터링 시스템(예:Zabbix 또는 Cacti)에 서버를 추가할 수 있습니다. .

다음은 "VMWare ESXi 호스트에서 SNMP를 구성하는 방법"에 대한 기사입니다.

Linux CentOS/RHEL/Fedora에서 SNMPv3 구성

이 기사의 시작 부분에서 SNMP v1 및 v2를 사용하는 SNMP 에이전트를 구성하는 방법을 보여주었습니다. SNMPv3 인증 및 암호화를 지원하는 더 새롭고 더 안전한 버전의 프로토콜입니다. SNMPv3를 구성하려면 암호로 사용자를 생성하고 암호화 암호, 액세스 권한 및 암호화 알고리즘(MD5 또는 SHA)을 설정하십시오.

SNMPv3용 사용자를 생성하려면 snmpd 데몬을 중지하십시오.

# systemctl stop snmpd

그런 다음 사용자를 만들 수 있습니다.

# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser

다음은 net-snmp-create-v3-user 구문입니다. :

net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]

  • -ro – 사용자에게 읽기 전용 권한이 있음을 의미합니다.
  • Authpass – 인증 비밀번호
  • Privpass – 개인 키

명령을 실행한 후 지정된 암호와 키를 가진 사용자가 생성됩니다.

RHEL/CentOS/Fedor에 SNMP 설치 및 구성

서비스 시작:

# systemctl start snmpd

snmpwalk를 사용하여 SNMP 에이전트를 폴링하십시오. SNMPv3를 통해 폴링하려면 사용자 이름, 암호 및 키를 지정해야 합니다.

# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head