zabbix3.4.2的安装及配置是建立在lnmp环境搭建的基础上的,如果对lnmp环境有疑问请移步至: https://blog.youkuaiyun.com/kwame211/article/details/80008309
一、下载编译安装
1.1下载源码包
wget -O zabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz/download
- 1
顺便插一句,rpm(3.4.1)包的地址:
wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
- 1
顺带着也安装一下zabbix-get
wget http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-get-3.4.4-2.el6.x86_64.rpm
yum install -y zabbix-get-3.4.4-2.el6.x86_64.rpm
- 1
- 2
我们这里选择源码的方式。
1.2创建zabbix用户:
#groupadd zabbix
#useradd -g zabbix zabbix -s /sbin/nologin
- 1
- 2
1.3解压:
#tar zxvf zabbix-3.4.2.tar.gz -C /usr/local/
- 1
1.4进入数据库并导入zabbix数据表结构:
mysql -u root -p
- 1
创建mysql库
mysql>CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- 1
给zabbix用户授权,密码是123456:
grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
- 1
导入zabbix数据表结构
mysql> use zabbix;
mysql> source /usr/local/zabbix-3.4.2/database/mysql/schema.sql;
mysql> source /usr/local/zabbix-3.4.2/database/mysql/data.sql;
mysql> source /usr/local/zabbix-3.4.2/database/mysql/images.sql;
mysql> quit
- 1
- 2
- 3
- 4
- 5
1.5、编译安装zabbix
#yum install -y net-snmp net-snmp-devel curl curl-devel mysql-devel libevent-devel pcre-devel
- 1
(依赖包情况可能不一样,按照编译的时候报错解决即可)
#cd /usr/local/zabbix-3.4.2/
#./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
- 1
- 2
如果出现报错,安装报错提示的依赖包,再次运行上面的编译命令,直到没有报错(如下面截图):
然后运行:
# make && make install
- 1
1.6 zabbix相关配置
创建日志目录
#mkdir /usr/local/zabbix/logs
- 1
编辑zabbix_agentd配置文件
#cd /usr/local/zabbix/etc/
#mv zabbix_agentd.conf zabbix_agentd.conf.bak
#vim zabbix_agentd.conf
LogFile=/usr/local/zabbix/logs/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
- 1
- 2
- 3
- 4
- 5
- 6
- 7
编辑zabbix_server配置文件
#mv zabbix_server.conf zabbix_server.conf.bak
#vim zabbix_server.conf
LogFile=/usr/local/zabbix/logs/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBHost=localhost
DBPassword=123456 #(zabbix用户的密码)
AlertScriptsPath=/usr/local/zabbix/alertscripts
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
创建自定义脚本目录,设置权限,目录下的脚步,可以被zabbix调用
#mkdir /usr/local/zabbix/alertscripts
#chown zabbix.zabbix -R /usr/local/zabbix
- 1
- 2
更改php.ini文件
#sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /usr/local/php/etc/php.ini
#sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php/etc/php.ini
#sed -i 's/;date.timezone =/date.timezone =PRC/' /usr/local/php/etc/php.ini
#sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /usr/local/php/etc/php.ini
#sed -i 's/max_input_time = 60/max_input_time = 600/g' /usr/local/php/etc/php.ini
#sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /usr/local/php/etc/php.ini
- 1
- 2
- 3
- 4
- 5
- 6
#vim /usr/local/php/etc/php.ini
cgi.fix_pathinfo=1
- 1
- 2
重启php-fpm
#/etc/init.d/php-fpm restart
- 1
进入源码目录,复制启动脚本
#cd /usr/local/zabbix-3.4.2/misc/
#cp init.d/tru64/zabbix_server /etc/init.d/
#cp init.d/tru64/zabbix_agentd /etc/init.d/
#chmod +x /etc/init.d/zabbix_*
- 1
- 2
- 3
- 4
#vim /etc/init.d/zabbix_agentd
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
- 1
- 2
vim /etc/init.d/zabbix_server
DAEMON=/usr/local/zabbix/sbin/zabbix_server
- 1
- 2
由于zabbix_server 服务不支持 chkconfig,使用下列方法自启动
vim /etc/init.d/zabbix_server
在#!/bin/sh下面一行添加
#chkconfig: 345 95 95 ##这里再配置文件里面行首“#”表示注释
#description: Zabbix_Server ##这里再配置文件里面行首“#”表示注释
- 1
- 2
vim /etc/init.d/zabbix_agentd
在#!/bin/sh下面一行添加
#chkconfig: 345 95 95 ##这里是在配置文件里面行首“#”表示注释,
#description: Zabbix_agentd ##这里再配置问价里面行首“#”表示注释
- 1
- 2
设置开机自启:
#chkconfig zabbix_server on
#chkconfig zabbix_agentd on
- 1
- 2
vim /etc/ld.so.conf
在后面加一行:/usr/local/mysql/lib/
重新加载:
#ldconfig
- 1
#/etc/init.d/zabbix_server start
#/etc/init.d/zabbix_agentd start
#netstat -ntpl|grep zabbix
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 21188/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 21140/zabbix_server
- 1
- 2
- 3
- 4
- 5
必须要看到10050和10051端口都起来
复制php页面,并设置权限
#cp -rf /usr/local/zabbix-3.4.2/frontends/php/ /usr/local/zabbix/php
#chown www.www -R /usr/local/zabbix/php/
- 1
- 2
编辑nginx配置文件
vim /etc/nginx/conf.d/default.conf
# cat /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost;
root /usr/local/zabbix/php;
index index.php index.html index.htm;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
break;
}
}
location ~ \.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name
;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
重新加载nginx
/etc/init.d/nginx restart
- 1
编辑php配置文件,开启中文
#vim /usr/local/zabbix/php/include/locales.inc.php
'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],
#/etc/init.d/php-fpm restart
- 1
- 2
- 3
到网页访问,开始安装:(访问之前检查下防火墙,selinux)
这里就有问题了,报了一个小错。解决办法:
#ln -s /var/lib/mysql/mysql.sock /tmp/
#vim /usr/local/php/etc/php.ini
Mysql.default_socket = /var/lib/mysql/mysql.sock
- 1
- 2
- 3
#/etc/init.d/php-fpm restart
- 1
在退回一步,然后再接着下一步就可以了
这就安装成功了!
如果想将语言调成中文也可以:
至此就大功告成了!
附一些可能出现的错误以后慢慢补充:
解决办法:
打开/usr/local/php/etc/php.ini文件把always_populate_raw_post_data = -1这一行注释打开,
保存重启php-fpm
- 1
- 2
后续会继续补充其他可能报错