Centos 源码安装zabbix 2.4.5

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负荷   
 内存使用   
 磁盘使用   
 网络状况   
 端口监视   
 日志监视

安装fping

由于 zabbix 使用 fping 替代了 ping 作为 icmp 的工具,所以要安装 fping 
可以从 http://fping.sourceforge.net/ 上下载 fping 的源代码,解压编译安装。

fping是加强版的ping工具,可以同时ping多个主机。

fping的官网是:http://www.fping.com

wget http://fping.sourceforge.net/download/fping.tar.gz
tar -xvf /nfs/pkg/fping.tar.gz
cd fping-2.4b2_to/
./configure 
make && make install

安装完毕后,一起就2个文件:

/usr/local/sbin/fping #执行文件
/usr/local/man/man8/fping.8 #man文件

设置fping权限:

chown root:zabbix /usr/local/sbin/fping
chmod 710 /usr/local/sbin/fping
chmod ug+s /usr/local/sbin/fping

然后再安装traceroute:

yum install traceroute -y

  Zabbix安装

 ①环境
1)关闭iptables
[root@k zabbix]# iptables -F
[root@k zabbix]# /etc/init.d/iptables save

2)关闭selinux

编辑文件/etc/sysconfig/selinux
将设置
 SELINUX=enforcing
修改为:
 SELINUX=disabled
 3)安装相关依赖包
  yum -y install gcc mysql-server httpd php php-mysql php-gd php-bcmath php-xml php-mbstring mysql-devel php-snmp net-snmp-devel net-snmp  net-snmp-utils OpenIPMI-devel curl-devel
 ②下载解压  
 tar xvf zabbix-2.4.5.tar.gz -C /usr/local
 增加zabbix用户和组
 groupadd zabbix
 useradd zabbix -g zabbix -s /sbin/nologin 
 ③配置zabbix数据库  
 启动MySQL数据库:
 service mysqld start
修改MySQL root用户密码(默认密码为空)
mysqladmin –u root –p password 123456
进入数据库:
mysql -u root -p
mysql> create database zabbix default charset utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123456';
mysql> grant all on zabbix.* to zabbix@'127.0.0.1' identified by '123456';
mysql> flush privileges; (刷新权限配置)
quit
导入表和数据:
cd /usr/local/zabbix-2.4.5/database/mysql
mysql -u zabbix -p123456  zabbix< schema.sql    (将zabbix中的mysql.sql文件重定向到zabbix数据库中)
mysql -u zabbix -p123456 zabbix < images.sql     (有先后顺序)
mysql -u zabbix -p123456 zabbix  < data.sql
④编译安装zabbix

cd /usr/local/zabbix-2.4.5;
./configure --sysconfdir=/etc/zabbix  --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmi
make && make install
 配置文件
 vi /etc/zabbix/zabbix_server.conf  修改如下:
 DBName=zabbix  <---zabbix使用的数据库
 DBUser=zabbix  <---zabbix连接mysql所使用的用户名
 DBPassword=123456   <----zabbix连接mysql所使用的密码
DBSocket=/var/lib/mysql/mysql.sock <---如果链接的是本机的数据库,必须确定socket路径正确
 FpingLocation=/usr/local/sbin/fping  <---修改默认的icmp工具为fping

 vi /etc/zabbix/zabbix_agentd.conf
 Server=192.168.66.16   <----指向zabbix服务器的ip
 ServerActive=192.168.66.16   <----指向zabbix服务器的ip
 Hostname=192.168.66.16      <---本机(zabbix客户端)的hostname或者ip

 添加web前端php文件

 cd /usr/local/zabbix-2.4.5/frontends/
 cp -rf php /var/www/html/zabbix
 chown -R zabbix:zabbix /var/www/html/zabbix
 web前端安装配置
 vi /etc/php.ini  修改php相关参数
 max_execution_time = 600
 max_input_time = 600
 date.timezone = Asia/Shanghai
 post_max_size = 32M
 memory_limit = 256M
 
 vi /etc/httpd/conf/httpd.conf
 DirectoryIndex index.php index.html
 # LoadModule foo_module modules/mod_foo.so
 LoadModule php5_module  modules/libphp5.so

 启动服务

 /etc/init.d/httpd start 
 /etc/init.d/mysqld start
 /usr/local/zabbix/sbin/zabbix_server start 
 /usr/local/zabbix/sbin/zabbix_agentd start

  配置Zabbix服务器端

 在本地浏览器上访问Zabbis Serve地址开始web前端配置,http://192.168.66.16/zabbix 按提示一步步next,其中Step 3 Check of pre-requisites 必须全部项目OK后
 才能继续配置,如有提示fail,去server上检查是否安装这个包或配置是否按上述更改。共需6步,如下图:
a) 进入安装界面点击Next

 

b) 确保所有的监测项都是OK,点击Next

c) 填写zabbix数据库的用户名、密码、地址等信息,点击Test connection,OK后点击Next

(上图中 Database name 为前面创建的数据库名,User为前面创建的连接MySQL的数据库用户zabbix,Password为前面创建的连接MySQL数据库所使用的密码,本实验所使用的密码为123456;Test connection必须OK 才能进行下一步)
d) 填写zabbix服务器的信息,主机名,server程序监听的的端口,主机IP地址等,如果server跟web在一台服务器上保持默认即可,点击Next

 e) 确认前面几部填写的信息没有问题的话点击Next

 f) 检查web程序的config文件,如果没问题会显示OK,直接点击finish即可完成安装(如果此处有问题一般是zabbix虚拟主机目录文件的权限问题,上面已经有设置的过程一般不会出现问题)

如果出现下图的错误,则按照其提示操作即可(点击

按钮下载配置文件,将下载后的文件拷贝到/var/www/html/zabbix/conf/下,改名为zabbix.conf.php,在修改文件的相关拥有者为zabbix{命令 chown zabbix.zabbix /var/www/html/zabbix/conf/zabbix.conf.php},在点击Retry按钮,变成上图所示后点击Finish即安装成功了)

如果因为手误,数据库密码或者用户名等的填写错了,后面会一直报错,我们可以手动的去编辑配置文件vim /var/www/html/zabbix/conf/zabbix.conf.php  手动定义相关的参数即可
   g) 进入登录界面点击登录,默认账号密码为admin / zabbix
h) 添加监控项
     进入Configuration -》Hosts 选择 Zabbix Server 然后 Activate Select,Zabbix Server (本机)的监控激活。进入 Monitoring Dashboard,可以看到 Zabbix Server 的监控结果(这必须保持zabbix_agentd.conf配置文件为默认才会生效);有一点要注意:agent端配置好之后,添加host,需要添加模板才会显示绿色成功连接哟。
新建监控项:
1) 进入Configuration -》Hosts 选择按钮
2)执行第一步操作后,会进入下图所示界面,修改红色部分的内容为agent端的ip地址,其中Host name处的值必须与agent端zabbix_agentd.conf里面的值相同
3)添加模板(必须添加相关模板后,才能获取到监控数据),点击上图中的选项,会进入到下图所示界面
4)点击上图中的select选项就会将zabbix所有的模板列出来,选择需要添加的模板后,在点击add选项添加模板,最后点击Update按钮即完成了监控的添加。
 
 
 
zabbix客户端的配置:
最好保持服务器时间同步

通过root用户解压、编译及安装

tar -xvf /nfs/pkg/zabbix-2.0.3.tar.gz;cd zabbix-2.0.3
./configure --prefix=/usr/local/zabbix/ --sysconfdir=/etc/zabbix/ --enable-agent
make 
make install

为了便于监控IO,安装上sysstat,执行如下命令:

yum install sysstat -y
sed -i s/10.71.xx.xx/$HOST_IP/g /etc/zabbix/zabbix_agentd.conf

将配置文件/etc/zabbix/zabbix_agentd.conf中的
Hostname= 10.71.xx.xx
修改成现在主机的IP,例如241
Hostname=$HOST_IP
将DisableActive=0修改为#DisableActive=0
将ServerPort=10051修改为#ServerPort=10051

添加计划任务,收集监控数据:

执行命令:
crontab -e -u zabbix
加入:
# run zabbix data gathering for custom checks every min
*/3 * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_tomcat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_vmstat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_iostat_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_tcpConStat_cron.sh > /dev/null 2>&1
* * * * * /usr/bin/sudo /etc/zabbix/scripts/zabbix_fileSocket_cron.sh > /dev/null 2>&1
* * * * * /etc/zabbix/scripts/zabbix_DbConnStat_cron.sh > /dev/null 2>&1

设置一些特殊脚本的权限:
执行如下命令:
visudo
修改
Defaults    requiretty
为
#Defaults    requiretty

并加入:
Cmnd_Alias SU = /bin/su -
Cmnd_Alias SUWWW = /bin/su - www 
xujing    ALL=(root)      NOPASSWD: SU,SUWWW,SERVICES
Cmnd_Alias FILESOCKET =   /etc/zabbix/scripts/zabbix_fileSocket_cron.sh,/etc/zabbix/scripts/zabbix_tomcat_cron.sh,/etc/zabbix/scripts/file_socket.sh,/usr/bin/sudo,/bin/su,/bin/kill
zabbix    ALL=(root)      NOPASSWD: FILESOCKET

设置开机启动服务:
执行如下命令:
cp /nfs/script/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
chkconfig --add zabbix_agentd
chkconfig zabbix_agentd on

启动zabbix_agentd:
执行如下命令:
/etc/init.d/zabbix_agentd start

检查日志确认启动无异常:
tail -100 /tmp/zabbix_agentd.log
220.web.lg-9-8.zwc.com<2013-04-21 01:26:10> ~/zabbix-2.0.3
root># tail -100 /tmp/zabbix_agentd.log
19506:20130421:012610.832 Starting Zabbix Agent [10.0.0.220]. Zabbix 2.0.3 (revision 30485).
19507:20130421:012610.832 agent #0 started [collector]
19509:20130421:012610.833 agent #1 started [listener]
19510:20130421:012610.833 agent #2 started [listener]
19511:20130421:012610.834 agent #3 started [listener]

 Zabbix Proxy服务器安装配置

zabbix支持分布式监控,通过zabbix_proxy部署,将一集中区域的监控数据收集并转发到Zabbix Server。原理如图:


 安装前准备

创建zabbix用户:

groupadd zabbix -g 504;useradd zabbix -u 504 -g zabbix

安装依赖软件包:

yum install -y net-snmp-devel curl-devel mysql-devel traceroute net-snmp-utils OpenIPMI-devel

创建运行时需要的相关目录,并配置好权限:

mkdir /var/log/zabbix;chown -R zabbix.zabbix /var/log/zabbix/mkdir /var/run/zabbix; chown -R zabbix.zabbix /var/run/zabbix/

另外还需要准备一个mysql数据库以存储zabbix_proxy收集的监控数据。

 安装

编译安装fping

参考编译安装fping

编译安装zabbix_proxy

tar -zxvf zabbix-1.8.10.tar.gz;cd zabbix-1.8.10./configure --prefix=/usr/local/zabbix --enable-agent --with-mysql --with-libcurl --with-net-snmp --with-openipmimake make install

  配置

  启动脚本

 

 常见问题

 zabbix 图片乱码解决

1.上传本地windown系统的C:\WINDOWS\Fonts\simhei.ttf文件到zabbixweb目录的zabbix/fonts下.
2.vi zabbix/include/defines.inc.php把所有的DejaVuSans替换成simhei

zabbix 模版

官方配置有很多的模版,参考http://www.zabbix.com/

posted on 2016-04-12 00:09  kevinchou  阅读(600)  评论(0编辑  收藏  举报