一、Zabbix简介
1.1 Zabbix简介
Zabbix是一个企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用
具备常见的商业监控软件所具备的功能(主机的性能监控、网络设备性能监控、数据库性能监控、FTP等通用协议监控、多种告警方式、详细的报表图表绘制)支持分布式,能集中展示、管理分布式的监控点,可以自己开发完善各类监控,支持自动发现网络设备和服务器
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对设备性能要求低,开放式接口,扩展性强
当监控的item比较多服务器队列比较大时可以采用被对状态,被监控客户端主动取数据上传到server端。这种方式对服务器的负载比较小。
缺点:
需在被监控主机上安装agent
所有数据都存在数据库里,产生的数据较大,瓶颈主要在数据库。
二、Zabbix配置文件
2.1 说明
Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监控数据并使用apache+php的方式呈现。
Agent:指安装在被监控设备上的zabbix代理(以下简称代理),被监控设备上的数据由代理收集后统一上传到服务器端由服务器端收集、整理并呈现。
SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。
IPMI:Agent的另一种方式,主要应用于设备的物理性能监控,例如设备的温度、风扇的转速等。
2.2 Zabbix架构
Zabbix支持多种网络方式下的监控,可通过分布式的方式部署和安装监控代理,整个
架构如
相关软件包:http://www.zabbix.com/download.php 可以下载zabbix的相关包
http://rpm.pbone.net/ 下载fping iksemel php-bcmath php-mbstring依赖
关掉防火墙IPTABLES和SELINUX
#yum install createrepo -y
#createrepo . (由于依赖包比较多自己创建zabbix repo源)
#vi /etc/yum.repos.d/zabbix.repo 添加源
[zabbix]
name=zabbix
baseurl=file:///usr/src/zabbix/ 放置zabbix包的位置
gpgcheck=0
#yum clean all
#yum repolist
1、安装软件
安装监控平台服务端,带有web管理界面:
# yum install zabbix-server-mysql zabbix-web-mysql -y
2、安装LAMP和准备好数据库
# yum install httpd php php-mysql mysql mysql-server -y
# service mysqld start (使用的配置参数)
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on zabbix.* to zabbix@'localhost'
-> identified by '123';
mysql> grant all on zabbix.* to zabbix@'127.0.0.1'
-> identified by '123';
(最好用客户端测试下是否能登入 mysql -uzabbix -p123456)
3、导入基础数据到数据库里
# cd /usr/share/doc/zabbix-server-mysql-2.2.2/create/
注意导入顺序
# mysql -u zabbix -p123 zabbix < schema.sql 连接数据库,并且把schema.sql里的语句在zabbix库里执行
# mysql -u zabbix -p123 zabbix < images.sql
# mysql -u zabbix -p123 zabbix < data.sql
(最好用客户端登入查看导入数据没有) mysql -uzabbix -p123456
use zabbix;
show tables;
4、配置服务端
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123
DBSocket=/var/lib/mysql/mysql.sock <---如果链接的是本机的数据库,必须确定socket路径正确
ListenPort=10051
ListenIP=0.0.0.0
5、启动服务端
# service zabbix-server start
# lsof -i:10051
6、向导安装web界面
# vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Chongqing 地的时区
# service httpd start
把前面的#删除,并且修改成当 <---
浏览器打开 http://172.16.14.14/zabbix/
安装成功之后登录
帐号:Admin
密码:zabbix
7、实验环境,我们刚开始是自己监控自己,所以本机还得安装agent端
# yum install zabbix-agent -y
# vim /etc/zabbix/zabbix_agentd.conf
Server=127.0.0.1 <--- 填写zabbix-server,允许 该IP 链接本机的agent获取数据
ListenPort=10050
ServerActive=127.0.0.1 <--- 填写zabbix-server , 本agent主动向该IP提交监控数据
Hostname=Zabbix server <---给agent设定一个名字,监控平台服务端必须使用该名字才能监控本机
因为默认zabbix-server监控第一台机器就是填写该名字
# service zabbix-agent start 启动了才能有条件被server监控
8、在web界面启用监控上面的agent(默认已经定义好的了)
组态(configuration) ---》 主机(Host)
点击 右下角的 “为受监控” --》 启用主机
9、选择中文语言
1) 只有在2.2.2版本以及以下版本才有中文的web界面
profile --> Langure -->选正 zh_CN
2)解决图形无法输出中文的问题
# tar xvf font-ukai.tar -C /usr/share/zabbix/fonts/
# mv /usr/share/zabbix/fonts/ukai.ttc /usr/share/zabbix/fonts/ukai.ttf
# vim /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'ukai'); //把原来的graphfont修改成ukai
10. 浏览器打开 http://172.16.14.14/zabbix/
因篇幅问题不能全部显示,请点此查看更多更全内容