
本文内容
Zabbix分布式监控平台实践之 (0) 什么是Zabbix
参考资料
环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182
Zabbix官方Wiki
1. 初识Zabbix
Zabbix是一个基于WEB界面的分布式开源监控平台,主要由2部分构成,Zabbix server与Zabbix agentzabbix开发语言,同时也支持Zabbix proxy。
我首次听说Zabbix,是因为看到一篇文章:Tired of Nagios and Cacti? Try Zabbix.
在此之前我只简单的用过 Cacti 和 Nagios,且一些同样做运维的哥们儿也都是用的这两款开源硬件。
因此,在听到这样一个标题之后,感觉很新奇就仔细的知道了一下,当时并没有去实践。人总是对将要熟悉的东西拥抱而厌恶陌生的东西。而如今,我们将要将Zabbix大量的应用到了线上环境。在日常的监控中,深切的感受到了Zabbix的高效便捷和优秀的扩充能力。
Zabbix的底层收集程序是用C语言编写的Server与Agent,而用户界面是借助php编写web,采用MySQL来储存数据。
整个Zabbix其实就是一个框架,其中内置了一些针对诸多OS的平台参数收集命令,可以直接读取,而其它的自定义监控参数,则可以借助自己来写一些便捷的Shell命令通过管道传递,或借助各种脚本甚至程序来释放。Zabbix只管把最终的返回值通过agent拿到,存储统计,绘图,根据定义的阀值进行报警等。
说到这里,其实所有的监控平台差不多都是这样的逻辑,所以真正有区别的地方是在最终用途的融合和易用性上。而Zabbix之所以好用,就是因为它整合的比较好,拿来以后才能用,agent安装简洁便利,server端配置,完善的用户界面,绘图,报警和扩充等都比较便捷。在做电信项目的之后,与电信的一款付费的商业硬件对比,丝毫不逊色,以至于电信的维护员工都被动找我来学习Zabbix的加装与配置方式,打算更换他们的监控平台。
1.2 功能对比
介绍到这里,我们不如用一个图片来简单的对比一下目前各个主流的监控平台。

1.3 界面展示
下面,是我一台生产环境的主图标,可以看见一些磁盘空间不足的报警(用黑色区块遮住了主机名等敏感信息)。
其中横排菜单中的Web,Latest data,Triggers,Graphs,Screens等则分别对应HTTPCheck类监控,快捷查看各个采集的最新数据,阈值,绘图以及图形报表。

1.4 接着,我们可以开始下面过程
好了,至此,我们算是对Zabbix有了一个初步的了解,那么接下来,就起初下面的流程。
本文内容
Zabbix分布式监控平台实践之 (1) 环境部署
参考资料
环境介绍
OS: Ubuntu 10.10 Server 64-bit
Servers:
zabbix-server:10.6.1.181
zabbix-client-1:10.6.1.182
1. 环境部署
前面,我们简单介绍了一下Zabbix,那么在本章,我们就来把Zabbix的环境部署上去,然后再在下一张详细的讲解其使用方式。
由于Zabbix采用的是分布式构架,因此我们采取两台服务器,一台做Server,另外一台做Agent,来打造一个最小的环境。
2. 安装方法
2.1 安装平台依赖以及mysql-server与php
$ sudo apt-get install build-essential mysql-server libmysqlclient15-dev php5 php5-gd php5-mysql snmp libsnmp-dev snmpd libcurl4-openssl-dev fping apache2
在弹出的图标中配置MySQL的Root密码,比如zabbixadmin
MySQL password: zabbixadmin
2.2 新建用户zabbix
$ sudo adduser zabbix
Enter new UNIX password: zabbix
Retype new UNIX password: zabbix
$ sudo adduser zabbix admin
$ sudo visudo
添加如下内容,给予Zabbix用户sudo权限
zabbix ALL=(ALL) NOPASSWD:ALL
2.3 下载源码包
$ sudo -i
# su - zabbix
$ wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz"
$ tar xzvf zabbix-2.0.4.tar.gz
2.4 初始化
$ mysql -uroot -pzabbixadmin -e "create database zabbix;"
$ mysql -uroot -pzabbixadmin -e "grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
$ mysql -uzabbix -pzabbix -D zabbix < zabbix-2.0.4/database/mysql/schema.sql
$ mysql -uzabbix -pzabbix -D zabbix < zabbix-2.0.4/database/mysql/images.sql
$ mysql -uzabbix -pzabbix -D zabbix < zabbix-2.0.4/database/mysql/data.sql
2.5 编译安装
$ cd zabbix-2.0.4/
$ ./configure --prefix=/usr/local --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent
$ make
$ sudo make install

2.6 修改配置文件
$ cd /usr/local/etc
$ sudo vim zabbix_server.conf
DBUser=zabbix
DBPassword=zabbix
2.7 创建服务管理脚本
$ cd
$ sudo cp zabbix-2.0.4/misc/init.d/debian/zabbix-* /etc/init.d/
$ sudo chmod 755 /etc/init.d/zabbix-*
$ sudo update-rc.d zabbix-server defaults
$ sudo update-rc.d zabbix-agent defaults
2.8 启动服务
$ sudo /etc/init.d/zabbix-server start
$ sudo /etc/init.d/zabbix-agent start
$ ps aux | grep zabbix
2.9 复制网页代码文件
$ cd
$ mkdir /home/zabbix/public_html
$ cp -R zabbix-2.0.4/frontends/php/* /home/zabbix/public_html/
2.10 配置虚拟主机
$ sudo vim /etc/apache2/sites-enabled/000-default
Alias /zabbix /home/zabbix/public_html/
<Directory /home/zabbix/public_html>
AllowOverride FileInfo AuthConfig Limit Indexes
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
<LimitExcept GET POST OPTIONS PROPFIND>
2.11 配置PHP
$ sudo vi /etc/php5/apache2/php.ini
max_execution_time = 300
max_input_time= 600
date.timezone = Asia/Shanghai
2.12 重启Apache
$ sudo /etc/init.d/apache2 restart
2.13 添加alert.d目录
$ sudo vim /usr/local/etc/zabbix_server.conf
AlertScriptsPath=/usr/local/etc/alert.d
$ sudo mkdir /usr/local/etc/alert.d
2.14 安装mailutils
$ sudo apt-get install sendemail mailutils
2.15 打开网站安装向导
地址:
账号:Admin
密码:zabbix
相关图标图片如下:





创建连接文件
$ vim /home/zabbix/public_html/conf/zabbix.conf.php
// Zabbix GUI configuration file
// SCHEMA is relevant only for IBM_DB2 database
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

接着,就可以登陆到Zabbix系统的主界面


至此,Zabbix的Server端已经推进完成,接下来我们在zabbix-client-1上部署agent。
3. 安装部署agent
首先,登录zabbix-client-1,以下操作均在zabbix-client-1上完成。
3.1 安装平台依赖以及mysql-server与php
$ sudo apt-get install build-essential snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
3.2 新建用户zabbix
$ sudo adduser zabbix

Enter new UNIX password: zabbix
Retype new UNIX password: zabbix
$ sudo adduser zabbix admin
3.3 下载源码包
$ sudo -i
# su - zabbix
$ wget "http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz"
$ tar xzvf zabbix-2.0.4.tar.gz
3.4 编译安装
$ cd zabbix-2.0.4/
$ ./configure --prefix=/usr/local --with-net-snmp--with-libcurl --enable-agent
$ make
$ sudo make install
3.5 创建服务管理脚本
$ cd
$ sudo cp zabbix-2.0.4/misc/init.d/debian/zabbix-agent /etc/init.d/
$ sudo chmod 755 /etc/init.d/zabbix-agent
$ sudo update-rc.d zabbix-agent defaults
2.6 启动服务
$ sudo /etc/init.d/zabbix-agent start
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-120555-1.html
好可怕
毕竟有几百万人去取外国新娘了
钻进那条缝