zabbix简介
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负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
配置前先关闭iptables和SELINUX,避免安装过程中报错。
# service iptables stop
# setenforce 0
# vi /etc/sysconfig/selinux
---------------
SELINUX=disabled
---------------
一.安装LAMP环境(参考 http://www.linuxidc.com/Linux/2011-09/42314.htm )
也可以参照如下步骤:
yum install -y php curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath
yum install -y mysql
可参考 https://www.zabbix.com/documentation/2.0/manual/installation/requirements
二、zabbix(server,agent)配置:
server: 192.168.7.201
agent: 192.168.7.249
1.下载zabbix(server,agent)
# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.6/zabbix-2.0.6.tar.gz/download
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.0.6.tar.gz
# cd zabbix-2.0.6
# 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:
# ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl
agent:
# ./configure --enable-agent
# make install
编译若加 --prefix=/usr/local/zabbix 参数,则zabbix配置文件默认在 /etc/zabbix目录下
6.编辑配置文件(server,agent)
# cd /usr/local/etc/
# cat zabbix_server.conf |grep -v "#" |grep -v "^$" > zabbix_server.conf.bak
# cp zabbix_server.conf.bak zabbix_server.conf
# cat zabbix_agentd.conf |grep -v "#" |grep -v "^$" > zabbix_agentd.conf.bak
# cp zabbix_agentd.conf.bak zabbix_agentd.conf
server:
# vi /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,192.168.7.201
UnsafeUserParameters=1
-------------
agent:
# 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.0.6
# 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_*
# vi zabbix_server
# vi zabbix_agentd
在文件头部的#!/bin/sh行下分别添加如下两行:
--------------
#chkconfig: 35 95 95
#description:zabbix Agent server
--------------
# chkconfig --add zabbix_server
# chkconfig --add zabbix_agentd
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
重启服务:
# service zabbix_server restart
# service zabbix_agentd restart
step 8
zabbix前端已经安装就绪,默认的用户名是Admin,密码是zabbix。
注:如下报错是因为zabbix数据未导入MYSQL数据库:
zabbix主界面如图,server端配置完毕:
手动添加主机
大功告成。。。
注:解决zabbix绘图中出现中文乱码问题:
1.从windows下控制面板->字体->选择一种中文字库,例如“微软雅黑”
2.把它拷贝到zabbix的web端的fonts目录下例如:/usr/local/apache2/htdocs/zabbix/fonts,并且把TTF后缀改为ttf
3.修改zabbix的web端 include/defines.inc.php
# cd /usr/local/apache2/htdocs/zabbix
# vi include/defines.inc.php
其中msyh为字库名字,不包含ttf后缀
----------------------
//define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_FONT_NAME', 'msyh');
//define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
define('ZBX_GRAPH_FONT_NAME', 'msyh');