记一次zabbix安装部署过程,由于各版本配置的文件系统不同,以及出现许多意外的出错。
一、安装:
安装很简单,直接apt-get安装。
#服务器
apt-get install zabbix-server-mysql
#web
apt-get install zabbix-frontend-php
#客户端
apt-get install zabbix-agent
如果感觉官网源慢可以从阿里下载源
#vi /etc/apt/sources.list.d/zabbix.list
deb https://mirrors.aliyun.com/zabbix/zabbix/4.0/ubuntu/ focal main
deb-src https://mirrors.aliyun.com/zabbix/zabbix/4.0/ubuntu/ focal main
二、配置数据库:
坑1、远程没有grant priviledge权限。
我不是在安装zabbix服务器上,安装mariadb数据库,通过远程登陆mariadb数据库也可以。只是远程登录,没有grant privileges权限。所以建议授权的时候,在mariadb数据库本机登陆操作授权。
shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'password';
mysql> quit;
坑2、导入数据,找不到.sql文件
1 Database creation根据官网的指引,找不到导入数据库的.sql文件,网上各种路径都有,比如/usr/share/doc/zabbix-server-mysql*/create.sql.gz,我安装的是zabbix5.0,就是没有这些文件。最后在/usr/share/zabbix-server-mysql,才找到。包含3个文件,按顺序导入数据即可。
shell> zcat /usr/share/zabbix-server-mysql/schema.sql.gz | mysql -h192.168.1.1 -uzabbix -p zabbix
shell> zcat /usr/share/zabbix-server-mysql/images.sql.gz | mysql -h192.168.1.1 -uzabbix -p zabbix
shell> zcat /usr/share/zabbix-server-mysql/data.sql.gz | mysql -h192.168.1.1 -uzabbix -p zabbix
也可以用source的方式导入,需要gunzip解压文件
shell> mysql -h192.168.1.1 -uroot -p
mysql> source schma.sql
mysql> source images.sql
mysql> source data.sql
三、启动Zabbix Server进程
在zabbix_server.conf中编辑数据库配置
# vi /etc/zabbix/zabbix_server.conf
DBHost=192.168.1.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
启动Zabbix Server进程
shell> systemctl start zabbix-server
坑1、找不到配置文件
Zabbix前端的Apache配置文件位于 /etc/apache2/conf.d/zabbix 或者 /etc/apache2/conf-enabled/zabbix.conf ,在这两个路径找不到配置文件。后来在/etc/apache2/conf-available/zabbix-frontend-php.conf,原来配置并没有放在/etc/apache2/conf-enable文件夹下,所以没有生效。复制过来就行的
shell> cd /etc/apache2/conf-available
shell> cp zabbix-frontend-php.conf /etc/apache2/conf-enabled/zabbix.conf
配置如下:
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 Europe/Riga
# 配置时区
php_value date.timezone Asia/Shanghai
最后启动进程:
shell> systemctl start apache2
shell> systemctl start zabbix-server
四、登录web界面
服务器放通80端口,我使用firewall防火墙,示例如下
shell> firewall-cmd --permanent --add-rich-rull='rule family="ipv4" source address="192.168.1.0/24" port port="80" protocol="tcp" accept'
就可以访问http://192.168.1.1/zabbix,
坑1、没有mysql支持的数据库,一阵抓瞎之后,发现还需要安装php-mysql -y
shell> apt-get install php-mysql -y
按“下一步”配置后,将其保存为 "/etc/zabbix/zabbix.conf.php"