1. Notas de versão
Sistema operacional: Red Hat Enterprise Linux Server versão 7.6
net-snmp: v5.7.2
2. Instale e configure net-snmp
2.1 Instale o net-snmp
Após configurar a fonte yum do disco do sistema do redhat7.6, execute:
# yum list | grep net-snmp
net-snmp.x86_64 1:5.7.2-37.el7 local
net-snmp-agent-libs.x86_64 1:5.7.2-37.el7 local
net-snmp-devel.x86_64 1:5.7.2-37.el7 local
net-snmp-libs.x86_64 1:5.7.2-37.el7 anaconda/7.6
net-snmp-utils.x86_64 1:5.7.2-37.el7 local
net-snmp-agent-libs.i686 1:5.7.2-37.el7 local
net-snmp-devel.i686 1:5.7.2-37.el7 local
net-snmp-libs.i686 1:5.7.2-37.el7 local
# yum -y install net-snmp*
2.2 Caminho do arquivo
O caminho padrão do programa snmpd: /usr/sbin/snmpd
snmpd.conf O caminho padrão do arquivo de configuração: /etc/snmp/snmpd.conf
2.3 Modifique snmpd.conf - nome da comunidade
# vim /etc/snmp/snmpd.conf
# sec.name source community
com2sec notConfigUser default public
改为:
# sec.name source community
com2sec notConfigUser default cmsnmp
2.4 Modificar snmpd.conf - Visualizar permissões de nó de dispositivo
view: Define quais informações do dispositivo do nó podem ser visualizadas.
A configuração snmp padrão só pode visualizar informações do dispositivo nos nós .1.3.6.1.2.1.1 e .1.3.6.1.2.1.25.1.1. No entanto,
dispositivos como a CPU e a memória do host não estão sob esses nós, portanto, isso os dados não podem ser obtidos. Modifique da seguinte forma:
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
改为:
# name incl/excl subtree mask(optional)
view systemview included .1
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1
2.5 Modificar snmpd.conf - Modifique a configuração das verificações do processo
#proc mountd
#proc ntalkd 4
#proc sendmail 10 1
改为:
proc mountd
proc ntalkd 4
proc sendmail 10 1
Através da função /search, remova o comentário do sinal # na frente dessas três linhas.
2.6 Modificar snmpd.conf - Outros
#exec echotest /bin/echo hello world
改为:
exec echotest /bin/echo hello world
#disk / 10000
改为:
disk / 10000
#load 12 14 14
改为:
load 12 14 14
Salvar configuração e sair
2.7 Modifique snmpd.conf através do comando sed
O seguinte comando sed pode substituir o conteúdo dos capítulos 2.3-2.6 acima. É conveniente escrever scripts para operações em lote posteriores.
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak #首先备份下配置文件
sed -i '41s/public/cmsnmp/' /etc/snmp/snmpd.conf #修改41行,public为cmsnmp
sed -i '207s/#proc mountd/proc mountd/' /etc/snmp/snmpd.conf
sed -i '210s/#proc ntalkd 4/proc ntalkd 4/' /etc/snmp/snmpd.conf
sed -i '213s/#proc sendmail 10 1/proc sendmail 10 1/' /etc/snmp/snmpd.conf
sed -i '272s/#exec echotest/exec echotest/' /etc/snmp/snmpd.conf
sed -i '323s/#disk/disk/' /etc/snmp/snmpd.conf
sed -i '352s/#load 12 14 14/load 12 14 14/' /etc/snmp/snmpd.conf
sed -i '/.1.3.6.1.2.1.1/i\view systemview included .1' /etc/snmp/snmpd.conf
#匹配到字符串“.1.3.6.1.2.1.1”,在这前插入一行内容“view systemview included .1”
#确认修改成功:
cat /etc/snmp/snmpd.conf | grep -E "cmsnmp|proc mountd|proc ntalkd|proc sendmail|exec echotest|load 12|view systemview"
3. Inicie o net-snmp
# /bin/systemctl restart snmpd.service
# ps -ef | grep snmpd
root 21768 1 1 17:33 ? 00:00:00 /usr/sbin/snmpd -LS0-6d -f
root 21779 10145 0 17:33 pts/5 00:00:00 grep --color=auto snmpd
4. Verifique o net-snmp
4.1 Verifique do cliente local
snmpget -v 1 -c cmsnmp localhost sysUpTime.0 #此处localhost也可以用本地IP代替
snmpwalk -v 2c -c cmsnmp -m ALL localhost .1.3 | more #此处localhost也可以用本地IP代替
#cmsnmp é o nome da comunidade, que precisa ser consistente com a configuração do arquivo snmpd.conf, caso contrário o comando não poderá ser executado.
Se as informações de saída forem normais, indica que a configuração do snmp está normal.
4.2 Verifique do lado do servidor snmp
# cmsnmp为共同体名称
# 10.168.1.129 是client端IP地址
snmpwalk -v 2c -c cmsnmp 10.168.1.129 .1.3.6.1.2.1.25.2.2 #取得系统总内存
snmpwalk -v 2c -c cmsnmp 10.168.1.129 hrSystemNumUsers #取得系统用户数
snmpwalk -v 2c -c cmsnmp 10.168.1.129 .1.3.6.1.2.1.4.20 #取得IP信息
snmpwalk -v 2c -c cmsnmp 10.168.1.129 system #查看系统信息
snmpwalk -v 2c -c cmsnmp 10.168.1.129 ifDescr #获取网卡信息
Se executado, as informações de saída são normais, indicando que não há problema com a configuração.
Se as seguintes informações forem exibidas:
Timeout: No Response from 10.168.1.129
Você precisa considerar se isso é causado pelas configurações do firewall.
5. Configurações de firewall
5.1 O firewall pode ser desligado no ambiente empresarial
# systemctl stop firewalld #关闭防火墙
# systemctl status firewalld #查看防火墙状态
5.2 O firewall não pode ser desligado no ambiente empresarial
Se o ambiente de negócios não conseguir fechar o firewall, podemos configurar a porta 161 para permitir conexões do servidor snmp:
# systemctl start firewalld #打开防火墙
# systemctl status firewalld #查看防火墙状态
# firewall-cmd --zone=public --add-port=161/udp --permanent
#开放161端口
#--permanent的作用是使设置永久生效,不加的话机器重启之后失效
# firewall-cmd --reload #配置修改后重新加载
# firewall-cmd --zone=public --query-port=161/udp
#确认配置是否生效:输出yes表示生效