当前位置:   article > 正文

Linux Shell编程:SNMP服务安装_shell snmp 监控服器

shell snmp 监控服器

Linux下实现SNMP服务的一键安装配置,具体实现过程如下所示(CentOS 7操作系统)。

(1)角色判断

判断当前登录的用时是否为root用户,防止安装软件时不能进行安装。如果不是root用户将退出脚本执行,否则将继续进行脚本执行。

  1. #!/bin/bash
  2. #进行一键安装SNMP创建Shell脚本
  3. #
  4. #判断当前用户是否为root
  5. if [ "$(id -u)" != "0" ]
  6. then
  7.        echo "This Shell must be run as root" 1>&2
  8.        exit 1
  9. fi

(2)检查软件是否安装

检查SNMP服务需要的安装包是否已经安装,如果没有安装通过Shell脚本直接进行安装。

  1. #检查系统是否存在yum命令
  2. YUM_CMD=`whereis yum | awk '{print $2}'`
  3. if [ "$YUM_CMD" != "" ]
  4. then
  5.        #检测是否安装gcc
  6.        cmd=`rpm -q gcc | grep -v "not installed"`
  7.        if [ "${cmd}x" = "x" ]
  8.        then
  9.               echo "install gcc start >>>"
  10.               yum install -y gcc 1>/dev/null 2>&1
  11.        else
  12.               echo "not need install gcc"
  13.        fi
  14.        cmd1=`rpm -q net-snmp | grep -v "not installed"`
  15.        if [ "${cmd1}x" = "x" ]
  16.        then
  17.               echo "install net-snmp start >>>"
  18.               yum install -y net-snmp 1>/dev/null 2>&1
  19.        else
  20.               echo "not need install net-snmp"
  21.        fi
  22.        cmd2=`rpm -q net-snmp-utils | grep -v "not installed"`
  23.        if [ "${cmd2}x" = "x" ]
  24.        then
  25.               echo "install net-snmp-utils start >>>"
  26.               yum install -y net-snmp-utils 1>/dev/null 2>&1
  27.        else
  28.               echo "not need install net-snmp-utils"
  29.        fi
  30. else
  31.        echo "Don't have yum"
  32.        exit 1
  33. fi

(3)修改配置文件

修改SNMP服务的配置文件,自定义SNMP的共同体名称以及SNMP结果视图节点,具体如下所示。

  1. SNMPConfName="/etc/snmp/snmpd.conf"
  2. if [ -f ${SNMPConfName} ]
  3. then
  4.        #配置SNMP服务,将原始的SNMP配置文件进行重命名
  5.        echo "config file start >>>"
  6.        mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak
  7.        #创建配置文件赋予权限
  8.        touch ${SNMPConfName}
  9.        chmod 777 ${SNMPConfName}
  10.        echo "##" >> ${SNMPConfName}
  11.        #配置SNMP配置文件内容
  12.        echo "com2sec      mynetwork    default    public" >> ${SNMPConfName}
  13.        echo "group   MyROGroup   v1   mynetwork" >> ${SNMPConfName}
  14.        echo "group   MyROGroup   v2c  mynetwork" >> ${SNMPConfName}
  15.        echo "group   MyROGroup   usm mynetwork" >> ${SNMPConfName}
  16.        echo "view     systemview    included .1.3.6.1.2.1.1" >> ${SNMPConfName}
  17.        echo "view     systemview    included .1.3.6.1.2.1.25.1.1" >> ${SNMPConfName}
  18.        echo "view     all    included .1" >> ${SNMPConfName}
  19.        echo "access  MyROGroup   ""    any  noauth   0     all    all    none" >> ${SNMPConfName}
  20.        echo "dontLogTCPWrappersConnects yes" >> ${SNMPConfName}
  21.        echo "agentaddress 161" >> ${SNMPConfName}
  22. else
  23.        echo "Config File not exit"
  24. fi

(4)服务与安全配置

启动SNMP服务,并设置SNMP自启动;配置防火墙允许161/udp端口进行访问,具体配置如下。

  1. #服务管理与安全配置
  2. if [ -f ${SNMPConfName} ]
  3. then
  4.        #服务启动
  5.        echo "Service snmpd start"
  6.        systemctl restart snmpd
  7.        systemctl enable snmpd
  8.       
  9.        #防火墙配置
  10.        echo "firewall config start"
  11.        firewall-cmd --zone=public --add-port=161/udp --permanent
  12.        firewall-cmd --reload
  13. fi

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/156687
推荐阅读
相关标签
  

闽ICP备14008679号