2015年9月份第二周产出物总结
Zabbix主要功能
Zabbix是一个企业级的、开源的、分布式的监控套件。主要功能就是数据收集、图形化显示、历史数据储存、配置模板、实时告警等。如下图
对于zabbix主要功能学习的总结
Zabbix几乎针对于现市场上主流的操作系统都进行相关的兼容,且功能强大,一般使用的硬
件配置要求也不需要非常大,基本上可以确保现有的绝大多数监控软件的使用需求,但是有一点需要注意,zabbix服务端在监控其被监控端的同时,自己也需要被监控,即一个大型运维环境当中至少应该存在两个zabbix_server,让两个监控平台起到互相监控的作用,这样才能确保所有的体系皆处于监控状态,使得生产环境可以得到全面的预警保障。
常用的监控软件
MRTGCacti、Rrdtool、Nagios、Zabbix
zabbix监控报警能力都很强大,但是也很复杂,脚本和策略设置需要能力。Nagios报警能力可以,监控一般需要配合cacti使用,部署较为简单。zabbix一般部署在大型分布式环境中,策略灵活。
其它几款只需了解有这么个东西,现在主要学习zabbix。
对比Nagios和Cacti
这一周我也研究过Nagios+Cacti和zabbix的主要区别,其实二者从功能上来说都差不多,
只不过Cacti用的是一种rrd的我把它称作为“环形数据库”,Cacti将监控到的数据保存在这个数据库里面,再以图表方式表达出来,但是这个数据库在建立的时候,就必须规划好这个数据库的大小,比如设置一年需要监控哪几个变量,那么过了一年,它这个数据库就得覆盖一年前的数据了,而对比zabbix,zabbix就可以兼容几种现有的主流数据库,而现在的中型企业大多数使用的监控软件都以zabbix居多,于是便开始以zabbix的学习进行入手。
开始安装zabbix
硬件要求
一般主流服务器都可以达到,下图仅供参考
操作系统
归类基本上也就跑Unix,GNU linux,和Unix其它的衍生产品,HP-UX这种基本上用到的不
多,主流支持以前的惠普产品,大多以红帽或者CentOS居多,但是切记windows平台只能跑agent,这一点一定要明确。

LinuxIBM AIXFreeBSDNetBSDOpenBSDHP-UXMac OS XSolaris
Windows: 2000, Server 2003, XP, Vista, Server 2008, 7, 8, Server 2012 (只能跑Zabbix agent)
数据库
MySQL:5.0.3或者以上,推荐使用InnoDB引擎(TTLSA推荐使用MySQL,开源免费资料多)
Oracle:10g或者以上
PostgreSQL:8.1或者以上 .
SQLite:3.3.5或者以上
IBM DB2:9.7或者以上
WEB应用
Apache:1.3.12或者以上
PHP:5.3.0或者以上,zabbix早期版本支持5.2,但是2.2版本只支持到5.3mysql配置与安装过程
PHP扩展这个没有试验,遂不详细说明
时间同步
结合crontab–l 命令运用/usr/sbin/ntpdate–u 时间服务器IP来进行,这个很重要
进程介绍
zabbix_agentd
客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等
zabbix_server
zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server
备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。
以上两个是最常用的
----------------------------------------------------------------------------------
zabbix_get
zabbix工具,单独使用的命令,通常在server或者proxy端执行获取远程客户端信息的命令。通常用户排错。例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。
zabbix_sender
zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。
zabbix_proxy
zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。
zabbix_java_gateway
zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy。
公司常用安装server端(极为重要)
搭建一个LNMP或者LAMP环境,分步源码安装或者集成式安装都可以,但是要配置要yum源,这个可以根据实际需要来进行,主要就是个配置文件的区别,现就以已经搭建好的LNMP环境举例:
#!/bin/bash
cd /usr/local/src #装在这个里面
wget-O zabbix-2.4. -c sourceforge/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.4.3/zabbix-2.4./download #这个下载地址如果失效了可以同样其它的地址
tar -zxvf zabbix-2.4.
yum -y install net-snmp net-snmp-develperl-DBI php-gdphp-xml php-bcmathfpingOpenIPMI-develphp-mbstringmysql-devel #源码安装环境
cd zabbix-2.4.3
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --with-openipmi --enable-proxy --enable-agent
make install
#前提默认是你mysql管理员用户名密码默认,zabbix这个密码也是可以根据自己来设置的
mysql -uroot -proot -e "create database zabbix default character set utf8;"
mysql -uroot -proot -e "grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix2014';flush privileges;"
#开始导入zabbix数据库文件
cat database/mysql/schema.sql | mysql -uzabbix -pzabbix2014 zabbix
cat database/mysql/images.sql | mysql -uzabbix -pzabbix2014 zabbix
cat database/mysql/data.sql | mysql -uzabbix -pzabbix2014 zabbix
cpmisc/init.d/fedora/core/zabbix_server /etc/init.d/
cpmisc/init.d/fedora/core/zabbix_agentd /etc/init.d/
#接下来是修改zabbix服务端的参数,这里用sed命令替换
sed -i 's/^DBUser=.*$/DBUser=zabbix/g' /usr/local/zabbix/etc/f

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。