编译安装zabbix3.4,官方有教程,但是遇到一些报错:
总结下来,需要安装这些环境:
更新系统: apt update apt upgrade 先装这些: apt-get install libmysqld-dev apt-get install libperl-dev apt-get install libcurl4-openssl-dev 编译安装 pcre库 tar -zxf pcre-8.00.tar.gz cd pcre-8.00 ./configure --prefix=/opt/pcre 编译安装 libevent-devel tar -zxf libevent-2.1.8-stable.tar.gz cd libevent-2.1.8-stable ./configure make make install Libraries have been installed in:/usr/local/lib 检测是否安装成功:ls -al /usr/local/lib | grep libevent 编译安装 net-snmp-devel tar -zxf net-snmp-5.6.2.1.tar.gz cd net-snmp-5.6.2.1 ./configure --with-default-snmp-version="3" --with-sys-contact="@@no.where" --with-sys-location="Unknown" --with-logfile="/var/log/snmpd.log" --with-persistent-directory="/var/net-snmp" #关于配置参数说明: prefix:安装路径 with-default-snmp-version(3): 3(在这里版本通常有三种形式:1,2c,3) with-sys-contact(配置该设备的联系信息): heaven(也可以是邮箱地址) with-sys-location(该系统设备的地理位置):BEIJING P.R China Location to write logfile (日志文件位置): /var/log/snmpd.log Location to Write persistent(数据存储目录): /var/net-snmp #检验是否安装成功: root@ubuntu:/app/net-snmp-5.6.2.1# apt install snmp root@ubuntu:/app/net-snmp-5.6.2.1# snmpget --version NET-SNMP version: 5.6.2.1
Zabbix编译安装和Web前面配置
1、zabbix编译安装的依赖包,若报错先 apt update 一下,有的也可能是已存在的。
#安装编译套件
sudo apt-get install build-essential
#安装php前端需要的包
sudo apt-get install libmysqlclient15-dev php5-gd php5-mysql
#安装zabbix需要的包,snmp\curl\ssl\fping
sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
#安装具有MySQL支持的Zabbix Server和PHP前端。 执行命令:
apt-get install zabbix-server-mysql
apt-get install zabbix-frontend-php
#安装Zabbix agent:
apt-get install zabbix-agent
2、创建zabbix用户和zabbix组
groupadd zabbix
useradd -g zabbix zabbix
3、下载zabbix源码包,并解压
4、为Zabbix配置MySQL,我们需要创建一个新的MySQL数据库,Zabbix将存储收集的数据。
1、创建zabbix的库和账户
方法一:远程到mysql创建(会报错)
mysql -uroot -p -e"create database zabbix;"
mysql -uroot -p -e"grant all privileges on zabbix.* to zabbix@localhost identified by '111111';"
方法二:到mysql命令下创建(推荐这种方式)
mysql -uroot -p ?
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin; (创建一个zabbix库)
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '111111'; (创建zabbix用户)
(会报错密码不符合规则,需要改密码规则的设置?逐个复制走一遍)
##创建账户会报错密码简单,需要以下设置,使我们可以设置一个简单的密码:
mysql> set global validate_password_policy=0;
mysql> select @@validate_password_length; (有个密码模板显示8)
mysql> set global validate_password_length=1;
mysql> select @@validate_password_length; (密码模板显示4)
mysql> select @@validate_password_mixed_case_count; (有个模块显示1)
mysql> set global validate_password_mixed_case_count=2;
mysql> select @@validate_password_mixed_case_count; (有个模块显示2)
mysql> select @@validate_password_length; (有个模块显示6)
mysql> SHOW VARIABLES LIKE 'validate_password%';
之后就能创建一个简单的mysql账户密码:
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '111111';
再给zabbix账户授权:
GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@"%" IDENTIFIED BY "111111";
FLUSH PRIVILEGES;
2、到zabbix源码解压包目录下/app/zabbix-3.4.12/database/mysql,把三个sql文件导入到mysql的zabbix库里。
mysql -D zabbix -uzabbix -p111111 zabbix< schema.sql
mysql -D zabbix -uzabbix -p111111 zabbix< images.sql
mysql -D zabbix -uzabbix -p111111 zabbix< data.sql
若只是有警报 warning,不要理会。其实在导入了。
5、zabbix编译安装
cd /app/zabbix-3.4.12
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl
make
make install
#--with-net-snmp是启用SNMP协议
#--with-libcurl是监控web网站用的
#--enable-server只可在服务端上使用
#其它还有IPMI等,参阅./configure --help
ps:若报错 configure: error: MySQL library not found 缺libmysqlclient15-dev
终于成功,截图留念!
make
make install。
7、修改配置文件
1、配置下/opt/php/lib/php.ini
;date.timezone ===>去掉注释在=后添加 Asia/Shanghai
max_input_time =600
max_execution_time= 600
post_max_size =32M
sudo /etc/init.d/apache2 restart
2、配置sudo vim /et/zabbix/zabbix_server.conf
DBUser DBPassword这两个关键字,替换为前面mysqlDB中设置的用户和密码
搜索该文件的DBPassword部分:
### Option: DBPassword
# Database password. Ignored for SQLite.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=
取消注释DBPassword =这行并通过添加在MySQL中创建的密码进行编辑:
DBPassword=usr_strong_pwd
接下来,查找DBHost =行并取消注释。
保存并退出。
8、配置PHP:
我们需要配置PHP来使用Zabbix。 在安装过程中,安装程序在/etc/zabbix中创建了一个名为apache.conf的配置文件。 打开此文件:
# $EDITOR /etc/zabbix/apache.conf
在这里,现在只需要取消注释date.timezone设置并设置正确的时区:
<IfModule mod_php7.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
</IfModule>
保存并退出。
启动服务并让他们开机启动
systemctl start snmpd
systemctl enable snmpd
systemctl enable snmptrapd
systemctl start snmptrapd
systemctl enable zabbix-server
systemctl start zabbix-server
systemctl start zabbix-agent
systemctl enable zabbix-agent
总结:编译安装真心折腾人,很多报错,效果不见得多好,推荐下面的用dpkg安装法!
ubuntu16.04 用dpkg 安装zabbix3.4
转自:http://blog.51cto.com/viphyy/2105920
部署Zabbix需要LAMP环境(Linux、Apache、MySQL、PHP),所以首先要安装Apache(当然,nginx也可以)、MySQL和PHP。在Ubuntu 16.04下只有php7.0而没有php5
1
2
3
4
5
6
|
#安装apahce2
sudo
apt-get
install
apache2
#安装mysql
sudo
apt-get
install
mysql-server
#安装php
sudo
apt-get
install
php7.0 php7.0-gd libapache2-mod-php7.0 php7.0-mysql php7.0-bcmath php7.0-mbstring php7.0-xml
|
以上完成了基本环境的安装,接下来安装zabbix
1
2
|
#获取3.4zabbix安装包
wget http:
//repo
.zabbix.com
/zabbix/3
.4
/ubuntu/pool/main/z/zabbix-release/zabbix-release_3
.4-1+xenial_all.deb
|
1
2
3
4
5
6
7
8
|
#使用dpkg安装3.4deb包
dpkg -i zabbix-release_3.4-1+xenial_all.deb
#更新apt
apt update
#安装zabbix web程序
apt
install
zabbix-server-mysql zabbix-frontend-php zabbix-agent
#拷贝web程序到apache2
sudo
cp
-r
/usr/share/zabbix
/var/www/html/zabbix
|
建立zabbix的库表,并导入数据
1
2
3
4
5
|
mysql -uroot -p
password
mysql> create database zabbix character
set
utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by
'password'
;
mysql> quit;
|
导入表结构和数据,官网的/usr/share/doc/zabbix-server-mysql*/create.sql.gz和这个都试一下。我的是官网的目录。
1
|
zcat
/usr/share/zabbix-server-mysql
*
/create
.sql.gz | mysql -uzabbix -p zabbix
|
之后还要修改zabbix_server.conf文件
1
|
sudo
nano
/etc/zabbix/zabbix_server
.conf
|
配置参考如下,主要是修改密码
1
2
3
4
|
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix12345
|
完成以上配置后,重启zabbix-server
1
|
sudo
/etc/init
.d
/zabbix-server
restart
|
把zabbix 加入开机启动
1
2
|
systemctl restart zabbix-server zabbix-agent apache2
systemctl
enable
zabbix-server zabbix-agent apache2
|