毕业论文---zabbix企业级分布式系统_第1页
毕业论文---zabbix企业级分布式系统_第2页
毕业论文---zabbix企业级分布式系统_第3页
毕业论文---zabbix企业级分布式系统_第4页
毕业论文---zabbix企业级分布式系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 Zabbix服务器安装前期准备56 安装Zabbix服务器66.1 搭建LAMP平台、安装Za

2、bbix依赖包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集成企业Zabbix监控系统设计与实现摘要“运筹帷幄之中,决胜千里之外。”在IT运维中,监控占据着重要的地位,按比例来算,说30%一点儿也不为过

3、。对IT运维工程师来说,构建一个真正可用的监控告警系统是一项艰巨的任务,能够真正解决自己业务问题的监控系统软件却凤毛麟角。运维离不开监控,就像鱼离不开水,一款功能强大的监控系统可以有力地保证业务性能的稳定。近几年,Zabbix最为监控系统的新兴贵族迅速崛起,Zabbix灵活的设计为用户提供了易用的二次开发接口,让用户既可以使用Zabbix本身提供的功能,又可以自定义更多的接口功能,从硬件监控,到操作系统,再到服务进程,以及网络设备,它无所不能的监控功能令人叹为观止。Zabbix 是一个基于 Web 界面的分布式系统监控与网络设备监控系统,能够监控各种网络参数,并提供灵活的通知机制,使管理员能快

4、速定位故障并解决。由于 Zabbix server 端与 Zabbix agent 组成,可通过 SNMP、Zabbix、Agent、Ping、端口监视等方法实现对远程主机与网络设备的监控。关键词:运维;监控;Zabbix1 绪论在一个环境中会存在各种各样的设备,例如,硬件设备、软件设备,其系统的构成也是非常复杂的,通常如图1.1所示的模型构成。图1-1 系统模型构成多种应用构成复杂的IT业务系统,保证这些资源的正常运转,是一个公司IT部门的职责。而要让这些应用能够稳定地进行,则需要专业IT人员进行设计、架构、维护和调试。在这个过程中,为了及时掌控基础环境和业务应用系统的可用性,需要获取各个组

5、件的运行状态,如CPU的利用率、系统的负载、服务的运行、端口的连通、带宽流量、网站访问状态码等信息。而这一切都离不开监控系统。2 监控系统的开源软件及原理探究2.1 监控系统的开源软件2.1.1 流量监控MRTG:是一套可用来绘制网络流量图的软件,由瑞士奥尔滕的Tobias Oetiker与Save Rand所开发,以GPL授权;Cacti:是一套基于PHP、MySQL、SNMP和RRDtool开发的网络流量监测工具,他通过snmpget来获得数据,使用RRDtool绘图,但使用者无需了解RRDtool复杂的参数;SmokePing:主要用来监视网络性能,包括常规的Ping、WWW服务器性能、

6、DNS查询功能、SSH性能等;Graphite:是一个用于采集网站实时信息并进行统计的开源项目。Graphite服务支持每分钟4800次更新操作,采用简单文本协议,具有绘图功能,其即插即用的功能可方便的用于任何需要监控的系统上。2.1.2 性能告警Nagios::是一个企业级的监控系统,可监控服务的运行状态和网络信息等,并能监听所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等;Zenoss Core:是开源企业级IT管理软件,它允许IT管理员依靠单一的web控制台来监控网络架构的状态和健康度;Ganglia:是一个跨平台的、可扩展的、高性能的分布式监控系统,如集群和网格;Open

7、TSDB;是HBase存储所有时序(无需采样)的数据,来构建一个分布式、可伸缩的时间序列数据库;Zabbix:是一个分布式监控系统,支持采集方式和采集客户端,有专用的Agent(代理),也可以支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其他监控系统所不能比的。2.2 Zabbix的原理探究监控系统需要对故障数据进行分析汇总,从故障中分析出现的概率,从而可以积累经验,避免以后出现类似的问题。例如,由于机器硬件导致的故障。其概率有多大,问题解决的概率有多大,哪些部件最容易出问题,出

8、问题的影响概率多大,问题解决的概率有多大。从监控的数据中就可以分析并发现相关数据,在此基础上进行分析汇总,可以整理出相应的对策和相应的技术应急方案。常见的监控系统性能指标如表2-1所示: 表2-1 常见的监控系统性能指标3 Zabbix特点及运行流程3.1 Zabbix的特点(1)支持自动发现网络设备和服务器(2)支持分布式监控(3)可设置报警阈值(4)可通过多种方式进行数据收集(5)可指定的报警方式(6)实时的绘图功能(7)通过 Web 监控系统与设置系统3.2 ZabbIx的运行流程Zabbix的运行流程可以用图3-1来表示:图3-1 Zabbix运行流程4 总体设计4.1 设计思路公司的

9、规模在逐渐扩大,用户的需求越来越多,Zabbix适合中小型企业、大中型企业的用户使用。单个的server节点可以支持上万台设备,每秒可处理1.5万次请求,理论上可支持5万台设备。随着公司中设备的逐渐增加,人工手动检测已经越来越麻烦,而且人为检测错误率会增加,而自动化监控便于检测,减少错误率、安全可靠。可以针对性的进行实时查看,监控系统及主机状态、CPU负载、磁盘使用率等。搭建Zabbix-server服务器,利用电脑查看UI界面,进行操作以及服务配置。服务器把监控到的数据存储在数据库中,服务端利用10051端口主动获取监控内容,客户端被监控。服务器把数据发送到计算机,利用UI界面进行查看分析。

10、参考图4-1:图4-1 设计思路4.2 环境参数如表4-2所示,各个服务器的名称,操作系统,服务器选型,软件包版本等表4-2 设备选型及参数主机名称操作系统IP地址规划设备选型软件包版本UIWindows79PC:联想x230Zabbix-serverCentOS6.500Dell PowerEdge R720Php-5.3.3、mysql-5.1.73、OpenIPMI2.0.16、Zabbix-2.0.12Zabbix-agentdCentOS6.501Dell PowerEdge R720Zabbix-2.0.

11、125 Zabbix安装环境及前期准备5.1 Zabbix安装环境Zabbix服务器运行的环境为Linux(UNIX)+PHP+Web Service+DataBase,这里的Web Service可以为Nginx、Apache,Database可以为MySQL、Oracle、PostgerSQL等。硬件需求与监控的机器数量和监控的数据量大小等有密切的关系,对于硬盘的要求,在实际环境中,可以采用虚拟机来搭建Zabbix监控系统环境。在整个Zabbix监控系统的搭建和维护中,磁盘I/O、数据库性能将成为整个监控系统运行良好的关键因素。Zabbix所在服务器的磁盘配置和Zabbix的性能与维护密切

12、相关。 Zabbix-Server的数据库大小取决于NVPS (Number of processed values per second/每秒处理的数值数),NVPS从总体上反映了处理速度、监控项的数目、监控的类型、取值间隔、History的保留时间和Trends的保留时间的关系。Zabbix-Server对时间的精准要求比较高,时间对数据的计算等都有影响,因此,最好设置ntp自动时间同步,也可以用crontab进行同步。Zabbix-Server尽量部署在核心业务所在的机房,要求各分节点的网络稳定。另外,要考虑到网络流量问题,做好安全策略。注意:如果仅仅检测网络服务FTP、SSH、HTTP

13、、DNS、LDAP,无需安装任何客户端,即可支持监控数据的获取。5.2 Zabbix服务器安装前期准备在搭建Zabbix服务器之前,我们需要配置IP地址,并且确保互联网的连接正常,在之前,我们需要关闭防火墙并限制SELinux服务,因为是rpm包安装方式,所以我们需要搭建yum仓库。rootlocalhost # /etc/init.d/iptables stopiptables:将链设置为政策 ACCEPT:filter 确定iptables:清除防火墙规则: 确定iptables:正在卸载模块: 确定rootlocalhost # setenforce 0rootlocalhost # c

14、d /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 CentOS6-Base-163.repo6 安装Zabbix服务器6.1 搭建LAMP平台、安装Zabbix依赖包安装httpd 、MariaDB(mysql-server) mysql mysql-devel php php-mysql。搭建Zabbix环境需要很多依赖包,在其中有的起解析作用,有的会为zabbix提供服务。Php测

15、试如下图6-1:rootlocalhost # yum -y install httpd mysql-server mysql mysql-devel php php-mysqlrootlocalhost # yum -y install gcc gcc-c+ autoconf 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

16、java-devel openldap openldap-devel php-pdo ncurses-develrootlocalhost # yum -y install OpenIPMI OpenIPMI-develrootlocalhost # yum y 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 代码要求

17、这样配置才能正常运行,启动httpd和mysqld服务并设置成开机自启。rootlocalhost # vim /etc/php.ini440 max_execution_time = 300449 max_input_time = 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 rootlocalho

18、st # service httpd restart停止 httpd: 确定正在启动 httpd: 确定rootlocalhost # service mysql restartmysql: 未被识别的服务rootlocalhost # service mysqld restart停止 mysqld: 确定正在启动 mysqld: 确定rootlocalhost # chkconfig httpd onrootlocalhost # chkconfig mysqld on6.3 部署Zabbix在编译安装Zabbix之前,首先安装Zabbix相关依赖包,然后我们需要创建用户并给其相应的权限然后

19、进行相应的安装,安装Zabbix可使用源码安装或者rpm安装,编译安装是为了根据本身需要,灵活制定软件功能。下面为源码安装、Zabbix的参数设置,在做配置文件之前要做一个备份,以防万一做错。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/

20、rootlocalhost # cd /usr/src/zabbix-2.0.12/rootlocalhost zabbix-2.0.12# ./configure -prefix=/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

21、& make & make installrootlocalhost zabbix-2.0.12# cp misc/init.d/fedora/core/zabbix_* /etc/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 localho

22、st zabbix-2.0.12# cd /etc/zabbix/root localhost zabbix# cp zabbix_server.conf zabbix_server.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 /根据实际填写路

23、径128 DBPort=330677 DBHost=localhost6.4 创建Zabbix_agentd服务我们使用Zabbix监控服务器信息,所以需要安装agentd服务,agentd 的作用就是获得 host 数据,然后将收集到的数据发送给 server,或者是 server 主动来拿取数据。rootlocalhost zabbix# lsrootlocalhost zabbix# cp zabbix_agentd.conf zabbix_agentd.conf.bakrootzabbix zabbix# vim zabbix_agentd.conf21 LogFile=/var/lo

24、g/zabbix/zabbix_agentd.log82 Server=,00 /服务端 IP123 ServerActive=00:10051 /服务端 IP,端口固定217 Include=/etc/zabbix/zabbix_agentd.conf.d/ /自定义的 agentd 配置文件存放路径228 UnsafeUserParameters=1 /自定义脚本功能,1 为开启,默认 0 为关闭6.5 建立监控数据库建立监控数据库,创建数据库root用户并配置密码,如果创建Zabbix的数据库字符集不为UTF8,会导致

25、web界面在切换到中文环境时出现乱码。且我们需要在创建完数据库后导入Zabbix_server的数据库。并测试能否通过php访问数据库,如下图6-2: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

26、 (0.13 sec)mysql grant all on zabbix.* to zabbixlocalhost identified 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# my

27、sql -uzabbix -pzabbix zabbix database/mysql/images.sqlrootlocalhost zabbix-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页面文件,并给其相应的权限,访问(00/zabbix)并部署:如果在配置web时提示某一项不满足安装配置要求,需要

28、修改对应的参数后重启zabbix_server和httpd服务即可,如图6-3所示:rootlocalhost zabbix-2.0.12# 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服务,启动服务之后,一定要

29、看一下进程,确定服务端口开启,如果没有,检查配置文件,确保端口开启以后再开始其他操作。如图6-4所示: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系统进

30、行调试,看端口是否开启(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:正在卸载模块:

31、 确定rootlocalhost # 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 rootlocalhost # mkdi

32、r /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-agent & make & ma

33、ke 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=,1 / 服务端 IP 地址123 ServerActiv

34、e=1: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管理平台浏览器访问:00/zabbix/index.php,登入管理界面(账号:admin/密码:zabbix),登入以后修改成中文界面(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 监控测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论