Zabbix是什么?
Zabbix是一个开源的企业级分布式解决方案。
zabbix是一个监控多种资源的软件,包括网络,集成服务的健康状态等。Zabbix使用灵活的通知机制,它允许用户配置基于e-mail的事件报警机制,允许快速的反馈服务器的问题,Zabbix提供了一个基于存储的历史数据,显示一个杰出的报表和数据展示的特性,这使得Zabbix最够做出理想的规划。
世界上已经有许多不同大小的组织在使用Zabbix作为他们主要的监控平台。
Zabbix概览
结构
Zabbix有几个主要的软件组件,他们的作用如下:
服务:
zabbix server是一个中心组件,agents向它报告可用性和集成的信息和统计数据,这个服务器是整个监控的中心仓库,他存储所有的统计和监控信息。
数据存储
所有的配置信息和zabbix搜集的信息都被存储在数据库中。
web接口
为了能够更加方便的访问zabbix,zabbix官方提供了基于web的接口,这个接口是zabbix-server的一部分,通常(但不一定)运行在和zabbix-server同一台物理机器上
代理
zabbix proxy可以代表zabbix-server搜集性能和可用性的数据,它是zabbix部署中可选的一部分,然而,它是非常好的对于分发一个单台zabbix-server的负载
代理客户端
zabbix-agent部署在需要监控的目标服务器上,它能够监控本地的应用和资源信息,并且报告搜集到的信息给zabbix-server。
相关术语
host(主机):要监控的网络设备,可由IP或DNS名称指定
host group(主机组):主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模板不能 互相链接;主机组通常在给用户或用户组指派监控权限时使用
item(监控项):一个特定监控指标的相关数据,这些数据来自于被监控对象;item是zabbix进行 数据收集的核心,没有item,将没有数据;相对某监控对象来说,每个item都有”key”进行标识
trigger(触发器):一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阀值;接受到的数据大于阀值是,触发器状态将从OK转变为Problem,当数据量再次回归到合理范围时,其状态将从Problem转换回OK
event(事件):即发生的一个值得关注的事件,例如触发器的状态转变,新的agent或重新上线的agent的自动注册等
action(动作):指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作)
escalation(报警升级):发送警报或执行远程命令的自定义方案,如每隔5min发送一次警报,共发送5次等
media(媒介):发送通知的手段和通道,如Email、Jabber或SMS
notification(通知):通过选定的媒介向用户发送的有关某事件的信息
remote command(远程命令):预定义的命令,可在被监控主机处于某个特定条件下时自动执行
template(模板):用于快速定义被监控主机的预设条目集合,通常包含了item、trigger、graph、screen、application以及low-level discovery rule;模板可以直接链接至单个主机
application(应用):一组item的集合
web scennaro(web场景):用于检测web站点可用性的一个或多个http请求
frontend(前端):zabbix的web接口
安装需求:
硬件
内存:zabbix需要物理内存和磁盘空间,128M物理内存和256的磁盘空间,但是更多的内存能够使数据库跑的更快,zabbix工作的也就更快。
cpu:这个取决于你选择的数据库引擎,和监控的各项参数
样例配置:
支持的平台
- Linux
- IBM AIX
- FreeBSD
- NetBSD
- OpenBSD
- HP-UX
- MacOSX
- Solaris
- Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, 8, Server 2012 (Zabbix agent only)
软件
数据库需求
zabbix 前端需求
时间同步
对于zabbix的运行,要求时间同步正确,你可以使用ntp来确保你的服务器时间正确。
安装
有3种方式安装
基于发布包的安装,源码编译安装,下载虚拟应用
最新包的下载地址:http://www.zabbix.com/download.php
下面介绍下基于软件包的安装
本机采用centos 6.4的版本
配置zabbix的软件仓库
# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
安装zabbix的包
在zabbix-server上安装 ,如果需要监控本机也需要安装agent
# yum install zabbix-server-mysql zabbix-web-mysql
在需要监控的机器上安装
# yum install zabbix-agent
注意:
在zabbix-server上安装上面两个包会安装apache,php
但不会安装mysql,所以mysql需要单独安装
#yum install mysql-server mysql -y
初始化数据库,替换你的用户名和密码
shell> mysql -uroot -p<password> mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to [email protected] identified by ‘<password>‘; mysql> quit; shell> mysql -uzabbix -p<password> zabbix < database/mysql/schema.sql # stop here if you are creating database for Zabbix proxy shell> mysql -uzabbix -p<password> zabbix < database/mysql/images.sql shell> mysql -uzabbix -p<password> zabbix < database/mysql/data.sql
默认三个脚本的路径可能不对,我的三个mysql的脚本地址如下:
/usr/share/doc/zabbix-server-mysql-2.4.5/create
为zabbix的前端修改php的配置
/etc/httpd/conf.d/zabbix.conf
默认不需要修改,只需要修改时区,改成Aisa/Shanghai即可
php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 # php_value date.timezone Europe/Riga
修改完之后,重启apache,因为php是作为apache的模块存在的
# service httpd restart
现在你可以访问前端页面了
默认账户/密码是:Admin/zabbix.
至此 ,简单安装就到此,后续还会添加服务器和服务,请大家尽请期待!