CentOS 7 + Zabbix 4.0 监视网络设备

Posted z7w7z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 7 + Zabbix 4.0 监视网络设备相关的知识,希望对你有一定的参考价值。

Zabbix 4.0 安装

 参考:  https://www.cnblogs.com/yaoyaojcy/p/9884130.html

 1.1 Centos 准备

1.1.1 升级系统组件到最新的版本
yum update -y 更新Linux

1.1.2 关闭selinux
setenforce 0 #临时关闭命令
vi /etc/selinux/config #将SELINUX=enforcing改为SELINUX=disabled
设置后需要重启才能生效

getenforce #检测selinux是否关闭,Disabled 为关闭

1.1.3 关闭防火墙

systemctl stop firewalld.service #临时关闭firewall
systemctl disable firewalld.service #禁止firewall开机启动

1.2 搭建LAMP环境

1.2.1 安装所需所有软体仓库

Zabbix是建立在LAMP或者LNMP环境之上,在此为了方便就使用yum安装LAMP环境。

yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
rpm -qa httpd php mariadb #安装完成后检查应用版本

1.2.2 编辑httpd

vi /etc/httpd/conf/httpd.conf
ServerName www.zabbix.com #修改为主机名
DirectoryIndex index.html index.php # 添加首页支持格式 

1.2.3 编辑配置php,配置中国时区

vi /etc/php.ini
date.timezone = PRC # 配置时区

1.2.4 启动httpd,mysqld

systemctl start httpd #启动并加入开机自启动httpd
systemctl enable httpd
systemctl start mariadb #启动并加入开机自启动mysqld
systemctl enable mariadb
ss -anplt | grep httpd #查看httpd启动情况,80端口监控表示httpd已启动
ss -naplt | grep mysqld #查看mysqld启动情况,3306端口监控表示mysqld已启动 

1.2.5 创建一个测试页,测试LAMP是否搭建成功

vi /var/www/html/index.php #创建一个测试页,并编辑

<?php
phpinfo()
?>

本地测试:curl http://127.0.0.1 -I #本地测试

1.2.6 初始化mysql数据库,并配置root用户密码

mysqladmin -u root password ykadmin123 #设置数据库root密码

mysql -u root -p #root用户登陆数据库
CREATE DATABASE zabbix character set utf8 collate utf8_bin; #创建zabbix数据库(中文编码格式)
GRANT all ON zabbix.* TO ‘zabbix‘@‘%‘ IDENTIFIED BY ‘ykadmin123‘; #授予zabbix用户zabbix数据库的所有权限,密码ykadmin123
flush privileges; #刷新权限
quit #退出数据库

vi /var/www/html/index.php #修改测试页内容,测试zabbix用户是否能够登陆数据库,这个环节很重要

<?php
$link=mysql_connect(‘172.18.20.224‘,‘zabbix‘,‘ykadmin123‘);
if($link) echo "<h1>Success!!</h1>"; #显示Success表示连接数据库成功
else echo "Fail!!";
mysql_close();
?>

在浏览器中打开‘172.18.20.224,验证更改生效

2. 安装zabbix

2.1 安装依赖包 + 组件

yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

yum install php-bcmath php-mbstring -y #安装php支持zabbix组件

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #会自动生成yum源文件,保证系统可以上网

yum install zabbix-server-mysql zabbix-web-mysql -y #安装zabbix组件

zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p -h 172.18.20.224 zabbix #导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 172.18.20.224),密码是用户zabbix登陆密码ykadmin123

vi /etc/zabbix/zabbix_server.conf #配置数据库用户及密码
grep -n ‘^‘[a-Z] /etc/zabbix/zabbix_server.conf #确认数据库用户及密码

vi /etc/httpd/conf.d/zabbix.conf //修改时区

将# php_value date.timezone Europe/Riga 变更成php_value date.timezone Asia/Shanghai

systemctl enable zabbix-server # #启动并加入开机自启动zabbix-server
systemctl start zabbix-server

netstat -anpt | grep zabbix //监听在10051端口上,如果没监听成功,可重启zabbix-server服务试试

建议重启服务器,再继续。

2.2 web界面安装zabbix

如果以上步骤无误,现在可以使用web打开

http://172.18.20.224/zabbix  //注意这里IE浏览器打不开,本次测试使用chrome浏览器

 技术分享图片

  技术分享图片

技术分享图片

  技术分享图片

 技术分享图片

 技术分享图片

技术分享图片

 技术分享图片

  技术分享图片

 2.3  更换语言

技术分享图片

2.4  解决图例中文乱码的问题 

       从C:WindowsFonts 中复制字体zabbix server服务器"/usr/share/zabbix/fonts"目录中

 修改php页面指定的字体文件:vi /usr/share/zabbix/include/defines.inc.php define(‘ZBX_GRAPH_FONT_NAME‘, ‘DejaVuSans‘);

  修改为      define(‘ZBX_GRAPH_FONT_NAME‘, ‘simkai‘);

 保存,重启web,刷新zabbix web页面

参考  http://blog.51cto.com/wsw26/2068082

3  配置网络设备打开snmp

交换机全局配置:

Config ter

snmp-server community private rw

snmp-server community public ro

Do Show snmp community | include public

参考 http://blog.sina.com.cn/s/blog_698b66a40101ey1r.html

 

4 在zabbix 关联网络设备

参考 http://blog.51cto.com/tryrus/1772271

需要用到getif这个软件,请自行下载。

 4.1 打开软件,连接交换机

注意:Windows 7/8/8.1系统需要单击右键,选择以管理员身份运行,否则软件会报错。
①Host name #填写要连接获取端口ID编号的交换机IP。
②SNMP Parameters/Read #设置SNMP协议的读团体字符,必须与交换机上设置的一致。
③点击Start,等待结果。
 ④出现SysInfo variables OK,表明连接成功
技术分享图片
4.2 获取交换机端口ID编号

Interfaces->Start,将端口号与前面的端口ID编号记录下来。这里只需要知道交换机端口的ID编号即可

技术分享图片

 

4.3 添加交换机

   具体步骤是①建立主机群组(Host groups),②建立模板(Templates),③建立项目(Items),④建立主机(Hosts)。

  4.3.1 创建Host groups
    一个公司中会有很多设备需要监控,交换机,服务器,打印机之类的。同类型或同业务的设备会有多台,所以相同类型或业务的设备需要放在同一个组里,以方便管理。
    打开创建主机群组界面Configuration->Host groups->Create host group 。
    创建Host group
    ①Group name  #输入设备群组名,我这里要新建一些交换机,所以取名为Switch。
    ②Hosts #如果之前有新建好的交换机,可以从右边的选项框中选到这个群组下。一般都是在新建主机的时候选择主机所属的主机群组,所以这里的主要作用应该是切换主机所属的群组,即可以把主机从一个群组切换到另一个群组。
    ③点击Add,创建完成。
技术分享图片

    按照同样的方法为Templates创建一个群组,取名为Switch Templates。

 技术分享图片
  4.3.2 创建Templates
    Templates的作用在于可以为同类型或型号的交换机、服务器、打印机、主机等建立统一的模板,在以后建立Host时,引用这个模板,这个模板下所有的Application、Items、Graphs等都会自动在Host下建立。
    打开创建模板界面Configuration->Templates->Create template。 技术分享图片

    创建Template

    ①Template name #给模板取一个名字,建议用交换机的型号来命名。
    ②Groups #选择这个模拟所属的群组,这里选我们之前建立好的Switch Templates。
    ③点击Add,创建完成。
 技术分享图片

   同时我还创建了其它交换机型号的Templates,注意后面的Items,是马上将要创建的,这些创建好的Items会在后面新创建的Host上自动建立。

 技术分享图片
 4.3.3 创建Items
     打开创建项目界面Configuration->Templates->在列表中选择一个模板->Items->Create item。
 技术分享图片

     创建Item,创建端口Item

     ①Name #以端口号为Item name,并标注是In or Out。
     ②Type  #交换机,打印机之类的设备不支持安装zabbix agent,所以要选择SNMP协议,一般选择V1版本,请提前确认你的设备支持SNMP协议。
     ③Key  #这个Key值可以从Getin 软件中查来。
ifInOctets.5 进项流量,ifOutOctets.3 出项流量,具体参考  http://blog.51cto.com/ustogether/1929752
     ④SNMP OID  #修改interfaces.ifTable.ifEntry.ifInOctets.5最后的数值 5为端口ID编号,从Getin 软件中查来的。
如果是Out的流量,将ifInOctests改成ifOutOctets即可,即interfaces.ifTable.ifEntry.ifOutOctets.1。
     ⑤SNMP community  #设置SNMP协议的读团体字符,必须与交换机上设置的一致。
     ⑥Units #设置端口流量的单位, 这里设置 bps。
     ⑦Update interval  #根据服务器的性能和监控的设备数量来设置,默认也可以。
 技术分享图片

     ⑧在 processing 中队 收到的数据进行预处理  

Use custom multiplier # 打上勾,并设置数值为8,如果不设置,Units的单位就是Bps。

      ⑨change 中 选 change per second   (相当于老版本中的    Store value  #设置为Delta)  参考 : http://www.mamicode.com/info-detail-2054273.html
     ⑩其它设置默认即可,最后勾上Enabled,点击Add,创建完成。
 技术分享图片

     同一个端口有In的流量也会有Out的流量,将这个型号的交换机所有端口新建成Item后,结果如下。

 技术分享图片
4.3.4 创建Hosts
     打开创建主机界面Configuration->Hosts->Create host。
  技术分享图片
    创建Host
    ①Host name  #主机名称,最好与交换机名称一致,可再带上交换机的IP。
    ②Group #选择交换机所属的群组。
    ③SNMP interfaces  #填写交换机的IP。
  技术分享图片

     ④Monitored by proxy 选择no proxy,并激活此主机。

 技术分享图片
     ⑤选择Host选择旁边的Templates选项为主机选择所属的模板。
    ⑥点击Select进入到模板选择界面。
    技术分享图片
    ⑦Group 这里选择之前建立的Switch Templates。
    ⑧选择主机所属的模板,即交换机型号,因为我的模板是以交换机型号来区分的。点击Select返回Host的Templates界面。
技术分享图片
    ⑨点击Add,确定增加这个模板给到这个Host,这一步很重要。
    技术分享图片
    ⑩确定Linked templates里面有我们刚才选择的模板之后,点击Add,创建完成。
    技术分享图片
    创建完成后的状态如下图,之前为模板创建好的Item会自动为主机建立。AVAILABLITY这一栏中SNMP是绿色的,表示监控成功,不成功为红色。   技术分享图片
5 创建端口流量监控
  5.1 创建Graphs
    打开创建图形界面Configuration->Hosts->选择一个主机->Graphs->Create graph。
技术分享图片
    创建Graph
    ①Name  #设置这个监控图表的名称。
    ②点击Add,进入选择要监控的端口界面。
 技术分享图片
    在这里选择要监控流量的端口
技术分享图片
 
    ③其它默认配置即可,点击Add,创建完成。
技术分享图片
    创建完成后的状态如下图。技术分享图片
  5.2 查看端口流量
    打开监控端口流量界面Monitoring->Graphs->Group->Host->Graph
技术分享图片

    Zabbix流量图表可以通过左边Zoom列表中所列的时间段来分段查看端口流量情况,可以是以1小时为区间,也可是以7天为区间,拖动⑥这横向的滚动条,可以查看前一个时间区间或后一个时间区间的流量图表。

 

 








































以上是关于CentOS 7 + Zabbix 4.0 监视网络设备的主要内容,如果未能解决你的问题,请参考以下文章

Centos 7搭建Zabbix 4.0监控系统

CentOS 7 zabbix实现微信报警

快速部署zabbix 4.0

Centos7 zabbix4.0安装

centos7安装zabbix4.0

zabbix 客户端部署