环境准备
项目 | 端口 | 功能 |
---|---|---|
httpd | 80 | 通信传输 |
mariadb | 3306 | server 端配置数据持久化 |
php | - | 页面展示 |
zabbix server | 10051 | 负责接收agent发送的报告信息、组织配置信息、统计信息、操作数据等 |
zabbix agent | 10050 | 负责被监控主机的数据,并将数据发送给zabbix server |
server开启80、3306端口,agent开启10050端口
相关组件安装
yum -y update #升级系统组件到最新的版本
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash
rpm -qa httpd php mariadb #安装完成后检查应用版本
httpd配置
vi /etc/httpd/conf/httpd.conf
ServerName www.zabbix.com #修改首页地址
DirectoryIndex index.html index.php #添加首页支持格式
首页地址的端口号根据实际的httpd配置进行填写,默认80可省略
启动httpd:82端口报错(If you want to allow /usr/sbin/httpd to bind to network port 82,Then you need to modify the port type)解决办法:
semanage port -l|grep http
、semanage port -a -t http_port_t -p tcp 82
这个两个命令一是查看,一个是添加,添加完再查看一遍,如果有81,则成功。另可能要以root用户运行
编辑配置php,配置中国时区
vi /etc/php.ini
date.timezone = PRC #配置时区
启动httpd、mysql
systemctl start httpd #启动并加入开机自启动httpd
systemctl enable httpd
systemctl start mariadb #启动并加入开机自启动mysqld
systemctl enable mariadb
ss -anplt | grep httpd #查看httpd启动情况,80端口监控表示httpd已启动
ss -naplt | grep mysqld #查看mysqld启动情况,3306端口监控表示mysqld已启动
创建一个测试页,测试php能否正常访问
创建一个测试页:vi /var/www/html/index.php
<?php
phpinfo()
?>
本地测试:curl http://127.0.0.1 -I
,如下图则证明成功
初始化mysql数据库,并配置root用户密码
mysqladmin -u root password zabbix #设置数据库root密码
mysql -u root -p #root用户登陆数据库
CREATE DATABASE zabbix character set utf8 collate utf8_bin; #创建zabbix数据库(中文编码格式)
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix'; #授予zabbix用户zabbix数据库的所有权限,密码zabbix
flush privileges; #刷新权限
quit #退出数据库
测试zabbix用户是否能够登陆数据库
修改测试页内容,测试zabbix用户是否能够登陆数据库:vi /var/www/html/index.php
<?php
$link=mysql_connect('172.30.1.23','zabbix','zabbix');
if($link) echo "<h1>Success!!</h1>"; #显示Success表示连接数据库成功
else echo "Fail!!";
mysql_close();
?>
访问php 安装主机地址端口号http://172.30.1.23:82/
如下图则证明成功
为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下:
mysql -u root -p; #使用root账户登录数据库
select user,host from mysql.user;#有空用户名称占用导致本地无法登录远程可登录
drop user ''@localhost; #删除空用户
装Zabbix Server 及依赖包组件
yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*
yum install php-bcmath php-mbstring -y #安装php支持zabbix组件
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm #会自动生成yum源文件,保证系统可以上网
yum -y install zabbix-server-mysql zabbix-web-mysql #安装zabbix组件
初始化zabbix数据库,因为版本更新可能导致路径找不到,需要查看目录进行确认(zabbix-server-mysql-4.0.16),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 172.30.1.23),密码是用户zabbix之前设置登陆密码:zabbix
zcat /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz | mysql -uzabbix -p -h 172.30.1.23 zabbix
配置数据库用户及密码:vi /etc/zabbix/zabbix_server.conf
修改内容如下:grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
vi /etc/httpd/conf.d/zabbix.conf #修改时区
#将
php_value date.timezone Europe/Riga
#变更成
php_value date.timezone Asia/Shanghai
systemctl restart zabbix-server
systemctl enable zabbix-server
netstat -anpt | grep zabbix #监听在10050和10051端口上
web界面配置zabbix
访问页面http://172.30.1.23:82/zabbix