Zabbix(三)安装zabbix4.0 server、proxy、agent
一、系统环境
3台linux机器(centos7)
zabbix sever 10.10.8.131
zabbix proxy 10.10.8.132
zabbix agent 10.10.8.133
关闭防火墙
systemctl disable firewalld
systemctl stop firewalld
关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
二、安装zabbix组件
1、添加zabbix软件仓库
RHEL7:
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
2、前端安装的先决条件
Zabbix 前端需要额外的基础安装包。 您需要在运行 Zabbix 前端的系统中启用可选 rpms 的软件仓库:
RHEL 7:
安装yum-utils
yum -y install yum-utils
# yum-config-manager --enable rhel-7-server-optional-rpms
安装提示:
Loaded plugins: fastestmirror
可以忽略,或者修改/etc/yum.conf,plugins=1//改为0,不使用插件
3、安装 SERVER/PROXY/前端
3.1安装 Zabbix server(适用于 RHEL7,在 RHEL 6 上弃用)并使用 MySQL 数据库:
# yum install zabbix-server-mysql
3.2安装 Zabbix proxy 并使用 MySQL 数据库:
# yum install zabbix-proxy-mysql
3.3安装 Zabbix 前端(适用于 RHEL 7,在 RHEL 6 上弃用)并使用 MySQL 数据库:
# yum install zabbix-web-mysql
3.4 Server/Proxy安装数据库(mariadb)
# yum -y install mariadb-server
启动 # systemctl start mariadb
开机启动项systemctl enable mariadb
4、创建数据库
对于 Zabbix server 和 proxy 守护进程而言,数据库是必须的。而运行 Zabbix agent 是不需要的。
Warning: 如果 Zabbix server 和 Zabbix proxy 安装在相同的主机,它们必须创建不同名字的数据库!
MYSQL
shell> 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;
5、导入数据
使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据,
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
系统将提示您输入新创建的数据库密码。
使用 PostgreSQL:
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u <username> psql zabbix
对于 Zabbix proxy,导入初始的数据库 schema:
# zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p zabbix
对于使用 PostgreSQL(或 SQLite)的 Zabbix proxy:
# zcat /usr/share/doc/zabbix-proxy-pgsql*/schema.sql.gz | sudo -u <username> psql zabbix
# zcat /usr/share/doc/zabbix-proxy-sqlite3*/schema.sql.gz | sqlite3 zabbix.db
验证:
#mysql -u zabbix -p
use zabbix;
show tables;
144 rows in set (0.01 sec)
exit
6、为 ZABBIX SERVER/PROXY 配置数据库
编辑 zabbix_server.conf 或 zabbix_proxy.conf 文件以使用已创建的数据库。例如:
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
在 DBPassword 参数中输入由 MySQL 或 PosgreSQL 创建的 Zabbix 数据库密码。
在 PostgreSQL 使用 DBHost=。 您可能希望保留默认设置 DBHost=localhost(或 IP 地址),但这会使 PostgreSQL 使用网络套接字连接到 Zabbix。 有关说明,详见下面的SELinux 配置。
7、启动 ZABBIX SERVER 进程
运行以下命令以启动 Zabbix server 进程:
# systemctl start zabbix-server
并在系统启动时让它自启:
# systemctl enable zabbix-server
RHEL 7 之前的版本:
# chkconfig --level 12345 zabbix-server on
使用 'zabbix-proxy' 替换命令中的 'zabbix-server' 以启动和自启 Zabbix proxy。
8、ZABBIX 前端配置
对于 RHEL 7 和更高版本,Zabbix 前端的 Apache 配置文件位于 /etc/httpd/conf.d/zabbix.conf。
如果使用 RHEL 6,详见 在 RHEL 6 上使用Zabbix前端 章节来了解如何配置前端。
虽然已经配置了一些 PHP 参数。但是有必要取消 “date.timezone” 注释,并为其 设置正确的时区 。
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
以此 前端安装步骤 来完成 Zabbix 前端的安装,并访问新安装的 Zabbix 前端页面。
重启httpd
systemctl restart httpd
systemctl enable httpd
9、SELINUX 配置(系统启用selinux情况下,一般会关闭selinux)
在 enforcing 模式下启用 SELinux 状态后,您需要执行以下命令以启用 Zabbix 前端和 Zabbix server 之间的通信:
RHEL 7 或更高版本:
# setsebool -P httpd_can_connect_zabbix on
如果数据库可以通过网络访问(在 PostgreSQL 情况下包括 'localhost'),您也需要允许 Zabbix 前端连接到数据库:
# setsebool -P httpd_can_network_connect_db on
RHEL 7 之前的版本:
# setsebool -P httpd_can_network_connect on
# setsebool -P zabbix_can_network on
待前端和 SELinux 配置完成后,需要重新启动 Apache web 服务器:
# service httpd restart
10、安装 AGENT
运行以下命令以安装 Zabbix agent :
# yum install zabbix-agent
运行以下命令以启动 Zabbix agent:
# systemctl start zabbix-agent
# systemctl enable zabbix-agent
安装碰到的问题
安装zabbix agent时无法安装成功
修改dns
vim /etc/reslove.conf
servername 8.8.8.8
重启网络
systemctl restart network