用Zabbix实现监控交换机状态

Zabbix如何监控交换机

1 案例一:部署zabbix监控平台

1.1 需求

l 本案例要求部署一台Zabbix监控服务器


1.2 方案

使用一台虚拟机,安装LNMP环境,Zabbix及相关的依赖包,配置数据库MariaDB并对Zabbix监控平台进行初始化操作


1. 安装LNMP环境

2. 源码安装Zabbix

3. 安装监控主机,修改基本配置

4. 初始化Zabbix监控Web页面

5. 修改PHP配置文件,满足Zabbix需求

1.3步骤

实现此案例需要按照如下步骤进行

步骤一:部署监控服务器

1) 安装LNMP环境

Zabbix监控管理控制台需要通过Web页面展示出来,并且还需要使用数据库来存储数据,因此需要先为Zabbix准备LNMP环境


01. [ root@zabbixserver ~] # y um - y install gcc pcre- devel openssl- devel

02. [ root@zabbixserver ~] # tar - xf nginx- 1.12.2.tar.gz

03. [ root@zabbixserver ~] # cd nginx- 1.12.2

04. [ root@zabbixserver nginx- 1.12.2] # ./configure - - with- http_ssl_module

05. [ root@zabbixserver nginx- 1.12.2] # make && make install

06. [ root@zabbixserver ~] # yum - y install php php- my sql \\

07. > mariadb mariadb- devel mariadb- server

08. [ root@zabbixserver ~] # yum -y install php-fpm-5.4.16.el7.x86_64.rpm

注意:php-fpm软件包YUM源里不提供需要自行下载


2) 修改Nginx配置文件

配置Nginx支持PHP动态网站,因为有大量PHP脚本需要执行,因此还需要开启Nginx各种fastcgi缓存,加速PHP脚本的执行速度


01.[ root@zabbixserver ~] # vim /usr/local/nginx/conf/nginx.conf

02. … …

03. http{

04. … …

05. fastcgi_buffers 8 16k; //缓存php生成的页面内容,8个16k

06. fastcgi_buffer_size 32k; //缓存php生产的头部信息

07. fastcgi_connect_timeout 300; //连接PHP的超时时间

08. fastcgi_send_timeout 300; //发送请求的超时时间

09. fastcgi_read_timeout 300; //读取请求的超时时间

10. location ~ \\.php$ {

11. root html;

12. fastcgi_pass 127.0.0.1:9000;

13. fastcgi_index index.php;

14. include fastcgi.conf;

15. }

16. … …


3) 启动服务

启动Nginx、PHP-FPM、MariaDB、关闭SELinux和防火墙


01. [ root@zabbixserver ~] # systemctl start mariadb

02. [ root@zabbixserver ~] # systemctl start php- fpm

03. [ root@zabbixserver ~] # ln - s /usr/local/nginx/sbin/nginx /sbin/nginx

04. [ root@zabbixserver ~] # nginx

05. [ root@zabbixserver ~] # firewall- cmd - - set- default- zone=trusted

06. [ root@zabbixserver ~] # setenforce 0


4) 客户端测试LNMP环境

服务器创建PHP测试页面,浏览器访问页面测试网页连通性


01. vim /usr/local/nginx/html/test.php

02.

03. $i=520;

04. echo $i;

05. ?>

06. curl http://192.168.201.210/test.php


步骤二:部署监控服务器Zabbix_server


1) 源码安装Zabbix_server,需要提前安装好依赖包


01. [ root@zabbixserver lnmp_soft] # y um - y install net- snmp- devel \\

02. > curl- devel

03. [ root@zabbixserver lnmp_soft] # y um - y install \\

04. > libevent- devel- 2.0.21- 4.el7.x86_64.rpm

注意:libevent- devel软件yum不提供,需要自行安装

05. [ root@zabbixserver lnmp_soft] # tar - xf zabbix- 3.4.4.tar.gz

06. [ root@zabbixserver lnmp_soft] # cd zabbix- 3.4.4/

07. [ root@zabbixserver zabbix- 3.4.4] # ./configure - - enable- server \\

08. > - - enable- proxy --enable-agent --with- my sql=/usr/bin/my sql_config --with-net-snmp --with- libcurl

// - - enable- server安装部署zabbix服务器端软件

// - - enable- agent安装部署zabbix被监控端软件

// - - enable- proxy安装部署zabbix代理相关软件

// - - with- my sql配置my sql_config路径

// - - with- net- snmp允许zabbix通过snmp协议监控其他设备

// - - with- libcurl安装相关curl库文件,这样zabbix就可以通过curl连接http等服务,测试被监控主机服

09. [ root@zabbixserver zabbix- 3.4.4] # make && make install


2)初始化Zabbix,创建数据库,上线Zabbix的Web页面


01.[ root@zabbixserver ~] # mysql

02. my sql> create database zabbix character set utf8;

//创建数据库,支持中文字符集

03.my sql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

//创建可以访问数据库的账户与密码

04.[ root@zabbixserver ~] # cd lnmp_soft/zabbix- 3.4.4/database/mysql/

05.[ root@zabbixserver my sql] # my sql - uzabbix - pzabbix zabbix <

schema.sql

06.[ root@zabbixserver my sql] # my sql - uzabbix - pzabbix zabbix < images.sql

07.[ root@zabbixserver my sql] # my sql - uzabbix - pzabbix zabbix < data.sql

//上边是创建空数据库,zabbix源码包目录下,有提前准备好的数据

//使用my sql导入这些数据即可(注意导入顺序)


4) 上线Zabbix的Web页面


01. [ root@zabbixserver ~] # cd lnmp_soft/zabbix- 3.4.4/frontends/php/

02. [ root@zabbixserver php] # cp - r * /usr/local/nginx/html/

03. [ root@zabbixserver php] # chmod - R 777 /usr/local/nginx/html/*


5) 修改Zabbix_server配置文件,设置数据库相关参数,启动Zabbix_serve服务


01. [ root@zabbixserver ~] # v im /usr/local/etc/zabbix_server.conf

02. DBHost=localhost //数据库主机,默认该行被注释

03. DBName=zabbix //设置数据库名称

04. DBUser=zabbix //设置数据库账户

05. DBPassword=zabbix //设置数据库密码,默认该行被注释

06. LogFile=/tmp/zabbix_server.log //设置日志,仅查看以下即可

07. [ root@zabbixserver ~] # useradd - s /sbin/nologin zabbix

//创建用户不然无法启动服务

08. [ root@zabbixserver ~] # zabbix_server //启动服务

09. [ root@zabbixserver ~] # ss - ntulp | grep zabbix_server //确认连接状态,端口10051

10. tcp LISTEN 0 128 *:10051*:* users:( ( "zabbix_server",pid=23275,fd=4) ,( "zabbix_server",


//如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_server, 一定要先使用killall zabbix_server关闭服务后,再重新启动一次。 修改Zabbix_agent配置文件,启动Zabbix_agent服务

11. [ root@zabbixserver ~] # v im /usr/local/etc/zabbix_agentd.conf

12. Server=127.0.0.1,192.168.201.210 //允许哪些主机监控本机

13. ServerActive=127.0.0.1,192.168.201.210 //允许哪些主机通过主动模式监控本机

14. Hostname=zabbix_server //设置本机主机名

15. LogFile=/tmp/zabbix_server.log //设置日志文件

16. UnsafeUserParameters=1 //是否允许自定义key

17. [ root@zabbixserver ~] # zabbix_agentd //启动监控agent

18. [ root@zabbixserver ~] # ss - ntulp | grep zabbix_agentd //查看端口信息为10050


//如果是因为配置文件不对,导致服务无法启动时,不要重复执行zabbix_agentd, 一定要先使用killall zabbix_agentd关闭服务后,再重新启动一次。 浏览器访问Zabbix_server服务器的Web页面


5) 用浏览器访问Zabbix的Web页面


http://192.168.201.210/index.php


//第一次访问,初始化PHP页面会检查计算机环境是否满足要求,如果不满足会给出修改建议

//默认会提示PHP的配置不满足环境要求,需要修改PHP配置文件


6) 根据错误提示,修改PHP配置文件,满足Zabbix_server的Web环境要求 php-bcmath和php-mbstring软件包需要自己下载,yum源里没有提供

01. [ root@zabbixserver ~] # yum - y install php- gd php- xm

02. [ root@zabbixserver ~] # yum -y install php-bcmath

03. [ root@zabbixserver ~] # y um install php- mbstring

04. [ root@zabbixserver ~] # v im /etc/php.ini

05. date.timezone = Asia/Shanghai //设置时区

06. max_execution_time = 300 //最大执行时间,秒

07. post_max_size = 32M //POST数据最大容量

08. max_input_time = 300 //服务器接收数据的时间限制

09. 9. memory _limit = 128M //内存容量限制

10. [ root@zabbixserver ~] # systemctl restart php- fpm


7) 修改完PHP配置文件后,再次使用浏览器访问服务器

http://192.168.201.210/index.php


用Zabbix实现监控交换机状态


用Zabbix实现监控交换机状态


这里有一个PHP LDAP是warning状态是没有问题的! 在初始化数据库页面,填写数据库相关参数


用Zabbix实现监控交换机状态


在登陆页面,使用用户(admin)和密码(zabbix)登陆,登陆后设置语言环境为中文


用Zabbix实现监控交换机状态


用Zabbix实现监控交换机状态


到此Zabbix监控服务端已经配置完成,现在要使用Zabbix对交换机进行监控

步骤

步骤一:以下操作在被监控的交换机上进行,这里以Cisco交换机为例。

1) 登录到Cisco交换机,开启snmp服务

01.enable //切换到特权模式

02.configure terminal //进入全局配置模式

03.snmp-server community public ro //打开交换机snmp服务,设置团体名称为public,只读

04.snmp-server community cisco rw //打开交换机snmp服务,设置团体名称为cisco,读写

05.snmp-server enable traps //启用snmp陷阱

06.exit //退出全局配置模式

07.show run //查看当前配置信息

08.exit //退出特权模式

2)使用Getif查看交换机端口信息

下载Getif:http://www.wtcs.org/snmp4tpc/FILES/Tools/SNMP/getif/getif-2.3.1.zip 安装后打开软件

Windows 7/8/8.1系统需要单击右键,选择以管理员身份运行,否则软件打开失败!

01.Host name:交换机ip地址

02.Read:public

03.其他默认

04.点击start

05.连接成功后切换到interface选项卡,点start连接后查看交换机

06. 点Start进行连接,连接成功后切换到interface选项卡,点Start连接后查看交换机所有的端口信息,并记录下来

07.切换到MBrowser选项卡

08.选择iso->org->dod->internet->mgmt->mib-2->interface->ifTable->ifEntry->ifInOctets

09.点Start进行连接

注意:

1)C3750E端口

ifInOctets //交换机端口进流量

ifOutOctets //交换机端口出流量

Vlan1

5179 StackPort1

5180 StackSub-St1-1

5181 StackSub-St1-2

10101 GigabitEthernet1/0/1

10102 GigabitEthernet1/0/2

10103 GigabitEthernet1/0/3

10104 GigabitEthernet1/0/4

10105 GigabitEthernet1/0/5

10106 GigabitEthernet1/0/6

10107 GigabitEthernet1/0/7

10108 GigabitEthernet1/0/8

10109 GigabitEthernet1/0/9

10110 GigabitEthernet1/0/10

10111 GigabitEthernet1/0/11

10112 GigabitEthernet1/0/12

10113 GigabitEthernet1/1/1

10114 GigabitEthernet1/1/2

10115 GigabitEthernet1/1/3

10116 GigabitEthernet1/1/4

10201 TenGigabitEthernet1/1/1

10202 TenGigabitEthernet1/1/2

14501 Null0

14502 FastEthernet0

2)C2960S端口

ifInOctets //进口流量 1.3.6.1.2.1.2.2.1.10.

ifOutOctets //出口流量 1.3.6.1.2.1.2.2.1.16.

1 Vlan1

10101 GigabitEthernet0/1

10102 GigabitEthernet0/2

10103 GigabitEthernet0/3

10104 GigabitEthernet0/4

10105 GigabitEthernet0/5

10106 GigabitEthernet0/6

10107 GigabitEthernet0/7

10108 GigabitEthernet0/8

10109 GigabitEthernet0/9

10110 GigabitEthernet0/10

10111 GigabitEthernet0/11

10112 GigabitEthernet0/12

10113 GigabitEthernet0/13

10114 GigabitEthernet0/14

10115 GigabitEthernet0/15

10116 GigabitEthernet0/16

10117 GigabitEthernet0/17

10118 GigabitEthernet0/18

10119 GigabitEthernet0/19

10120 GigabitEthernet0/20

10121 GigabitEthernet0/21

10122 GigabitEthernet0/22

10123 GigabitEthernet0/23

10124 GigabitEthernet0/24

10125 GigabitEthernet0/25

10126 GigabitEthernet0/26

10127 GigabitEthernet0/27

10128 GigabitEthernet0/28

10129 GigabitEthernet0/29

10130 GigabitEthernet0/30

10131 GigabitEthernet0/31

10132 GigabitEthernet0/32

10133 GigabitEthernet0/33

10134 GigabitEthernet0/34

10135 GigabitEthernet0/35

10136 GigabitEthernet0/36

10137 GigabitEthernet0/37

10138 GigabitEthernet0/38

10139 GigabitEthernet0/39

10140 GigabitEthernet0/40

10141 GigabitEthernet0/41

10142 GigabitEthernet0/42

10143 GigabitEthernet0/43

10144 GigabitEthernet0/44

10145 GigabitEthernet0/45

10146 GigabitEthernet0/46

10147 GigabitEthernet0/47

10148 GigabitEthernet0/48

10149 GigabitEthernet0/49

10150 GigabitEthernet0/50

12001 Null0

12002 FastEthernet0

3) C3560端口

ifInOctets //进口流量 1.3.6.1.2.1.2.2.1.10.

ifOutOctets //出口流量 1.3.6.1.2.1.2.2.1.16.

1 Vlan1

10101 GigabitEthernet0/1

10102 GigabitEthernet0/2

10103 GigabitEthernet0/3

10104 GigabitEthernet0/4

10105 GigabitEthernet0/5

10106 GigabitEthernet0/6

10107 GigabitEthernet0/7

10108 GigabitEthernet0/8

10109 GigabitEthernet0/9

10110 GigabitEthernet0/10

10111 GigabitEthernet0/11

10112 GigabitEthernet0/12

10113 GigabitEthernet0/13

10114 GigabitEthernet0/14

10115 GigabitEthernet0/15

10116 GigabitEthernet0/16

10117 GigabitEthernet0/17

10118 GigabitEthernet0/18

10119 GigabitEthernet0/19

10120 GigabitEthernet0/20

10121 GigabitEthernet0/21

10122 GigabitEthernet0/22

10123 GigabitEthernet0/23

10124 GigabitEthernet0/24

10125 GigabitEthernet0/25

10126 GigabitEthernet0/26

10127 GigabitEthernet0/27

10128 GigabitEthernet0/28

10129 GigabitEthernet0/29

10130 GigabitEthernet0/30

10131 GigabitEthernet0/31

10132 GigabitEthernet0/32

10133 GigabitEthernet0/33

10134 GigabitEthernet0/34

10135 GigabitEthernet0/35

10136 GigabitEthernet0/36

10137 GigabitEthernet0/37

10138 GigabitEthernet0/38

10139 GigabitEthernet0/39

10140 GigabitEthernet0/40

10141 GigabitEthernet0/41

10142 GigabitEthernet0/42

10143 GigabitEthernet0/43

10144 GigabitEthernet0/44

10145 GigabitEthernet0/45

10146 GigabitEthernet0/46

10147 GigabitEthernet0/47

10148 GigabitEthernet0/48

10501 Null0

10149 GigabitEthernet0/49

10150 GigabitEthernet0/50

10151 GigabitEthernet0/51

10152 GigabitEthernet0/52

步骤二

1、在Zabbix中添加对交换机的监控对思科交换机CPU与内存配置

对内存进行监控

1) 【配置】--【主机】--【监控项】-【创建监控项】


用Zabbix实现监控交换机状态


名称:任意 这里是 CiscoMemoryFree

键值:任意 这里是 CiscoMemoryFree

SNMP ID : 特定 设备的内存空为 .1.3.6.1.4.1.9.9.48.1.1.1.6.1


用Zabbix实现监控交换机状态


名称:任意 这里是 CiscoMemoryUsed

键值:任意 这里是 CiscoMemoryUsed

SNMP ID : 特定设备的内存已被使用 ID为 .1.3.6.1.4.1.9.9.48.1.1.1.5.1


用Zabbix实现监控交换机状态


名称:任意 这里是 CiscoMemoryUsage


键值:任意 这里是 CiscoMemoryUsage


单位:百分比


公式:这里没有特定的使用率ID,需要计算。

设备的内存使用率公式:

(last("CiscoMemoryUsed")/(last("CiscoMemoryFree")+last("CiscoMemoryUsed")))*100

2)【配置】--【主机】--【触发器】--【创建触发器】


用Zabbix实现监控交换机状态


3)【配置】--【主机】--【图形】--【创建图形】


用Zabbix实现监控交换机状态


2、对CPU进行监控

1)【配置】--【主机】--【监控项】-【创建监控项】


用Zabbix实现监控交换机状态


名称:任意 这里是 CiscoCpuUsage

键值:任意 这里是 CiscoCpuUsage

SNMP ID : 特定 设备的内存使用率 ID为 1.3.6.1.4.1.9.2.1.57.0

单位:设置成百分比


2) 【配置】--【主机】--【触发器】--【创建触发器】


用Zabbix实现监控交换机状态


3) 【配置】--【主机】--【图形】--【创建图形】


用Zabbix实现监控交换机状态


到此配置完成。


分享到:


相關文章: