zabbix在centos6下的编译安装
来自: http://my.oschina.net/liuyuanyuangogo/blog/606857
简介
zabbix是开源的,它基于web界面的,提供分布式系统监视以及网络监视功能,是一个all-in-one的高度集成的企业级监控解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。Zabbix由一个中心的Zabbix Server和若干可能安装有Zabbix Agent被监控设备构成,主要特性可概括为以下几点;
1.主要组成部分
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)等系统之上。
2.数据存储
数据库为PostgreSQL,Mysql,Oracle,SQLite或DB2。
可配置历史和趋势数据的保存时间
内建旧清理程序防止数据膨胀
详细请参考:http://blog.chinaunix.net/uid-20726500-id-4513716.html
源码安装步骤
官方文档:https://www.zabbix.com/documentation/2.4/manual/installation/install#from_the_sources
环境:Centos6.4 64bit
1.安装依赖包和LAMP环境
安装开发软件包
yum -y groupinstall "Development Tools"
安装LAMP(Linux,Apache, Mysql, Php)环境及zabbix所需644的依赖包
yum -y install httpd mysql mysql-server php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmath
2.创建zabbix服务运行所需要的用户和组
groupadd zabbix useradd -g zabbix zabbix passwd zabbixuser #修改用户密码
3. 初始化及配置mysql数据库
启动mysql服务:
chkconfig mysqld on #设置mysql服务开机启动 service mysqld start # 或者/etc/init.d/mysqld start, 来启动mysql服务
进入mysql的sql命令状态,创建zabbix运行所需要的数据库及用户权限:
[root@cloudstack local]# mysqladmin -u root –h 127.0.0.1 password "123456" --root用户初始化后无密码,此处设定密码为123456 [root@cloudstack local]# mysql –u root –h 127.0.0.1 –p -- -p是强制输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 6 Server version: 5.1.73 Source distribution Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> --插入zabbix用户 mysql>create database zabbix character set utf8; mysql>grant all privileges on zabbix.* to zabbixuser@'%' identified by 'zabbixpassword'; --或者insert into mysql.user(Host,User,Password) values("localhost","zabbix",password("zabbix")); Query OK, 1 row affected, 3 warnings (0.00 sec) mysql>flush privileges;
4安装配置zabbix
4.1下载zabbix-2.4.7
mkdir /lyy cd /lyy wget http://fossies.org/linux/misc/zabbix-2.4.7.tar.gz/ tar -zxvf zabbix-2.4.7.tar.gz
4.2 编译安装zabbix
./configure --sysconfdir=/usr/local/zabbix/ --enable-server --enable-agent --with-net-snmp --with-libcurl --with-mysql
如果configure过程中提示少包,可以及时安装,如:yum –y install mysql-devel。
Configure正确完成后,根据提示执行:
make install
注意:此处sysconfdir指定配置文件的路径(zabbix_server.conf和zabbix_agent.conf),指定就在/usr/local/zabbix/目录下的etc目录了,如果不指定默认在/usr/local/下的etc目录下。
4.3配置 zabbix server端及agent端的系统服务脚本
cp /lyy/zabbix-2.4.7/misc/init.d/tru64/zabbix_agentd /etc/init.d/ cp /lyy/zabbix-2.4.7/misc/init.d/tru64/zabbix_server /etc/init.d/ chown zabbixuser:zabbixuser /etc/init.d/zabbix_*
以上配置完毕后,可以直接在zabbixuser用户下的任意目录,执行
service zabbix_server start/stop/restart
如果不配置以上系统服务脚本,则需执行/usr/local/zabbix/sbin/zabbix_server(或者缺省的usr/local/sbin/zabbix_server)启动服务。
4.4将zabbix的初始数据导入到数据库中
mysql –u zabbixuser –h 192.168.229.131 -p zabbix < /lyy/zabbix-2.4.7/database/mysql/schema.sql mysql –u zabbixuser –h 192.168.229.131 -p zabbix < /lyy/zabbix-2.4.7/database/mysql/images.sql mysql –u zabbixuser –h 192.168.229.131 -p zabbix < /lyy/zabbix-2.4.7/database/mysql/data.sql
登录数据库查看下表是否都创建成功
4.5 配置zabbix的网站
将zabbix的页面文件copy到指定目录(跟apache配置的相同即可)
mkdir /var/www/html/zabbix cp -rf /lyy/zabbix-2.4.7/frontends/php/* /var/www/html/zabbix/ chown -R zabbixuser.zabbixuser /var/www/html/zabbix/
4.6配置php文件,适应zabbix安装所需的参数
vim /etc/php.ini
date.timezone = Asia/Shanghai max_execution_time = 300 max_input_time = 300 post_max_size = 32M memory_limit = 128M
注意: 其中参数mbstring.func_overload = 2是要求注释掉的,否则会在后边产生错误。
4.7配置zabbix server端的文件,定义数据库的IP、用户名、密码
vim /usr/local/zabbix/etc/zabbix_server.conf
DBHost=192.168.229.131 DBName= zabbix DBUser=zabbixuser DBPassword=zabbixpassword #后面的供参考 StartPollers=30 #开启多线程数,一般不要超过30个 StartTrappers=20 #trapper线程数 StartPingers=10 #fping线程数 StartDiscoverers=120 MaxHousekeeperDelete=5000 CacheSize=1024M #用来保存监控数据的缓存数,根据监控主机的数量适当调整 StartDBSyncers=8 #数据库同步时间 HistoryCacheSize=1024M TrendCacheSize=128M #总趋势缓存大小 HistoryTextCacheSize=512M AlertScriptsPath=/etc/zabbix/alertscripts LogSlowQueries=1000
5.配置apache文件,定义访问zabbix的主机
vim /etc/httpd/conf/httpd.conf
ServerName 192.168.229.131 <VirtualHost *:80> DocumentRoot "/var/www/html" ServerName 192.168.229.131 </VirtualHost>
6启动apache服务跟zabbix服务
chkconfig httpd on #设置开机启动
此时查看并确认服务(mysqld, zabbix_server, httpd)启动情况:
[root@localhost html]# netstat -plunt | grep LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1623/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 497/cupsd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 705/master tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 63120/zabbix_agentd tcp 0 0 127.0.0.1:10051 0.0.0.0:* LISTEN 63499/zabbix_server tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3517/mysqld tcp 0 0 :::80 :::* LISTEN 63459/httpd tcp 0 0 :::22 :::* LISTEN 1623/sshd tcp 0 0 ::1:631 :::* LISTEN 1497/cupsd tcp 0 0 ::1:25 :::* LISTEN 1705/master
7访问安装界面并根据提示逐步完成安装
7.1在浏览器中输入:http://192.168.229.131/zabbix/ ,然后根据网页提示一直往下进行。
注意: 当遇到配置/var/www/html/zabbix/conf/zabbix.conf.php失败的情况,如下图:
解决方法:
根据提示下载配置文件zabbix.conf.php,并拷贝到/var/www/html/zabbix/conf/目录下,并给zabbixuser授权,之后点击网页上的重试即可。
[root@cloudstack onf]# cp /home/centos6/Desktop/zabbix.conf.php /var/www/html/zabbix/conf/ [root@cloudstack conf]# chown zabbixuser:zabbixuser zabbix.conf.php
7.2一切准备完毕后,进入登陆界面,初始的用户名是admin和密码是zabbix,之后会进入主界面。
注意:
1.在zabbix主界面遇到以下报错:
date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting 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. We selected 'America/Los_Angeles' for 'PST/-8.0/no DST' instead [dashboard.php:130 →
解决方法:
第1步
[root@cloudstack init.d]# vi /etc/php.ini 配置date.timezone = Aisa/Shanghai
第2步
[root@cloudstack init.d]# vi /var/www/html/zabbix/include/page_header.php 在最前边添加ini_set('date.timezone','Asia/Shanghai');
2.在zabbix主界面遇到报错:server is not running
解决方法:
1.先看日志情况
vi /tmp/zabbix_server.log
2. 查看防火墙设置情况
3.参考http://my.oschina.net/jincon/blog/269870,可以其中一个函数被禁用导致的问题,解决:
vi /etc/php.ini 将其中disable_function=注释掉即可。
8. Zabbix的简单试用
配置和添加host:
更多使用方法介绍,请参考官方使用手册。