如果是server和mysql在同一台服务器上,照着官网教程没啥问题。
如果是server和mysql分离,就需要一点小小的修改了。
这里我是在AWS上安装的zabbix,数据库用的亚马逊的RDS服务。

安装zabbix-server

选择zabbix server的平台

默认选择的zabbix版本是3.4
系统发行版是Centos 7
数据库是MySQL

安装zabbix-server

  1. 安装zabbix的软件源

    1
    # rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
  2. 安装zabbix server、web前端、agent

    1
    # yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
  3. 初始化数据库

    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 [email protected] identified by 'password';
    mysql> quit;

导入数据和结构,回车后会提示你输入刚刚新创建的密码

1
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

  1. 配置Zabbix server的数据库

编辑 /etc/zabbix/zabbix_server.conf

1
DBPassword=password

  1. 配置Zabbix 前端的php

编辑/etc/httpd/conf.d/zabbix.conf, 去掉注释并设置你的时区.

1
# php_value date.timezone Asia/shanghai

  1. 开启zabbix server和agent进程

开启zabbix server和agent进程,并设置开机自动启动:

1
2
# systemctl restart zabbix-server zabbix-agent httpd
# systemctl enable zabbix-server zabbix-agent httpd

此时,zabbix server就启动了。

访问zabbix的web前端:
http://server_ip_or_name/zabbix
跟着描述的步骤即可。

server和mysql分离

修改DB配置文件

编辑 /etc/zabbix/zabbix_server.conf

1
DBHost=other_mysql_ip

默认DBhost是注释掉了,取消注释并修改为你的mysql地址。

重启zabbix-server

1
# systemctl restart zabbix-server

几个坑

DBhost默认是注释状态

document中肯定有,但是我觉得首页的简要教程应该在DBpass提到DBhost

SELINUX导致server无法启动

如果setup页面连接mysql数据库,出现error code 为 13,那么就是SELINUX的问题
关闭SELINUX,如果没关,zabbix-server启动不了,没权限绑定套接字的,日志如下:

1
25485:20180704:050722.028 cannot start preprocessing service: Cannot bind socket to "/var/run/zabbix/zabbix_server_preprocessing.sock": [13] Permission denied.

解决方法:

  1. 临时关闭SELINUX(无需重启)

    1
    setenforce 0
  2. 永久关闭SELINUX(需重启)
    vim /etc/selinux/config

    1
    将SELINUX=enforcing改为SELINUX=disabled

setup.php导致二次安装

偶然发现,在web前端上安装完成后,zabbix不会删除刚刚安装的网页(http://server_ip_or_name/zabbix/setup.php) ,即可以进行”二次安装”,这是十分危险的。
参考下wordpresstypecho

将setup.php删除或者设置不可访问或者移动(改名)到其他位置

1
rm /usr/share/zabbix/setup.php

更多信息可以参考官方文档.

安装完成

默认账号:Admin
默认密码:zabbix

登录上去要做的事:

  1. 改密码
    在菜单栏的Administration - Users
    点Admin,Password右边有个change password,改一个高强度的密码
    顺便把语言改了,这个看个人情况,Language。

  2. 禁用guest账号
    guest账号,密码为空即可登录,有安全隐患
    Administration - User groups - Guests
    点击Disabled

  3. 服务器上删除setup.php

    1
    rm /usr/share/zabbix/setup.php