1.yum -y update #升级系统组件
2.关闭selinux
vi /etc/selinux/config
#将SELINUX=enforcing改为SELINUX=disabled 设置后需要重启才能生效
临时关闭:setenforce 0
getenforce #检测selinux是否关闭,Disabled 为关闭
[root@localhost ~]# getenforce
Disabled
3.关闭防火墙
[root@localhost ~]# firewall-cmd --state #查看防火墙状态,开启running,关闭not running
running
[root@localhost ~]# systemctl stop firewalld.service #临时关闭firewall
[root@localhost ~]# systemctl disable firewalld.service #禁止firewall开机启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@localhost ~]# firewall-cmd --state
not running
搭建环境
1.安装所有软件仓库
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 #安装完成后检查应用版本
2.编辑httpd
vi /etc/httpd/conf/httpd.conf
ServerName www.zabbixyk.com #修改为主机名
DirectoryIndex index.html index.php # 添加首页支持格式
3.编辑配置php,设置中国时区
vi /etc/php.ini
date.timezone = PRC # 配置时区
4.启动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已启动
或者 netstat -atunp | grep httpd(mysql)查看
5.测试是否搭建成功
vi /var/www/html/index.php #创建一个测试页,并编辑:
<?php
phpinfo()
?>
本地测试:
curl http://127.0.0.1 -I
6.初始化mysql数据库,并设置root用户密码
当然这只是实验,如果是正式环境mysql和zabbix的密码不能一致
mysqladmin -u root password admin.11 #设置数据库root密码
mysql -u root -p #root用户登陆数据库
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
创建zabbix数据库(中文编码格式)
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'lmf1314521';
授予zabbix用户zabbix数据库的所有权限,密码lmf1314521
flush privileges; 刷新权限
quit 退出数据库
vi /var/www/html/index.php #修改测试页内容,测试zabbix用户是否能够登陆数据库
<?php
$link=mysql_connect('192.168.20.190','zabbix','lmf1314521'); #自己主机IP,密码
if($link) echo "<h1>Success!!!</h1>"; #显示success则表示连接数据库成功
else echo "Fail!!!";
mysql_close();
?>
出现上图则PHP连通数据库完成
为了保证zabbix用户登录数据库,若本地无法登录,解决方法如下:
mysql -u root -p #使用root账户登录数据库;
select user,host from mysql.user; #有空用户名称占用导致本地无法登录远程可登录
drop user ''@localhost; #删除空用户
安装zabbix
Download and install Zabbix 4.0 LTS for Red Hat Enterprise Linux 7, MySQL, Apache
1.下载:我选择的是 zabbix 4.0 LTS
(1)官方:https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
(2)清华大学开源软件镜像站获取: https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.0/rhel/8/x86_64/
找到release,右键复制此链接,粘贴后获取zabbix包
2.或者直接安装依赖包+组件
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 -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm #会自动生成yum源文件,保证系统可以上网
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y #安装zabbix组件
cd /usr/share/doc/zabbix-server-mysql-4.0.0
zcat create.sql.gz | mysql -uzabbix -p -h 192.168.95.131 zabbix
#导入数据到数据库zabbix中(最后一个zabbix是数据库zabbix),且因为用户zabbix是%(任意主机),所以登录时需要加上当前主机ip(-h 192.168.95.131),密码是用户zabbix登陆密码admin.11
验证zabbix数据库是否导入成功: mysql -u root -p zabbix -e 'show tables' #出现表格则成功
vim /etc/zabbix/zabbix_server.conf #配置数据库用户名密码
在DBPassword=后面添加密码
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf #确认数据库用户及密码
配置时区,并设置加入开机自启动zabbix-server
vi /etc/httpd/conf.d/zabbix.conf #修改时区
将php_value date.timezone Europe/Riga 变更成 php_value date.timezone Asia/Shanghai
systemctl start zabbix-server #启动zabbix服务
systemctl enable zabbix-server #启动并加入开机自启动zabbix-server
netstat -anpt | grep zabbix #监听在10051端口上,如果没监听成功,可重启服务试试
systemctl restart httpd #重启服务器
Web界面安装zabbix
输入自己主机ip(如图)
点击 Next step,后面必须全部显示OK才行
数据库类型:MYSQL
数据库地址用本机localhost,若单独使用数据库填写ip地址
数据库端口:3306
存放zabbix配置的数据库名称
访问zabbix数据库的用户名
访问zabbix数据库的密码
zabbix服务的主机
zabbix服务的端口号
zabbix的名称,自行定义
默认用户名:Admin
默认密码:zabbix
当显示yes则代表成功
都是英文菜单,如果看不习惯,可以点击右上角 小人物 图标
然后选择中文包,点击下面的 update 即可