zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
废话太多没用 安装开始
1.下载zabbix(server,agent)
# wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.1/zabbix-2.2.1.tar.gz
2.安装zabbix所需的组件(server,agent)
# yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI
3.创建用户账号(server,agent)
# groupadd zabbix
# useradd -g zabbix zabbix
# usermod -s /sbin/nologin zabbix
4.创建zabbix数据库并导入zabbix数据库数据(server)
# mysql -u root -p123456
> grant all on zabbix.* to zabbix@localhost identified by '123456';
> create database zabbix;
# tar zxvf zabbix-2.21.tar.gz
# cd zabbix-2.21
# mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql
# mysql -uzabbix -p123456 zabbix < database/mysql/images.sql
# mysql -uzabbix -p123456 zabbix < database/mysql/data.sql
5.编译安装(server,agent)
server(192.168.1.1):
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
# make install
agent(192.168.1.2):
# ./configure --enable-agent
# make install
默认zabbix安装路径/usr/local/下的bin与sbin目录因为与系统合并,无需加载环境变量
6.编辑配置文件(server,agent)
# cd /usr/local/etc/
server:
# vim /usr/local/etc/zabbix_server.conf
修改如下内容并删除其他未修改参数条目:
LogFile=/var/log/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
# vi /usr/local/etc/zabbix_agentd.conf
修改如下内容并删除其他未修改参数条目:
LogFile=/var/log/zabbix_agentd.log
Server=127.0.0.1
UnsafeUserParameters=1
agent: (192.168.1.2)
# vi /usr/local/etc/zabbix_agentd.conf
修改如下内容并删除其他未修改参数条目:
LogFile=/var/log/zabbix_agentd.log
Server=192.168.7.201
UnsafeUserParameters=1
# touch /var/log/zabbix_server.log
# chmod 777 /var/log/zabbix_server.log
# touch /var/log/zabbix_agentd.log
# chmod 777 /var/log/zabbix_agentd.log
7、启动守护进程(server,agent)
在服务器端运行启动zabbix_server
# zabbix_server
server启动端口为10051
在所有被监控的机器上运行zabbix_agentd 。
# zabbix_agentd
agentd启动端口为10050
注意若服务器打开iptables服务,则需添加该两个端口通行。
# iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
# iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
注:重启服务可直接kill掉zabbix进程再重新按照以上方法启动
# pkill zabbix
# ps -ef |grep zabbix
或配置开机启动脚本:
# cd zabbix-2.2.1
# cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server
# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
# cd /etc/init.d/
# chmod 755 zabbix_*
# chkconfig --add zabbix_server
# chkconfig --add zabbix_agentd
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
重启服务:
# service zabbix_server restart
# service zabbix_agentd restart
8.安装zabbix web界面(server)
复制ZABBIX PHP源代码文件
zabbix的服务端程序是用php写的,因此需要一个支持LAMP架构的服务器平台
现在将ZABBIX安装目录下 frontends/php 下面的php源代码文件拷贝到web服务器html文件目录下面。
这里建议用子目录替换APACHE HTML根目录或使用APACHE虚拟主机
这里测试环境我为了方便就选择了前者。
先建立一个子目录,将zabbix终端php文件拷贝到该子目录里面,执行下面的命令:
# mkdir /var/www/html/zabbix
# cd frontends/php
# cp -a . /var/www/html/zabbix
安装前端
1. http://192.168.1.1/zabbix,你将看到前端安装向导的第一个画面。
2. 确保所有依赖的软件都正确安装。
查看到几处不符合要求
需修改该PHP文件配置文件参数:
# vim /etc/php.ini
查找修改以下参数:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/shanghai
若提示php缺少依赖,则安装php扩展包
yum - y install perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml
重启apache生效
3.输入之前在MYSQL后台设置的zabbix数据库信息:
DBName=zabbix
DBUser=zabbix
DBPassword=123456
测试连接时若报错,添加如下命令:
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
4.下载配置文件,并把他放置在/usr/local/apache2/htdocs/zabbix/conf/ 目录下,刷新页面
5.大功告成,默认用户admin,密码zabbix,开始你的zabbix之旅吧。。
后记问题解决:
1.安装完成后,提示
date() [<a href='function.date'>function.date</a>]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.。。
这是原来因为 apache 本土化没做好。忘记调时差了,伤不起。。。。
解决:
#vim /etc/poh.ini
date.timezone = PRC
话说date.timezone 是 PHP 5.1 中新增加的配置文件参数,默认 date.timezone 是被注释掉的,也就是默认时区是 utc,lnmp 改为了 date.timezone = PRC,这样可以解决时间相差八小时的问题,PRC,People’s Republic of China,中华人民共和国,也就是日期使用中国的时区。
2.这个问题解决之后 发现zabbix面板上zabbix_server主机死活都检测不到,查看进程,端口,日志都正常。困惑好一阵子,后来一看selinux居然是enable,selinux坑死人不偿命啊。。。。distable掉,果断好使。