hellow 运维
分类: 系统运维
2015-05-19 09:22:37
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。官方网站:官方文档:/documentation/2.0/manual/quickstart。Zabbix通过C/S模式采集数据,通过B/S模式在web端展示和配置。
Zabbix运行条件:
Server:Zabbix Server需运行在LAMP(Linux+Apache+Mysql+PHP)环境下,对硬件要求低。
Agent:目前已有的agent基本支持市面常见的OS,包含Linux、HPUX、Solaris、Sun、windows。
SNMP:支持各类常见的网络设备
1.2 Zabbix功能
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持自动发现网络设备和服务器;支持分布式,能集中展示、管理分布式的监控点;扩展性强,server提供通用接口,可以自己开发完善各类监控。
1.3 优劣势
优点:开源,无软件成本投入;Server对设备性能要求低(实际测试环境:虚拟机CentOS5,2GCPU 1G内存,监控5台设备,CPU使用率基本保持在10%以下,内存剩余400M以上);支持设备多;支持分布式集中管理;开放式接口,扩展性强。
缺点:中文资料较少。
Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监控数据并使用apache+php的方式呈现。
Agent:指安装在被监控设备上的zabbix代理(以下简称代理),被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。
SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。
IPMI:Agent的另一种方式,主要应用于设备的物理性能监控,例如设备的温度、风扇的转速等。
Zabbix支持多种网络方式下的监控,可通过分布式的方式部署和安装监控代理,整个架构如(图一、图二)所示。
如果是安装zabbix服务器,安装下面两个包,zabbix等需要安装的包会作为依赖被安装。Apache和php也会被安装。
1
|
yuminstallzabbix-server-mysqlzabbix-web-mysql
|
如果只是安装zabbix agent,则只需要安装agent即可。
1
|
yuminstallzabbix-agent
|
同样是使用yum安装。
1
2
|
yuminstallmysql msyql-server mysql-devel
servicemysqlstart
|
下面是创建了一个zabbix数据库,一个zabbix用户,其密码为zabbix。zabbix用户在本地对zabbix数据库拥有所有权限。
1
2
3
4
|
shell>mysql-uroot-p
mysql>createdatabasezabbixcharactersetutf8;
mysql>grantallprivilegesonzabbix.*tozabbix@192.168.%.%identifiedby'zabbix';
mysql>flushprivileges;
|
之前安装的zabbix-server-mysql为我们提供了数据库初始化脚本。
这些sql脚本位于/usr/share/doc/zabbix-server-mysql-2.4.4/create/目录,不同的版本号需要注意目录中的版本号部分。
通过下面方式导入数据中。
1
2
3
4
|
shell>cd/usr/share/doc/zabbix-server-mysql-2.4.4/create/
shell>mysql-urootzabbix
|
数据库初始化成功之后还要编辑zabbix的配置文件使其能访问数据库。
vim /etc/zabbix/zabbix_server.conf
大概在65行到100行中,有数据库信息,按照之前设置的用户名和密码设置即可。
参考下面图片。
1
2
|
servicezabbix-serverstart
servicehttpdstart
|
关于zabbix的Apache和php配置文件位于:/etc/httpd/conf.d/zabbix.conf
请修改此文件,将date.timezone设置为Asia/Shanghai。
参考下面最后一行。
1
2
3
4
5
6
|
php_value max_execution_time300
php_value memory_limit128M
php_value post_max_size16M
php_value upload_max_filesize2M
php_value max_input_time300
php_value date.timezoneAsia/Shanghai
|
这个值位于此文件的第18行。
访问zabbix
zabbix的访问地址为:
如果您无法访问,您还需要检查您的iptables配置。
如果您不知道如何设置iptables,可以将iptables关闭(不建议)。
1
2
|
serviceiptablesstop
chkconfigiptablesoff
|
第一次访问会进入设置向导,根据提示点击『next』即可。
到这个界面的时候,需要填写之前设置的zabbix数据库信息。填写后点击『Test Connection』测试连接是否成功。