Skip to content
survior edited this page Jul 26, 2017 · 18 revisions

下载对应linux os的安装包:

http://www.zabbix.com/download.php

我们的生产环境使用的是3.0.4。

1.zabbix-server端安装:

1.1.安装server:

./configure --prefix=/usr/local/zabbix-3.0.4/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2

prefix:装到对应目录,安装后可将源码删除。 --enable-server --enable-agent:都要有。

1.2.建立zabbix用户和用户组:

为了安全考虑 zabbix 只使用普通用户运行,假如你当前用户叫 ttlsa,那么你运行他,他便使用 ttlsa 身份运行。但是如果你在 root 环境下运行 zabbix,那么 zabbix 将会主动使用 zabbix 用户来运行。但是如果你的系统没有名叫 zabbix 的用户,你需要创建一个用户,如下:

groupadd zabbix

useradd -g zabbix zabbix

useradd: cannot open /etc/passwd 解决方式:chattr -i /etc/passwd

1.3.初始化mysql数据库:

create database zabbix default charset utf8;

mysql -uroot --socket=/data1/mysql/mysql.sock zabbix < database/mysql/schema.sql

如果你仅仅是初始化 proxy 的数据库,那么够了。如果初始化 server,那么接着导入下面两个 sql

mysql -uroot --socket=/data1/mysql/mysql.sock zabbix < database/mysql/images.sql

mysql -uroot --socket=/data1/mysql/mysql.sock zabbix < database/mysql/data.sql

1.4.配置zabbix:

/usr/loca/zabbix-xx/etc/zabbix_server.conf,配置如下类似内容:

LogFile=/data1/logs/zabbix-2.4.7/zabbix_server.log

DBName=zabbix

DBSchema=zabbix

DBUser=root

DBPassword=

DBSocket=/data1/mysql/mysql.sock

DBPort=3306

JavaGateway=127.0.0.1

JavaGatewayPort=10052

StartJavaPollers=5

配置样例文件

修改log位置,zabbix_server.conf: LogFile=/data/logs/zabbix/zabbix_agentd.log

1.5.启动zabbix_server:

/usr/local/zabbix/sbin/zabbix_server

QA:

QA1.cannot create IPC keys for history cache

修改zabbix目录文件的权限,用户组合用户都要有执行权限

QA2.connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket

需要修改mysql目录的other权限可写,因为mysql的owner和zabbix的owner有可能不一样,需要开权限。

2.配置zabbix-web:

从下载包中copy frontends/php到/data/apps下,改名为zabbix,同时将zabbix改为: chmod -R 755 zabbix,chown nginx:nginx -R zabbix 因为php默认使用apache:apace,且static file不走php,直接是nginx去读取,只有动态php文件才是Php-fpm解析后返回给nginx,所以要对权限和拥有者修改。

cp -rp frontends/php /data/apps/zabbix-web

官网下载nginx 最新稳定版:1.8.0

./configure --prefix=/usr/local/nginx-1.8.0/

修改nginx.conf第一行 user nobody 改为 user nginx

user nginx;

yum install php php-fpm

/etc/init.d/php-fpm restart

修改/etc/php-fpm.d/www.conf中的user,group为nginx

进入http://123.162.190.218/setup.php进行配置:

php param validate:

大多数配置都在/etc/php.ini文件中

个别项目说明:

PHP databases support gd my 需要安装 php-gd php-mysql php-bcmath php-mbstring php-xml

修改后需要重启:/etc/rc.d/init.d/php-fpm restart

然而,安装到这,出了个灵异事件:

Check of pre-requisites (也就是第二步),无任何报错的情况下,点击next ,直接返回welcome(第一步)

Configure DB connection(第三步)压根就访问不了!

我也遇到第一步和第二步循环的问题。 我是一台新部署的lnmp环境,部署的时候我改了php进程的执行用户是nginx,但是session的文件目录是root:apache. 我把目录拥有者改为:root:nginx顺利进入第三步。

/var/lib/php下的session权限改为root:nginx

test

curl 'http://localhost:80/test.txt' 加静态文件测试

curl|wget 'http://locahost:80/zabbix'

zabbix-server默认端口是10051.

3.zabbix-agent安装:

./configure --prefix=/usr/local/zabbix-3.0.4/ --enable-agent --with-net-snmp --with-libcurl --with-libxml2

与zabbix-server的安装类似。

修改zabbix_agentd.conf文件中的配置: Hostname=当前机器名 ServerActive=zabbix的server端。

zabbix-agent默认端口是10050.

4.zabbix报警设置:

4.1.邮件设置:

zabbix相关使用命令:

stop zabbix

ps -ef |grep zabbix|grep -v grep |awk '{print $2}' |xargs kill -9

agent start

zabbix_agentd

server start

zabbix_server

QA

QA1.在zabix的主机监控状态列表里,机器显示zabbix不work,提示:

Received empty response from Zabbix Agent at [x.x.x.x]. Assuming that agent dropped connection because of access permissions

agent的版本一定要和服务器版本的是一致的

Clone this wiki locally