Part1.Zabbix简介一、Zabbix简介ZabbixZabbix是一个提供Web管理界面的企业级的开源系统/网络监控分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。官方网站:官方文档:通过C/S模式采集数据,通过B/S模式在web端展示和配置。被监控端:主机通过安装agent方式采集数据,网络设备通过SNMP方式采集数据Server端:通过收集SNMP和agent发送的数据,写入MySQL数据库,再通过php+apache在web前端展示。Zabbix运行条件:Server:ZabbixServer需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windowsSNMP:支持各类常见的网络设备二、Zabbix功能具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器支持分布式,能集中展示、管理分布式的监控点扩展性强,server提供通用接口,可以自己开发完善各类监控三、优劣势优点:开源,无软件成本投入Server对设备性能要求低(实际测试环境:虚拟机RedhatELAS5,2GCPU1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上)支持设备多支持分布式集中管理开放式接口,扩展性强缺点:全英文,界面不友好无厂家支持,出现问题解决比较麻烦需在被监控主机上安装agent安装前先配置好PHP,要求支持php-gd、php-bcmath、php-xml、php-mysql、php-net-socket、php-mbstring,即configure参数中加上–with-gd–enable-bcmath–enable-xml–with-mysql–enable-sockets–enable-mbstring下面开始安装Zabbix:下载并解压:*创建zabbix用户组和用户:groupaddzabbixuseraddzabbix-gzabbix*创建mysql数据库:createdatabasezabbixcharactersetutf8;*创建mysql用户:grantallonzabbix.*tozabbix@localhostidentifiedby'zabbix';*导入表和数据:mysql-uroot-pzabbixcreate/schema/mysql.sqlmysql-uroot-pzabbixcreate/data/data.sqlmysql-uroot-pzabbixcreate/data/images_mysql.sql*配置编译:./configure--enable-server--enable-proxy--enable-agent--with-mysql=/usr/local/mysql/bin/mysql_config--with-net-snmp--with-libcurlmake&&makeinstall配置参数说明:–enable-server安装ZabbixServer–enable-proxy安装ZabbixProxy–enable-agent安装ZabbixAgent–with-mysql使用mysql做数据库服务器–with-net-snmp支持SNMP–with-libcurl支持curl,用于web监控*服务端口定义:编辑/etc/services,在后面追加:zabbix-agent10050/tcp#ZabbixAgentzabbix-agent10050/udp#ZabbixAgentzabbix-trapper10051/tcp#ZabbixTrapperzabbix-trapper10051/udp#ZabbixTrapper*复制配置文件:mkdir/etc/zabbixcpmisc/conf/zabbix_server.conf/etc/zabbix/cpmisc/conf/zabbix_proxy.conf/etc/zabbix/cpmisc/conf/zabbix_agent.conf/etc/zabbix/cpmisc/conf/zabbix_agentd.conf/etc/zabbix/*修改zabbixserver配置文件/etc/zabbix/zabbix_server.conf中的数据库用户名和密码:DBUser=zabbixDBPassword=zabbix*安装启动脚本cpmisc/init.d/redhat/zabbix_server_ctl/etc/init.d/zabbix-servercpmisc/init.d/redhat/zabbix_agentd_ctl/etc/init.d/zabbix-agentd添加可执行权限:chmod+x/etc/init.d/zabbix-serverchmod+x/etc/init.d/zabbix-agentd修改zabbix-server变量定义:BASEDIR=/usr/localZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server修改zabbix-agentd头部变量定义:BASEDIR=/usr/localZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd*添加到启动服务:chkconfig--addzabbix-serverchkconfig--addzabbix-agentdchkconfigzabbix-serveronchkconfigzabbix-agentdon如何让ZabbixServer和Zabbixagentd开机自动运行,免得每次都要手动运行,步骤如下:1.复制zabbix源程序misc/init.d/redhat下的启动脚本到/etc/init.d目录下cp/zabbix/zabbix-1.6.6/misc/init.d/redhat/zabbix_server_ctl/etc/init.d/zabbix_servercp/zabbix/zabbix-1.6.6/misc/init.d/redhat/zabbix_agentd_ctl/etc/init.d/zabbix_agentd2.修改启动脚本使其支持redhat的chkconfig,分别在两个脚本的#!/bin/sh后加入如下两行注释,注意要行前要加“#”哦#chkconfig:-9595#description:ZabbixServer3.修改启动脚本中BASEDIR和ZABBIX_SUCKERD,制定到zabbix_server和zabbix_agentd的安装位置,如:BASEDIR=/usr/local/sbinZABBIX_SUCKERD=$BASEDIR/zabbix_server4.使用chkconfig将其加入init的启动服务chkconfig--addzabbix_serverchkconfig--addzabbix_agentdchkconfig--level345zabbix_serveronchkconfig--level345zabbix_agentdon4.使用chkconfig--list检查一下chkconfig--list|grepzabbix输出如下:zabbix_agentd0:off1:off2:off3:on4:on5:on6:offzabbix_server0:off1:off2:off3:on4:on5:on6:off*启动ZabbixServer:/etc/init.d/zabbix-serverstart*启动ZabbixAgentd/etc/init.d/zabbix-agentdstart*复制WebInterface到web目录:cp-rfrontends/php/data/会使用到fping,可以使用yuminstallfping安装,如果yum无此软件,可使用源码安装进入fping解压后的源代码目录./configuremakeinstall修改/etc/zabbix/zabbix_server.confFpingLocation=/usr/local/sbin/fping*开始安装ZabbixWebInterface打开,看到提示:date()[ahref='function.date'function.date/a]:Itisnotsafetorelyonthesystem'stimezonesettings.Pleaseusethedate.timezonesetting,theTZenvironmentvariableorthedate_default_timezone_set()function.Incaseyouusedanyofthosemethodsandyouarestillgettingthiswarning,youmostlikelymisspelledthetimezoneidentifier.Weselected'Asia/Chongqing'for'CST/8.0/noDST'instead[/data/:149]TimezoneforPHPisnotset.Pleasesetdate.timezoneoptioninphp.ini.修改php.ini中时区设置:date.timezone=Asia/Shanghai继续修改php.inipost_max_size=32Mupload_max_filesize=16Mmax_execution_time=600max_input_time=600memory_limit=256M默认编译没有加上bcmath,手动加上cd/usr/local/src/monitor/php-5.2.13/ext/bcmath/usr/local/php-5.2.13/bin/phpize./configure--with-php-config=/usr/local/php-5.2.13/bin/php-configmakemakeinstall编辑php.iniextension_dir=/usr/local/php-5.2.13/lib/php/extensions/no-debug-zts-20060613/在其下增加一行:extension=bcmath.socd/data/*结束:安装完后直接访问:输入管理用户名:admin默认口令