Giao thức quản lý mạng đơn giản (SNMP
) được sử dụng để lấy thông tin về trạng thái hiện tại của máy chủ, thiết bị mạng, máy in hoặc các thiết bị IP khác. Bạn có thể nhận được các số liệu khác nhau thông qua SNMP:mức sử dụng CPU, số lượng quy trình, trạng thái dịch vụ, v.v. Ưu điểm chính của SNMP là nó được hầu hết mọi thiết bị hỗ trợ và không yêu cầu cài đặt tác nhân hệ thống giám sát riêng biệt. Trong bài viết này, chúng tôi sẽ hướng dẫn cách cài đặt và định cấu hình SNMP (và SNMP v3) tác nhân trên Linux máy chủ chạy CentOS, RHEL hoặc Fedora.
Cài đặt Công cụ chẩn đoán và Tác nhân SNMP trên Linux
Trước khi bạn cài đặt gói SNMP, hãy cài đặt các bản cập nhật mới nhất trên máy chủ của bạn bằng dnf (yum):
# dnf update -y
Sau đó, cài đặt tác nhân SNMP và các công cụ bổ sung từ kho lưu trữ cơ sở:
# dnf install net-snmp net-snmp-utils -y
Làm cách nào để kích hoạt và định cấu hình SNMP Agent trên Linux?
Trước khi cấu hình SNMP, hãy tạo một bản sao của tệp cấu hình gốc:
# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
Sau đó, chỉnh sửa cài đặt tác nhân SNMP:
# nano /etc/snmp/snmpd.conf
Thêm các dòng sau:
rocommunity public syslocation GE-DC2 syscontact [email protected]Đây là ba thông số SNMP cơ bản. Có nhiều tùy chọn khác để định cấu hình tác nhân Net-SNMP, nhưng chúng tôi không thể đề cập đến mọi thứ trong một bài viết.
Lưu tệp (nên nhập đúng vị trí và địa chỉ email hợp lệ). Sau đó, kích hoạt dịch vụ snmpd và khởi động nó:
# systemctl enable snmpd.service
# systemctl start snmpd
Đảm bảo rằng dịch vụ đang chạy:
# systemctl status snmpd
Nếu bạn đang sử dụng tường lửa trên máy chủ của mình, hãy cho phép kết nối tới các cổng TCP / UDP 161 và 162. Sử dụng các lệnh sau để mở các cổng SNMP trong firewalld:
# 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
Thăm dò ý kiến Đại lý SNMP bằng Snmpwalk
Bạn có thể thăm dò nhân viên SNMP bằng cách sử dụng snmpwalk dụng cụ. Để kiểm tra cục bộ dịch vụ bằng giao thức SMMPv2, hãy sử dụng lệnh:
# snmpwalk -v 2c -c public -O e 127.0.0.1
Nếu SNMP được định cấu hình chính xác, bạn sẽ nhận được một tập hợp dữ liệu SNMP từ tác nhân.
Sau khi thiết lập tệp cấu hình và chạy lệnh kiểm tra, tôi nhận được lỗi bên dưới:Timeout: No Response from localhost
Tôi đã sửa nó bằng cách xóa tệp cấu hình và chỉ thêm các dòng tôi đã chỉ định ở trên. Nếu bạn cần một số cài đặt cụ thể, hãy kiểm tra mọi thứ kỹ lưỡng, vì dịch vụ bắt đầu mà không có bất kỳ sự cố nào, nhưng nó không hoạt động.
Bạn cũng có thể truy vấn cục bộ máy chủ của mình bằng lệnh này:
# 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: [email protected] 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
Sau đó, đảm bảo rằng tác nhân SNMP của bạn có sẵn từ xa. Chạy lệnh này trên một máy chủ khác (cài đặt công cụ snmp trước khi thực hiện):
# snmpwalk -v2c -c public 192.168.21.205 system
Như bạn có thể thấy, máy chủ từ xa đã nhận thông tin từ máy chủ qua SNMP . Giờ đây, bạn có thể thêm máy chủ vào bất kỳ hệ thống giám sát SNMP nào (như Zabbix hoặc Cacti ) .
Đây là bài viết về “Cách định cấu hình SNMP trên máy chủ VMWare ESXi?”.Định cấu hình SNMPv3 trên Linux CentOS / RHEL / Fedora
Trong phần đầu của bài viết, chúng tôi đã chỉ ra cách cấu hình SNMP agent sử dụng SNMP v1 và v2. SNMPv3 là phiên bản mới hơn và an toàn hơn của giao thức với hỗ trợ xác thực và mã hóa. Để định cấu hình SNMPv3, hãy tạo người dùng bằng mật khẩu, đặt mật khẩu mã hóa, quyền truy cập và thuật toán mã hóa (MD5 hoặc SHA).
Để tạo người dùng cho SNMPv3, hãy dừng daemon snmpd:
# systemctl stop snmpd
Sau đó, bạn có thể tạo người dùng:
# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser
net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]
- -ro - có nghĩa là người dùng có đặc quyền chỉ đọc
- Authpass - mật khẩu xác thực
- Privpass - khóa cá nhân
Sau khi chạy lệnh, một người dùng với mật khẩu và khóa được chỉ định sẽ được tạo:
Bắt đầu dịch vụ:
# systemctl start snmpd
Cố gắng thăm dò nhân viên SNMP bằng cách sử dụng snmpwalk. Lưu ý rằng để thăm dò ý kiến trên SNMPv3, bạn phải chỉ định tên người dùng, mật khẩu và khóa.
# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head