首页 > 代码库 > Zabbix监控之一----zabbix基础和安装
Zabbix监控之一----zabbix基础和安装
一、Zabbix基本概念
1.zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbixserver与zabbix agent。
1.Zabbix Server:部署在主控机,通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,负责接收Agent发送报告信息的核心组件,所有配置、统计数据及操作数据由其组织进行;
2.Zabbix Agent:部署在受控机,负责收集本地数据并发往Server端或Proxy端;
3.SNMP:也是agent的一种,指支持SNMP协议的设备(也可以是服务器),通过设定SNMP的参数将相关监.控数据传送至服务器端(大部份的交换机、防火墙等网络设备都支持SNMP协议)。
4.IPMI:IPMI Agent: 智能型平台管理接口(IntelligentPlatform Management Interface),是管理基于 Intel结构的企业系统中所使用的外围设备采用的一种开放免费的工业标准,用户可以利用IPMI监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。
5.配置web监控方式可以监控web页面的下载速率和响应时间等重要参数,指定web页面存在,页面上数据下载速度;
6.Zabbix Proxy:用于分布式监控环境中,代理Server端收集部分受控端的监控数据并统一发送到Server端,极大的减轻了server的负载压力,使得可以支持更大规模的监控需求;
2. Zabbix架构图
zabbix server通过zabbix_get拉取zabbixagent或zabbix proxy收集的数据。zabbix_get类似于SNMP协议的命令行工具,但强大很多。主动模式下zabbix agent通过zabbix sender发送数据给zabbix server。
3.zabbix完整组织流程图,出自http://xxrenzhe.blog.51cto.com/4036116/1412129
二、安装与配置zabbix
zabbix实验架构
zabbixserver/zabbix GUI: station31
zabbixagent/nginx: station32
zabbixagent/discovery:station33
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、测试apache与php、mysql的连接
[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_server是zabbix的服务器端进程用于汇总采集数据,zabbix_agentd是zabbix的受控端进程,在本地安装是为采集本机数据,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配置
默认用户名Admin,密码zabbix,
Administration->Users->Members:Admin(Zabbixadministrator),language:选zh_cn,Save,刷新,界面转中文。
或选择下拉菜单从Users group到Users。
但是有可能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页面的Name和zabbix_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 name和zabbix_agentd.conf里面的Hostname一样。
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).
本文出自 “aha45” 博客,请务必保留此出处http://manfred12.blog.51cto.com/137312/1438048