一、Zabbix基本概念   

   1.zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。

    zabbix2部分构成,zabbixserverzabbix agent

    1.Zabbix Server:部署在主控机,通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视,负责接收Agent发送报告信息的核心组件,所有配置、统计数据及操作数据由其组织进行;

    2.Zabbix Agent:部署在受控机,负责收集本地数据并发往Server端或Proxy端;

    3.SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监.控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)

    4.IPMIIPMI Agent: 智能型平台管理接口(IntelligentPlatform Management Interface,是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种开放免费的工业标准,用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。

   5.配置web监控方式可以监控web页面的下载速率和响应时间等重要参数,指定web页面存在,页面上数据下载速度;

   6.Zabbix Proxy:用于分布式监控环境中,代理Server端收集部分受控端的监控数据并统一发送到Server端,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求;

   2. Zabbix架构图

   zabbix server通过zabbix_get拉取zabbixagentzabbix proxy收集的数据。zabbix_get类似于SNMP协议的命令行工具,但强大很多。主动模式下zabbix agent通过zabbix sender发送数据给zabbix server

wKioL1PDmz7RB7xhAAHqIOhXpgg454.jpg

3.zabbix完整组织流程图,出自http://xxrenzhe.blog.51cto.com/4036116/1412129

wKiom1PDm9PxQTdsAAHnCXyB13Q434.jpg


二、安装与配置zabbix

zabbix实验架构

zabbixserver/zabbix GUI: station31

zabbixagent/nginx: station32

zabbixagent/discoverystation33

zabbixproxy: station34

zabbixagent/windows: station136

2.1、在主控端station31安装LAMP

[root@station31~]# yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_sslmod_perl mod_auth_mysql php-gd php-xml php-ldap php-pear php-xmlrpc php-mbstring php-bcmath mysql-connector-odbcmysql-devel libdbi-dbd-mysql

[root@station31~]# cd /etc/httpd/conf

[root@station31conf]#vim httpd.conf

##277 #ServerNamewww.example.com:80之后

增加278 ServerNamelocalhost:80                                     #防止检测不到FQDN

增加403 DirectoryIndexindex.php index.html index.html.var                #php目录索引

增加790 AddTypeapplication/x-httpd-php .php                           #php支持类型

[root@station31~]# vim /etc/php.ini

增加947 date.timezone =Asia/Shanghai                                 #修改php时区

[root@station31~]# service mysqld start

[root@station31~]# service httpd start

[root@station31~]# chkconfig httpd on

[root@station31~]# chkconfig mysqld on

2.2、设置mysql数据库root帐号密码

[root@station31~]# mysqladmin -uroot password 'redhat'

2.3、测试apachephpmysql的连接

[root@station31~]# cd /var/www/html

[root@station31html]# vim index.php

itworks!

<?php

$link=mysql_connect('localhost','root','redhat');

if($link)

   echo "success";

else

   echo "fail";

?>

IE中测试http://192.168.1.31/显示it works!success成功

 

2.2、安装zabbix主控端 搞清在什么端安装什么程序

[root@station31zabbix-2.2.3]# yum -y localinstall \

fping-2.4b2-16.el6.x86_64.rpm\                

iksemel-1.4-2.el6.x86_64.rpm\

iksemel-devel-1.4-2.el6.x86_64.rpm\

iksemel-utils-1.4-2.el6.x86_64.rpm\

libssh2-1.4.2-1.el6.x86_64.rpm\

libssh2-devel-1.4.2-1.el6.x86_64.rpm\

libssh2-docs-1.4.2-1.el6.x86_64.rpm\

zabbix-2.2.3-1.el6.x86_64.rpm\                  # 主程序server/agent端都需要

zabbix-get-2.2.3-1.el6.x86_64.rpm\              # 主控端从受控端拉数据程序

zabbix-agent-2.2.3-1.el6.x86_64.rpm\            # 受控端安装agent程序

zabbix-server-2.2.3-1.el6.x86_64.rpm\           # 主控服务器端服务器程序

zabbix-server-mysql-2.2.3-1.el6.x86_64.rpm\     # 主控服务器端服务器连接数据库

zabbix-web-2.2.3-1.el6.noarch.rpm\            # web界面安装程序

zabbix-web-mysql-2.2.3-1.el6.noarch.rpm      # web界面连接数据库程序

2.3、检查并导入zabbix专属库

[root@station31zabbix-2.2.3]# rpm -ql zabbix-server-mysql

/usr/share/doc/zabbix-server-mysql-2.2.3/create/data.sql

/usr/share/doc/zabbix-server-mysql-2.2.3/create/images.sql

/usr/share/doc/zabbix-server-mysql-2.2.3/create/schema.sql

[root@station31zabbix-2.2.3]# mysql -uroot -predhat

mysql>CREATE DATABASE zabbixCHARACTER SET utf8 COLLATE utf8_bin;                #zabbix

mysql>GRANT ALL ON zabbix.* TOzbuser@'192.168.1.%' IDENTIFIED BY 'zbpass';          #建用户授权

mysql>flush privileges;

mysql>source/usr/share/doc/zabbix-server-mysql-2.2.3/create/schema.sql;              #注意导库顺序

mysql>source/usr/share/doc/zabbix-server-mysql-2.2.3/create/data.sql;

mysql>source/usr/share/doc/zabbix-server-mysql-2.2.3/create/images.sql;

[root@station31~]# tree /etc/zabbix

/etc/zabbix

|-- web

|   |-- maintenance.inc.php

|   `-- zabbix.conf.php

|--zabbix_agentd.conf          受控端配置文件

|--zabbix_agentd.d

|   `-- userparameter_mysql.conf

|--zabbix_server.conf          服务器端配置文件

[root@station31zabbix]# vim zabbix_server.conf  添加记录

39 LogFile=/var/log/zabbix/zabbix_server.log

82 DBHost=192.168.1.31    #数据库主机名

91 DBName=zabbix        #数据库名

107 DBUser=zbuser        #连接zabbix数据库专门用户

116 DBPassword=zbpass    #连接zabbix数据库专门用户密码

125DBSocket=/var/lib/mysql/mysql.sock 默认rpm安装位置正确,源码安装需修改到/tmp/mysql.sock

注意:zabbix_serverzabbix的服务器端进程用于汇总采集数据,zabbix_agentdzabbix的受控端进程,在本地安装是为采集本机数据,zabbix服务器自身健康也很重要。

[root@station31zabbix]# vim zabbix_agentd.conf

23 LogFile=/var/log/zabbix/zabbix_agentd.log

86 Server=192.168.1.31                       主控服务器IP

128 ServerActive=192.168.1.31                 主控服务器IP

139Hostname=station31.example.com          受控端主机名/IP

[root@station31zabbix]# service zabbix-server start

[root@station31zabbix]# service zabbix-agent start

[root@station31zabbix]# chkconfig zabbix-server on

[root@station31zabbix]# chkconfig zabbix-agent on

[root@station31zabbix]# netstat -nutlp | grep 10050

tcp   0  00.0.0.0:10050        0.0.0.0:*           LISTEN      2103/zabbix_agentd 

tcp   0     0 :::10050            :::*          LISTEN      2103/zabbix_agentd 

[root@station31zabbix]# netstat -nutlp | grep 10051

tcp   0     0 0.0.0.0:10051    0.0.0.0:*        LISTEN      2039/zabbix_server 

tcp   0     0 :::10051             :::*       LISTEN     2039/zabbix_server 

zabbix-server监听tcp10051 zabbix-agent监听tcp10050

 

3.安装zabbix GUI

直接使用IE打开http://192.168.1.31/zabbix/setup.php配置

wKioL1PDnOuy76UXAAH2l3TusVg821.jpg

wKioL1PDnOvgsYjmAAGkuIH4wzg035.jpg

默认用户名Admin,密码zabbix

Administration->Users->Members:Admin(Zabbixadministrator),language:选zh_cn,Save,刷新,界面转中文。

或选择下拉菜单从Users groupUsers

但是有可能zabbix有部分图表菜单不支持中文,需要将中文windows系统机的中文字体(仿宋简体)复制到zabbix的字库中。

1、在windows系统中的C:\windows\fonts目录中复制一个自己喜欢的,如simfang.ttf(仿宋简体)

2、将simfang.ttf文件上传到ZabbixServer网站目录中的fonts目录下;

如:/usr/shar/zabbix/fonts中,可以通过/etc/httpd/conf.d/zabbix.conf找到zabbix的路径

3、将ZabbixServer网站目录中的fonts目录里原来的“graphfont.ttf”改名

4、将上传上去的文件改为graphfont.ttf

5、只需要刷新一下,无乱码!

安装完成,检查报错。

[root@station31zabbix]# cat zabbix_agentd.log

5696:20140616:224554.525no active checkson server [192.168.1.31:10051]: host[station31.example.com] not found

需要在configuration->Hosts面板中Status,启用monitored, 才能监控server本身。

出现该错误的原因是一般是zabbix_agentd.conf里面的Hostname和前端zabbix web里面的配置不一样所造成的,即在zabbix web页面Monitoring->Configuration->Hosts页面的Namezabbix_agentd.conf里面的Hostname要一样。

1.查看zabbix_agentd.conf文件中的Hostname

[root@station31 zabbix]# cat/etc/zabbix/zabbix_agentd.conf | grep Hostname

#Hostname=Zabbix server

Hostname=station31.example.com 受控端主机名

2.zabbix web页面Monitoring->Configuration->Hosts页面更改Host namezabbix_agentd.conf里面的Hostname一样。

wKiom1PDnaHCMPIjAAESvxX2CSM393.jpg

3.重新启动zabbix-agent服务

[root@station31 ~]# service zabbix-agentrestart

4.再次查看日志文件

[root@station31 zabbix]# cat zabbix_agentd.log

5691:20140616:230207.154 Zabbix Agentstopped. Zabbix 2.2.3 (revision 44105).

5938:20140616:230207.310 Starting ZabbixAgent [station31.example.com]. Zabbix 2.2.3 (revision 44105).

wKiom1PDnfmgBzuuAAFa4zJ6QWQ459.jpg