毕业论文Zabbix企业级分布式系统Word版.doc

上传人:peixunshi0 文档编号:98394 上传时间:2025-07-10 格式:DOC 页数:21 大小:1.54MB
下载 相关 举报
毕业论文Zabbix企业级分布式系统Word版.doc_第1页
第1页 / 共21页
毕业论文Zabbix企业级分布式系统Word版.doc_第2页
第2页 / 共21页
毕业论文Zabbix企业级分布式系统Word版.doc_第3页
第3页 / 共21页
毕业论文Zabbix企业级分布式系统Word版.doc_第4页
第4页 / 共21页
毕业论文Zabbix企业级分布式系统Word版.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、如果您需要使用本文档,请点击下载按钮下载!集成企业Zabbix监控系统设计与实现 系 部: 学生姓名: 专业班级: 学 号: 指导教师: 2017年 10月 30 日如果您需要使用本文档,请点击下载按钮下载!目录摘要1关键词11 绪论22 监控系统的开源软件及原理探究22.1 监控系统的开源软件22.1.1 流量监控22.1.2 性能告警32.2 Zabbix的原理探究33 Zabbix特点及运行流程33.1 Zabbix的特点33.2 ZabbIx的运行流程44 总体设计44.1 设计思路44.2 环境参数55 Zabbix安装环境及前期准备55.1 Zabbix安装环境55.2 Zabbi

2、x服务器安装前期准备56 安装Zabbix服务器66.1 搭建LAMP平台、安装Zabbix依赖包66.2 整合LAMP架构76.3 部署Zabbix76.4 创建Zabbix_agentd服务86.5 建立监控数据库86.6 部署PHP页面96.7 锁定安装界面并启动Zabbix服务117 被监控端配置127.1 前期准备127.2 安装Zabbix_agentd代理程序127.3 启动Zabbix_agented服务138 使用Zabbix管理平台138.1 创建主机分组138.2 测试监控性能149 总结16参考文献17致谢18如果您需要使用本文档,请点击下载按钮下载!集成企业Zabbi

3、x监控系统设计与实现摘要“运筹帷幄之中,决胜千里之外。”在IT运维中,监控占据着重要的地位,按比例来算,说30%一点儿也不为过。对IT运维工程师来说,构建一个真正可用的监控告警系统是一项艰巨的任务,能够真正解决自己业务问题的监控系统软件却凤毛麟角。运维离不开监控,就像鱼离不开水,一款功能强大的监控系统可以有力地保证业务性能的稳定。近几年,Zabbix最为监控系统的新兴贵族迅速崛起,Zabbix灵活的设计为用户提供了易用的二次开发接口,让用户既可以使用Zabbix本身提供的功能,又可以自定义更多的接口功能,从硬件监控,到操作系统,再到服务进程,以及网络设备,它无所不能的监控功能令人叹为观止。Za

4、bbix 是一个基于 Web 界面的分布式系统监控与网络设备监控系统,能够监控各种网络参数,并提供灵活的通知机制,使管理员能快速定位故障并解决。由于 Zabbix server 端与 Zabbix agent 组成,可通过 SNMP、Zabbix、Agent、Ping、端口监视等方法实现对远程主机与网络设备的监控。关键词:运维;监控;Zabbix如果您需要使用本文档,请点击下载按钮下载!1 绪论在一个环境中会存在各种各样的设备,例如,硬件设备、软件设备,其系统的构成也是非常复杂的,通常如图1.1所示的模型构成。图1-1 系统模型构成多种应用构成复杂的IT业务系统,保证这些资源的正常运转,是一个

5、公司IT部门的职责。而要让这些应用能够稳定地进行,则需要专业IT人员进行设计、架构、维护和调试。在这个过程中,为了及时掌控基础环境和业务应用系统的可用性,需要获取各个组件的运行状态,如CPU的利用率、系统的负载、服务的运行、端口的连通、带宽流量、网站访问状态码等信息。而这一切都离不开监控系统。2 监控系统的开源软件及原理探究2.1 监控系统的开源软件2.1.1 流量监控MRTG:是一套可用来绘制网络流量图的软件,由瑞士奥尔滕的Tobias Oetiker与Save Rand所开发,以GPL授权;Cacti:是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测工具,他通过sn

6、mpget来获得数据,使用RRDtool绘图,但使用者无需了解RRDtool复杂的参数;SmokePing:主要用来监视网络性能,包括常规的Ping、WWW服务器性能、DNS查询功能、SSH性能等;Graphite:是一个用于采集网站实时信息并进行统计的开源项目。Graphite服务支持每分钟4800次更新操作,采用简单文本协议,具有绘图功能,其即插即用的功能可方便的用于任何需要监控的系统上。2.1.2 性能告警如果您需要使用本文档,请点击下载按钮下载!Nagios::是一个企业级的监控系统,可监控服务的运行状态和网络信息等,并能监听所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能

7、等;Zenoss Core:是开源企业级IT管理软件,它允许IT管理员依靠单一的web控制台来监控网络架构的状态和健康度;Ganglia:是一个跨平台的、可扩展的、高性能的分布式监控系统,如集群和网格;OpenTSDB;是HBase存储所有时序(无需采样)的数据,来构建一个分布式、可伸缩的时间序列数据库;Zabbix:是一个分布式监控系统,支持采集方式和采集客户端,有专用的Agent(代理),也可以支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。2.2 Za

8、bbix的原理探究监控系统需要对故障数据进行分析汇总,从故障中分析出现的概率,从而可以积累经验,避免以后出现类似的问题。例如,由于机器硬件导致的故障。其概率有多大,问题解决的概率有多大,哪些部件最容易出问题,出问题的影响概率多大,问题解决的概率有多大。从监控的数据中就可以分析并发现相关数据,在此基础上进行分析汇总,可以整理出相应的对策和相应的技术应急方案。常见的监控系统性能指标如表2-1所示: 表2-1 常见的监控系统性能指标3 Zabbix特点及运行流程3.1 Zabbix的特点(1)支持自动发现网络设备和服务器(2)支持分布式监控(3)可设置报警阈值(4)可通过多种方式进行数据收集(5)可

9、指定的报警方式(6)实时的绘图功能如果您需要使用本文档,请点击下载按钮下载!(7)通过 Web 监控系统与设置系统3.2 ZabbIx的运行流程Zabbix的运行流程可以用图3-1来表示:图3-1 Zabbix运行流程4 总体设计4.1 设计思路公司的规模在逐渐扩大,用户的需求越来越多,Zabbix适合中小型企业、大中型企业的用户使用。单个的server节点可以支持上万台设备,每秒可处理1.5万次请求,理论上可支持5万台设备。随着公司中设备的逐渐增加,人工手动检测已经越来越麻烦,而且人为检测错误率会增加,而自动化监控便于检测,减少错误率、安全可靠。可以针对性的进行实时查看,监控系统及主机状态、

10、CPU负载、磁盘使用率等。搭建Zabbix-server服务器,利用电脑查看UI界面,进行操作以及服务配置。服务器把监控到的数据存储在数据库中,服务端利用10051端口主动获取监控内容,客户端被监控。服务器把数据发送到计算机,利用UI界面进行查看分析。参考图4-1:如果您需要使用本文档,请点击下载按钮下载!图4-1 设计思路4.2 环境参数如表4-2所示,各个服务器的名称,操作系统,服务器选型,软件包版本等表4-2 设备选型及参数主机名称操作系统IP地址规划设备选型软件包版本UIWindows7192.168.100.99PC:联想x230Zabbix-serverCentOS6.5192.1

11、68.100.100Dell PowerEdge R720Php-5.3.3、mysql-5.1.73、OpenIPMI2.0.16、Zabbix-2.0.12Zabbix-agentdCentOS6.5192.168.100.101Dell PowerEdge R720Zabbix-2.0.125 Zabbix安装环境及前期准备5.1 Zabbix安装环境Zabbix服务器运行的环境为Linux(UNIX)+PHP+Web Service+DataBase,这里的Web Service可以为Nginx、Apache,Database可以为MySQL、Oracle、PostgerSQL等。硬件

12、需求与监控的机器数量和监控的数据量大小等有密切的关系,对于硬盘的要求,在实际环境中,可以采用虚拟机来搭建Zabbix监控系统环境。在整个Zabbix监控系统的搭建和维护中,磁盘I/O、数据库性能将成为整个监控系统运行良好的关键因素。Zabbix所在服务器的磁盘配置和Zabbix的性能与维护密切相关。 Zabbix-Server的数据库大小取决于NVPS (Number of processed values per second/每秒处理的数值数),NVPS从总体上反映了处理速度、监控项的数目、监控的类型、取值间隔、History的保留时间和Trends的保留时间的关系。Zabbix-Serv

13、er对时间的精准要求比较高,时间对数据的计算等都有影响,因此,最好设置ntp自动时间同步,也可以用crontab进行同步。Zabbix-Server尽量部署在核心业务所在的机房,要求各分节点的网络稳定。另外,要考虑到网络流量问题,做好安全策略。注意:如果仅仅检测网络服务FTP、SSH、HTTP、DNS、LDAP,无需安装任何客户端,即可支持监控数据的获取。如果您需要使用本文档,请点击下载按钮下载!5.2 Zabbix服务器安装前期准备在搭建Zabbix服务器之前,我们需要配置IP地址,并且确保互联网的连接正常,在之前,我们需要关闭防火墙并限制SELinux服务,因为是rpm包安装方式,所以我们

14、需要搭建yum仓库。rootlocalhost # /etc/init.d/iptables stopiptables:将链设置为政策 ACCEPT:filter 确定iptables:清除防火墙规则: 确定iptables:正在卸载模块: 确定rootlocalhost # setenforce 0rootlocalhost # cd /etc/yum.repos.d/rootlocalhost yum.repos.d# lldrwxr-xr-x. 2 root root 4096 10月 19 22:06 bak-rw-r-r-. 1 root root 2006 12月 1 2016 C

15、entOS6-Base-163.repo6 安装Zabbix服务器6.1 搭建LAMP平台、安装Zabbix依赖包安装httpd 、MariaDB(mysql-server) mysql mysql-devel php php-mysql。搭建Zabbix环境需要很多依赖包,在其中有的起解析作用,有的会为zabbix提供服务。Php测试如下图6-1:rootlocalhost # yum -y install httpd mysql-server mysql mysql-devel php php-mysqlrootlocalhost # yum -y install gcc gcc-c+ a

16、utoconf httpd-manual mod_perl mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc mysql-connector-odbc libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel java-devel openldap openldap-devel php-pdo ncurses-develrootlocalhost # yum -y install OpenIPMI OpenIPMI-develrootlocalhost # yum y

17、install php-bcmath php-mbstringrootlocalhost # cd /var/www/htmlrootlocalhost html# vim test.php 如果您需要使用本文档,请点击下载按钮下载!图6-1 Apache解析PHP页面6.2 整合LAMP架构配置 php 环境,修改 php.ini,目的是 zabbix 的 web 代码要求这样配置才能正常运行,启动httpd和mysqld服务并设置成开机自启。rootlocalhost # vim /etc/php.ini440 max_execution_time = 300449 max_input_t

18、ime = 300457 memory_limit = 128M 729 post_max_size = 32M946 date.timezone =Asia/Shanghai1586 mbstring.func_overload = 2rootlocalhost # sed -i 276 s/#/ /etc/httpd/conf/httpd.conf rootlocalhost # service httpd restart停止 httpd: 确定正在启动 httpd: 确定rootlocalhost # service mysql restartmysql: 未被识别的服务rootloca

19、lhost # service mysqld restart停止 mysqld: 确定正在启动 mysqld: 确定rootlocalhost # chkconfig httpd onrootlocalhost # chkconfig mysqld on6.3 部署Zabbix在编译安装Zabbix之前,首先安装Zabbix相关依赖包,然后我们需要创建用户并给其相应的权限然后进行相应的安装,安装Zabbix可使用源码安装或者rpm安装,编译安装是为了根据本身需要,灵活制定软件功能。下面为源码安装、Zabbix的参数设置,在做配置文件之前要做一个备份,以防万一做错。如果您需要使用本文档,请点击下

20、载按钮下载!rootlocalhost # useradd -s /sbin/nologin zabbixrootlocalhost # mkdir /etc/zabbix /var/log/zabbixrootlocalhost # chown zabbix.zabbix /var/log/zabbix/rootlocalhost # tar xf zabbix-2.0.12.tar.gz -C /usr/src/rootlocalhost # cd /usr/src/zabbix-2.0.12/rootlocalhost zabbix-2.0.12# ./configure -prefix

21、/usr/local/ -sysconfdir=/etc/zabbix/-enable-server -enable-proxy -enable-agent -enable-ipv6 -with-mysql=/usr/bin/mysql_config -with-net-snmp -with-libcurl -with-openipmi -with-unixodbc -with-ldap -enable-java & make & make installrootlocalhost zabbix-2.0.12# cp misc/init.d/fedora/core/zabbix_* /etc

22、/init.d/root localhost zabbix-2.0.12# ll -d /etc/init.d/zabbix_*-rwxr-xr-x. 1 root root 2170 6 月 16 11:40 /etc/init.d/zabbix_agentd-rwxr-xr-x. 1 root root 2181 6 月 16 11:40 /etc/init.d/zabbix_serverroot localhost zabbix-2.0.12# cd /etc/zabbix/root localhost zabbix# cp zabbix_server.conf zabbix_serve

23、r.conf.originroot localhost zabbix# vim zabbix_server.conf39 LogFile=/var/log/zabbix/zabbix_server.log87 DBName=zabbix /数据库名称103 DBUser=zabbix112 DBPassword=zabbix120 DBSocket=/var/lib/mysql/mysql.sock /根据实际填写路径128 DBPort=330677 DBHost=localhost6.4 创建Zabbix_agentd服务我们使用Zabbix监控服务器信息,所以需要安装agentd服务,a

24、gentd 的作用就是获得 host 数据,然后将收集到的数据发送给 server,或者是 server 主动来拿取数据。rootlocalhost zabbix# lsrootlocalhost zabbix# cp zabbix_agentd.conf zabbix_agentd.conf.bakrootzabbix zabbix# vim zabbix_agentd.conf21 LogFile=/var/log/zabbix/zabbix_agentd.log82 Server=127.0.0.1,192.168.100.100 /服务端 IP123 ServerActive=192.

25、168.100.100:10051 /服务端 IP,端口固定217 Include=/etc/zabbix/zabbix_agentd.conf.d/ /自定义的 agentd 配置文件存放路径228 UnsafeUserParameters=1 /自定义脚本功能,1 为开启,默认 0 为关闭6.5 建立监控数据库建立监控数据库,创建数据库root用户并配置密码,如果创建Zabbix的数据库字符集不为UTF8,会导致web界面在切换到中文环境时出现乱码。且我们需要在创建完数据库后导入Zabbix_server的数据库。并测试能否通过php访问数据库,如下图6-2:如果您需要使用本文档,请点击下

26、载按钮下载!rootlosthost # cd /usr/src/zabbix-2.0.12/rootlocalhost zabbix-2.0.12# mysqladmin -uroot password 123123rootlocalhost zabbix-2.0.12# mysql -uroot -p123123mysql create database zabbix character set utf8;Query OK, 1 row affected (0.13 sec)mysql grant all on zabbix.* to zabbixlocalhost identified

27、by zabbix;Query OK, 0 rows affected (0.09 sec)mysql flush privileges;Query OK, 0 rows affected (0.02 sec)mysql exitrootlocalhost zabbix-2.0.12# mysql -uzabbix -pzabbix zabbix database/mysql/schema.sqlrootlocalhost zabbix-2.0.12# mysql -uzabbix -pzabbix zabbix database/mysql/images.sqlrootlocalhost z

28、abbix-2.0.12# mysql -uzabbix -pzabbix zabbix database/mysql/data.sqlrootlocalhost # cd /var/www/htmlrootlocalhost html# vim test.php图6-2 PHP访问数据库6.6 部署PHP页面部署PHP页面文件,并给其相应的权限,访问(192.168.100.100/zabbix)并部署:如果在配置web时提示某一项不满足安装配置要求,需要修改对应的参数后重启zabbix_server和httpd服务即可,如图6-3所示:rootlocalhost zabbix-2.0.12

29、 cp -rf frontends/php/ /var/www/html/zabbixrootlocalhost zabbix-2.0.12# chown -R apache.apache /var/www/html/zabbix/如果您需要使用本文档,请点击下载按钮下载!图6-3 配置PHP页面 并进行测试6.7 锁定安装界面并启动Zabbix服务为了安全起见,锁定PHP安装界面,配置权限,使其他人不能随意修改,启动Zabbix_server、Zabbix_agentd服务,启动服务之后,一定要看一下进程,确定服务端口开启,如果没有,检查配置文件,确保端口开启以后再开始其他操作。如图6-4

30、所示:如果您需要使用本文档,请点击下载按钮下载!rootlocalhost # cd /var/www/html/zabbix/rootlocalhost zabbix# mv setup.php setup.php.lockrootlocalhost zabbix# chmod 600 setup.php.lock如果您需要使用本文档,请点击下载按钮下载!图6-4 启动Zabbix服务并进行网页登陆注意:在Zabbix-server其他参数配置正确的情况下,如果提示”zabbix server is running no valus”的情况下,进入zabbix-server系统进行调试,看端

31、口是否开启(server-10051,agented-10050),如果没有开启,有可能是数据库连接问题。7 被监控端配置Zabbix客户端的采集方式为Agent、SNMP等,在这里采用的是Agent方式对服务器进行监控。7.1 前期准备在安装Zabbix-agented之前,需要给防火墙配置规则或者直接关闭防火墙(iptables -F),关闭SELinux服务。rootlocalhost # /etc/init.d/iptables stopiptables:将链设置为政策 ACCEPT:filter 确定iptables:清除防火墙规则: 确定iptables:正在卸载模块: 确定roo

32、tlocalhost # setenforce 07.2 安装Zabbix_agentd代理程序Zabbix-agented采用的是rpm包安装,因为这种方式比较简单,如果需要同时对1000台机器进行监控,就需要在1000台机器上安装zabbix-agented,对于这种规模的安装,可以采用自动化配置工具就是最佳的选择。在安装zabbix-agented之前我们需要安装解析软件gcc、gcc-c+、make等工具,创建zabbix用户且分配权限。如果您需要使用本文档,请点击下载按钮下载! rootlocalhost # useradd -s /sbin/nologin zabbix rootl

33、ocalhost # mkdir /etc/zabbix /var/log/zabbix rootlocalhost # chown zabbix.zabbix /var/log/zabbix/ rootlocalhost # tar xf zabbix-2.0.12.tar.gz -C /usr/src/ rootlocalhost # cd /usr/src/zabbix-2.0.12/ rootlocalhost zabbix-2.0.12# ./configure -prefix=/usr/local/zabbix/ -sysconfdir=/etc/zabbix/-enable-ag

34、ent & make & make install rootlocalhost zabbix-2.0.12# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ rootlocalhost zabbix-2.0.12# cd /etc/zabbix/ rootlocalhost # cp zabbix_agentd.conf zabbix_agentd.conf.origin rootlocalhost # vim zabbix_agentd.conf82 Server=127.0.0.1,192.168.1.11 / 服务端 IP 地址

35、123 ServerActive=192.168.1.11:10051 / 服务端 IP 及端口21 LogFile=/var/log/zabbix/zabbix_agentd.log228 UnsafeUserParameters=17.3 启动Zabbix_agented服务启动zabbix-agented服务并查看端口进程是否启动,确认完毕后再进行其他操作,如下图7-1:图7-1 启动zabbix-agented监控端8 使用Zabbix管理平台浏览器访问:http:/192.168.100.100/zabbix/index.php,登入管理界面(账号:admin/密码:zabbix),

36、登入以后修改成中文界面(Chinese(zh_CN)并保存。8.1 创建主机分组根据业务类型分类,例如web服务器、数据库服务器等,创建主机组(Web-server),添加client(被监控端)主机,切给添加的主机添加一个Template OS Linux模板,如下图8-1所示:如果您需要使用本文档,请点击下载按钮下载!图8-1 zabbix-server添加主机及模板8.2 测试监控性能Zabbix服务配置完毕,进行客户端监控测试,可以监控系统及主机状态、CPU负载、磁盘使用率等,如下图8-2: 如果您需要使用本文档,请点击下载按钮下载!图8-2 监控测试如果您需要使用本文档,请点击下载按

37、钮下载!9 总结经过一系列的操作,我对于Zabbix的认知又加深了一步,对于问题的处理能力又提高了一个档次。Zabbix总的来说由俩大部分组成,一是服务器(监控端),二是客户端(被监控端),对于配置方面,一般情况不要粗心大意,不要急于求成一般来说没有什么问题,但是我们需要在理解的前提下进行操作,做到每一步都明白它特定的意义。在同类的监控产品中,zabbix是一个自由开放源代码的平台,用户可以对源代码进行任意修改和二次开发;zabbix的安装配置简单,用户仅仅需要一些简单的学习就可以完成监控的搭建工作;zabbix的搭建环境简单,它基于开源软件构建平台,仅需要LAMP(LNMP)即可;zabbi

38、x-agent完全支持Linux、Windows、UNIX、等的监控,因为其采用C语言编码,所以所占内存非常小,数据采集性能和速度非常快;将数据采集持久存储到数据库,便于对监控数据的二次分析;有非常好的扩展能力。总的说zabbix在平常的系统、网络、运维等方面,想要构建一套自己的监控环境,zabbix是最好的选择。Zabbix的可以监控CPU,针对系统负荷,我们可以通过告警的方式来进行提示;对于磁盘的监控,包括磁盘基本的空间、读写性能等;zabbix对网络的监控基本可以满足需求,主要是监控端口的进出流量信息;最后,zabbix也有对硬件监控的key,可以实现对硬件的监控。如果您需要使用本文档,

39、请点击下载按钮下载!参考文献1赵哲,谭海波,赵赫,王卫东,李晓风. 基于Zabbix的网络监控系统J/OL. 计算机技术与发展,2017,(01):1-7 2吴兆松. Zabbix企业级分布式监控系统J. 北京电子工业.2014,8:2-6. 3王磊,刘晗,董珊. 一种Zabbix代理服务器的设计与实现J. 通讯世界,2016,(11):91-92. 4邹子敬. 基于Zabbix的网络监控系统设计与开发D.东华大学,2016.如果您需要使用本文档,请点击下载按钮下载!致谢从论文选题到收集资料,从写稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是那样的复杂。如今,伴随着这

40、篇毕业论文的结束,复杂的心情也烟消云散,自我感觉挺好。完成了论文写作,非常感谢我的导师XXX。他们待人随和友善,教导严谨细心。在平常的指导和建议中总会想朋友一样鼓励你,在论文的指导的写作和措辞等方面他们也总会以专业标准严格要求我,从选题、定题开始,一直到最后论文的反复修改、润色,XXX老师始终认真负责的给予我深刻而细致的指导,帮助我开拓实验思路、精心点拨、热忱鼓励。正是老师们的无私帮助,我的论文才可以得以完成。经过了这么长时间的实验,非常感谢自己,在论文的写作过程中,自己总是积极主动的与老师们沟通,不耻下问。通过写作论文,我更加深刻理解了态度决定一切这句话。感谢所有教导我的老师,以及身边的小伙伴。 (注:可编辑下载,若有不当之处,请指正,谢谢!)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > linux/Unix相关

宁ICP备18001539号-1