1、zabbix-2.4.6版本源码安装
wget http://sourceforge.net/projects/zabbix/files/ZABBIX\ Latest\ Stable/2.4.6/zabbix-2.4.6.tar.gz
注意连接中的空格需要使用转义字符,不然会报错
2、安装数据库,如果没有数据库的话
yum install mysql -y
3、这里我们需要为zabbix的数据库特地穿件一个普通用户,至少官网是这么说,不要用特权用户
groupadd zabbix
useradd -g zabbix zabbix
4、创建数据库(数据名、用户名和密码都是zabbix,你可以根据自己的意愿编写,赋予用户权限和标记编码)
shell>service mysql start
shell>mysql -uroot -ppassqord
mysql>mysql> create database zabbix character set utf8; 创建数据库
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; 赋予zabbix用户权限,设置数据库密码
mysql>\q
shell>
5、定义zabbix所要用到的数据表结构和数据
cd /zabbix-2.4.6/database/mysql/
# mysql -uzabbix -pzabbix zabbix < schema.sql
# mysql -uzabbix -pzabbix zabbix < images.sql
# mysql -uzabbix -pzabbix zabbix < data.sql
数据库 用户名 密码 主句哭名 导入的数据
6、编译,安装
./configure --prefix=/usr/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl
make && make install
--prefix指定zabbix安装目录,--enable-server 支持zabbix服务器,--enable-agent支持zabbix代理,--enable-proxy 支持zabbix代理服务器,--with-mysql 使用MySQL客户端库可以选择指定路径mysql_config,--with-net-snmp 使用net - snmp软件包,择性地指定路径NET - SNMP配置,--with-libcurl 使用curl包。
7、安装php
yum install php*
上面的如果你想要完全体验一下源码安装的过程的话,可以根据官网上的需求的安装包,一个个源码包下下来编译安装
8、添加服务端口
vim /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
eof
正常的话一般在都包含这几项,没有 的话,手动添加把
9、修改zabbix 主配置文件
默认make install 之后在/usr/zabbix下会出现一堆文件,/etc /bin 等
vim /etc/usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log ##日志位置,根据需求修改;
PidFile=/tmp/zabbix_server.pid ##PID 所在位置
DBHost=localhost ##如果不是在本机,请修改
DBName=zabbix ##数据库名称
DBUser=zabbix ##数据库用户名
DBPassword=zabbix ##数据库密码
DBSocket=/var/lib/mysql/mysql.sock #数据库的连接文件 ,注意路径,最好自己find一下在填写,想我开始直接默认的路径结果报错server一直起不来
10、zabbix_server ,启动脚本编写
server启动脚本的位置放置
cp zabbix-2.4.6/misc/init.d/fedora/core/zabbix_server /etc/init.d
如果是做本机的测试,建议也把agentd也复制过去,对于linux版本(fedora)的选择根据自己的实际的linux版本选
chmod +x /etc/init.d/zabbix_server
vim /etc/init.d/zabbix_server
BASEDIR=/usr/zabbix ##修改这个,zabbix 的安装目录
CONFILE=$BASEDIR/etc/zabbix_server.conf ##添加这一行,定义配置文件位置
#搜索start,修改启动选项,默认是去/etc 下去找配置文件的
action $"Starting $BINARY_NAME: " $FULLPATH -c $CONFILE
zabbix_agentd中添加:
BASEDIR=/usr/zabbix
测试服务能否正常开启
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
netstat -anp | grep zabbix #查看服务是否起来了
11、PHP,zabbix的前端
cd cd zabbix-2.4.6/frontends/php/
cp -a . /var/www/html/zabbix/ #这是apache的配置文件的路径,不同的系统(版本)可能会有不同
chown -R apache:apache /var/www/html/zabbix
12、php连接数据库设置
cd /var/www/html/zabbix/conf
cp zabbix.conf.php.example zabbix.conf.php
vim zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB["TYPE"] = 'MYSQL';
$DB["SERVER"] = 'localhost';
$DB["PORT"] = '3306';
$DB["DATABASE"] = 'zabbix';
$DB["USER"] = 'zabbix';
$DB["PASSWORD"] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB["SCHEMA"] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>
粗笔标出来的一般是必需更改的,其他的是自己情况而定
13、到这里zabbix的源码安装基本就完了,当然了后面的完善才刚开始
service zaabix_server restart
service zabbix_agentd restart
service httpd restart
service mysqld restart
打开浏览器,http://zabbix_server_IP/zabbix
Admin/zabbix
我的几个出错的位置,希望能帮到你,欢迎小伙伴提意见
1、configure: error: Not found curl Library
yum install libcur* -y
若./configure出现错误configure: error:Invalid NET-SNMP directory - unable to find net-snmp-config,
可以通过yum install net-snmp-devel来解决。
2、关于开启zabbix服务的时候不报错,但是查询服务时候开启的时候却查不到
vim /tmp/zabbix_server.log
connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
我们首先检查我们定义的sock的路径是否正确,find查询是否真的在这个路径下