• 首页
  • 相册
  • 归档
  • 友链
  • 关于
  • 搜索
  • 夜间模式
    ©2015-2025  Ethan's Blog Theme by OneBlog
    搜索
    标签
    # Amule # Gargoyle # LUCI # VIM # Python # Nginx # 反代 # Ansible # Apache # LNMP
  • 首页>
  • 运维>
  • 正文
  • zabbix安装及监控网络设备

    2019年10月31日 2 阅读 0 评论 6176 字

    安装基础组件

    yum -y install epel-release screen wget net-tools mariadb-server mariadb
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 
    yum -y install net-snmp net-snmp-utils
    wget --no-check-certificate https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm -O remi-release-7.rpm && rpm -ivh remi-release-7.rpm
    yum install yum-utils
    yum-config-manager --enable remi-php73
    yum -y install php php-{cli,common,dba,devel,embedded,fpm,gd,imap,interbase,intl,mbstring,mysqlnd,pdo,opcache,pear,phpdbg,recode,snmp,soap,xml,xmlrpc,bcmath,ldap,pecl-memcached} curl curl-devel

    安装zabbix

    rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    yum -y install zabbix-server-mysql  zabbix-web-mysql zabbix-agent

    Mysql操作

    systemctl enable mariadb
    systemctl start mariadb
    mysql_secure_installation进行Mysql初始化安装
    CREATE USER 'zabbix'@'host' IDENTIFIED BY 'P@ssw0rd';
    
    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to zabbix@localhost identified by 'P@ssw0rd';
    
    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

    修改配置文件

    vi /etc/zabbix/zabbix_server.conf
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=<password>
    

    修改PHP.ini参数

    php_value max_execution_time 300
    php_value memory_limit 128M
    php_value post_max_size 16M
    php_value upload_max_filesize 2M
    php_value max_input_time 300
    php_value max_input_vars 10000
    php_value always_populate_raw_post_data -1
    php_value date.timezone Asia/Shanghai

    启动httpd及php-fpm进程

    systemctl enable httpd
    systemctl start httpd
    systemctl enable php-fpm
    systemctl start php-fpm
    注:任何对于httpd.conf及php.ini文件的修改,改完后都需要重启httpd及php-fpm进程使配置生效

    SELinux设置

    yum -y install setroubleshoot setroubleshoot-server
    setsebool -P httpd_can_connect_zabbix on
    setsebool -P httpd_can_network_connect_db on
    ausearch -c 'zabbix_server' --raw | audit2allow -M my-zabbixserver
    semodule -i my-zabbixserver.pp

    SELinux的排错

    必装组件:

    yum -y install setroubleshoot setroubleshoot-server setools-console

    webfront安装

    完成上述操作后,防火墙开启对应协议并启动对应程序

    firewall-cmd --add-service={http,https} --permanent
    firewall-cmd --reload

    开启对应的程序:

    systemctl enable zabbix-server
    systemctl enable zabbix-agent
    systemctl start zabbix-server
    systemctl start zabbix-agent

    访问http://yourserverip/zabbix填入相关参数即可开始安装

    注:/var/lib/php/session 注意权限为root apache drwxrwx---,否则安装webfront会失败

    模板配置

    对于不在官方支持范围内的设备,需要自己添加模板进行设备的监控,例如H3C的设备,官方默认只有Cisco等超级厂商的模板,如果你使用的是Cisco的产品那么你很幸运;如果非常不幸的你的是H3C等国产设备,那么可以参考以下步骤进行模板添加,目前我所做的模板主要检测CPU&Memory利用率、端口状态及端口实时流量,以H3C ER3200路由器为例,首先在路由器中设置SNMP的参数,默认使用 community 为pubic,版本为V2C

    无论是什么厂商,大多数参数基本都遵循共有的MIB标准,比如端口流量、端口类型这些常用的参数,但是也有很多ODI为厂商的私有OID,比如H3C的CPU、内存利用率,每个厂商可能都不一样,具体自行查找官方文档或咨询厂商客服。

    以下为本次监控用到的OID,均为公有标准MIB:

    说明参数OID
    接口描述ifDescr1.3.6.1.2.1.2.2.1.2.X
    接口速率ifSpeed1.3.6.1.2.1.2.2.1.5.X
    接口类型ifType1.3.6.1.2.1.2.2.1.3.X
    接口接收字节数ifInOctets1.3.6.1.2.1.2.2.1.10.X
    接口发送字节数ifOutOctets1.3.6.1.2.1.2.2.1.16.X
    接口管理状态ifAdminStatus1.3.6.1.2.1.2.2.1.7.X
    接口运行状态ifOperStatus1.3.6.1.2.1.2.2.1.8.X
    OID中的X代表该OID下面还有值,需要运行对应的OID后才能知道下一个值是什么,例如1.3.6.1.2.1.2.2.1.2

    一般情况是创建模板->添加主机->调用模板,但是常规模板只能是一个接口一个接口的添加,我们这个情况不一般,好几十几百台设备,难道要一台主机一台主机的添加模板?那不得累死,所以我们需要创建一个通用模板,让他可以自动发现设备接口,查看接口流量,自动绘图。

    模板创建

    configuration->Templates->create template创建一个模板,建议不同型号的设备都创建一个模板,如果OID都一样也可以共用一个模板。

    自动发现接口

    在新建的模板上点到Application,创建一个Application;然后点击Discovery创建一个发现规则,Type选择SNMPv2 Agent,名称就写Interface Discovery,key填写ifDescr,SNMP OID填写discovery[{#SNMPVALUE},.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr],

    SNMP community根据自己的设置填写,默认是public; update Interval这个时间不宜设置频繁,我设置为1d,一天发现一次,太过频繁影响设备性能,而且接口板卡也不是一会增加一会减少的。

    创建号以后在模板界面就可以看到Discovery标记为1,代表有一个规则,点进去,我们需要在Discovery中去创建items和Graphs以及Triggers,以便所有设备可以调用;

    创建项目

    点击item prototypes,新建一个item,这里需要监控的有三个,接口出站流量、入栈流量、状态;

    监控接口状态

    Name填写Interface $1 status; type还是snmp,key填ifOperStatus[{#SNMPVALUE}];SNMP OID填IF-MIB::ifOperStatus.{#SNMPINDEX},这里的SNMPINDEX是zabbix的一个内置Macro参数,指可以生成一个索引值不断的去获取数据,因为你的接口不会只有一个,主OID下面都会有一个子值和每一个接口对应,也就是上面表中的X。community还是根据自己设置填写,后面不再多赘述;更新时间建议为60S,一分钟更新一次,基本算是很频繁了。Application 那里选择我们之前创建的Application的名称,提交即可。

    监控接口入站流量

    还是创建item prototypes,名称填Inbound Traffice on interface $1,key填ifHCInOctets[{#SNMPVALUE}],OID填IF-MIB::ifHCInOctets.{#SNMPINDEX},单位填bps,更新周期为1S,因为我要实时监控流量,Aplication选之前建立的Application名称。因为默认获取到的是接口上额总流量,所以我们需要换算一下单位,并且让zabbix自动计算每秒的流量(取最后一秒的值与上一秒的值相减为实际值)。点击上方Preprocessing,然后在Preprocessing steps下点击两次add,其中一个选择Change per second,另一个选择Custom multiplier,值填8,然后update即可。

    监控接口出站流量

    方法和上面一样,只是参数填的不一样,说一下不同的参数值即可;name填Outbound Traffic on interface $1,key填ifHCOutOctets[{#SNMPVALUE}],OID填IF-MIB::ifHCOutOctets.{#SNMPINDEX}。

    端口状态预警

    判断标准:接口有两个状态,管理状态和运行状态,当管理状态和运行状态不一致时认为端口down掉,进行报警;在SNMP中管理状态为up获取的值为1,管理状态为down,获取值为0;接口运行状态为up,获取值也为1,如果运行状态为down,获取值为2;

    在Discovery下面点击Trigger prototypes,创建一个预警,名称 为Port {#SNMPVALUE} Down,报警级别自己定,表达式为{MP8900:ifAdminStatus[{#SNMPVALUE}].last(#1)}=1 and {MP8900:ifOperStatus[{#SNMPVALUE}].last(#1)}>1

    然后直接update即可

    上面的8900为我的模板名称,这个可以手动选择,让系统自动生成条件,模板名称不同会被替换掉

    绘制流量监控图

    点击Graph prototypes,新进一个图表,名称为Interface Traffic on {#SNMPVALUE},其他默认值即可,在items中点add prototype,选择之前创建的 Inbound Traffice on interface {#SNMPVALUE}和Outbound Traffic on interface {#SNMPVALUE}然后update即可;这样就可以在图表中同时看到下载和上传流量。
    下图为效果图,以做参考

    流量峰值监控报警

    比如百兆带宽的WAN口,当下载峰值达到90Mbit/S的时候进行报警,需要添加一个Tigger,在里面选择对应的的条件,峰值计算方式为90M乘以1024的次方除以8,即为接口峰值流量值

    本文著作权归作者 [ Ethan ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    — END —
    首页相册归档友链关于
    Copyright©2015-2025  All Rights Reserved.  Load:0.012 s
    Theme by OneBlog V3.6.3
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。