新申请了一台测试机CentOS8系统,想试试最新的zabbix5 beta。zabbix官网提供了dnf/yum管理的自动安装方式,总体来说很方便的,就是有几个问题,首先就是zabbix官方源经常连不上,还是换阿里源吧:
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
如果之前已经安装了官方源先rpm -e卸载一下。装好阿里源的rpm包后去/etc/yum.repos.d/zabbix.repo看一下里面还是官方源的路径,这时候用dnf安装还是会从官方源下载。需要手工改一下repo文件:
sed -i "s@zabbix/.*/rhel@zabbix/5.0/rhel@g" /etc/yum.repos.d/zabbix.repo
sed -i 's@repo.zabbix.com@mirrors.aliyun.com/zabbix@g' /etc/yum.repos.d/zabbix.repo
这样就会从阿里源安装了,速度贼快。按照官方文档安装并导入数据库:
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-agent
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
然后是配置:
vi /etc/zabbix/zabbix_server.conf
DBPassword=password
vi /etc/nginx/conf.d/zabbix.conf
listen 8000;
server_name xxxxx.com;
系统时区我是直接在etc/php.ini里改全局的,zabbix里面就不需要改了:
php_value[date.timezone] = Asia/Shanghai
然后启动和自启服务
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server zabbix-agent nginx php-fpm
最后进入网页上的配置。问题来了,到配置数据库连接时候提示数据库连接不上。排错时先检查下selinux,如果连接的数据库不在本机的话查看下对方防火墙,我这里数据库就在本地。于是去改下配置:
vi /var/lib/pgsql/12/data/pg_hba.conf
# "local" is for Unix domain socket connections only
local all all md5
把本地连接的认证方式改成了密码输入。然后在命令行下测试一下连接:
psql --username=zabbix --port=5432 --host=localhost -d zabbix
输入密码,能顺利登录。但是网页上还是连不上。这时回到vi /etc/zabbix/zabbix_server.conf 看到里面有这么一段:
### Option: DBHost
# Database host name.
# If set to localhost, socket is used for MySQL.
# If set to empty string, socket is used for PostgreSQL.
#
既然数据库在本地就直接用socket方式连接好了。MySQL把DBHost配成localhost时就是以socket方式连接的,而PostgreSQL不一样,要把这个字段留空才会以socket方式连接。
于是配置成
DBHost=
同时在网页上的配置里也把host留空,连接通过了。之后就正常进入到主界面了,看了一下5.0的UI也没啥大变化嘛,就把菜单移了个位置: