在公网IP为x.x.x.x,安装CentOS8(Alibaba Cloud Linux 3.2104 LTS 64位)系统的服务器上进行zabbix-server安装。
在公网IP为y.y.y.y,安装CentOS8(Alibaba Cloud Linux 3.2104 LTS 64位)系统的服务器上进行zabbix-agent安装。
mariadb-10.5+httpd-2.4安装在公网IP为x.x.x.x的服务器上。yum安装的软件版本:mariadb-10.5+httpd-2.4+zabbix-5.0。
httpd安装
第一步,安装httpd并开启httpd服务。(Web中间件模块)
命令:yum -y install httpd
systemctl start httpd
systemctl enable httpd
# 查看apache服务状态是否为“Active: active (running)”
systemctl status httpd
systemctl stop httpd
systemctl restart httpd
第二步,启动后需要关闭服务器防火墙。
命令:systemctl stop firewalld
第三步,测试httpd服务是否安装成功。
浏览器访问: PHP 7.4.6 - phpinfo(),若页面显示“Welcome to HTTP Server Test Page!”,则说明httpd服务安装成功。
MariaDB配置
linux系统版本:CentOS8 64位
安装源文件版本:mariadb-10.5
第一步,安装前,检测系统是否自带安装MySQL。
命令:rpm -qa | grep mysql
若结果显示类似“mysql-libs-5.1.52-1.el6_0.1.x86_64”,则可以选择进行卸载。
# 普通删除模式
rpm -e mysql-libs-5.1.52-1.el6_0.1.x86_64
# 如果使用普通删除模式命令删除时,提示有依赖的其它文件,则用强力删除模式命令对其进行强力删除
rpm -e --nodeps mysql-libs-5.1.52-1.el6_0.1.x86_64
第二步,检查否存在mariadb数据库。
命令:rpm -qa | grep mariadb
若结果显示类似“mariadb-libs-5.5.56-2.el7.x86_64”,则可以选择进行卸载。
命令:rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
MariaDB安装和初始化
第一步,安装MariaDB。
命令:sudo yum install mariadb-server mariadb
第二步,启动数据库并设置为开机自启动。
命令:sudo systemctl start mariadb
sudo systemctl enable mariadb
第三步,初始化数据库根管理员账号root。
命令:mysqladmin -u root password "123456"
第四步,测试登录数据库。
命令:mysql -u root -p123456
若结果显示“MariaDB [(none)]> ”,则说明数据库登录成功了。
第五步,数据库安装设置,重置数据库root账号密码,执行该命令前必须开启mysql服务。
命令:mysql_secure_installation
若结果显示“Enter current password for root (enter for none):”,
则输入当前root账号密码,刚安装默认为空,直接回车即可。
“Set root password? [Y/n]”,输入y回车。
“New password:”,输入密码。
“Re-enter new password:”,重复输入密码。
“Remove anonymous users? [Y/n]”,输入y回车。
“Disallow root login remotely? [Y/n]”,输入y回车。
“Remove test database and access to it? [Y/n]”,输入y回车。
“Reload privilege tables now? [Y/n]”,输入y回车。
第六步,登陆测试,执行登录命令并输入密码。
命令:mysql -uroot -p
输入登录密码“123456”,进入MariaDB shell状态。
Zabbix服务器端安装
第一步,登录网址:Download and install Zabbix,按照下图的示意以及官方的安装步骤进行软件安装。
第二步,安装Zabbix仓库(Install Zabbix repository)。
# 若存在旧版残留需提前卸载
命令:rpm -qa | grep zabbix
若结果显示类似“zabbix-release-4.4-1.el8.noarch”,则可以选择进行卸载。
# 普通删除模式
rpm -e zabbix-release-4.4-1.el8.noarch
# 如果使用普通删除模式命令删除时,提示有依赖的其它文件,则用强力删除模式命令对其进行强力删除
rpm -e --nodeps zabbix-release-4.4-1.el8.noarch
# 安装zabbix的rpm
命令:rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# 重建缓存
命令:yum clean all && yum makecache
第三步,安装Zabbix服务端、前端服务和代理端(Install Zabbix server, frontend, agent)。
命令:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
第四步,创建和配置Zabbix数据库。
命令:mysql -uroot -p123456
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> create user zabbix@localhost identified by 'zabbix123';
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit;
第五步,导入Zabbix数据库结构。
命令:zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix
注意:最后的zabbix千万不要删掉。
输入密码“zabbix123”。
第六步,设置Zabbix配置文件参数。
编辑/etc/zabbix/zabbix_server.conf文件,把
“DBHost=localhost”前面的注释符号去掉,
“# DBPassword=password”修改为“DBPassword=zabbix123”。
第七步,设置并启用Web中间件模块。
编辑/etc/php-fpm.d/zabbix.conf文件,把
"; php_value[date.timezone] = Europe/Riga" 改为
"php_value[date.timezone] = Asia/Shanghai" 。
注意:去掉 ";" 表示取消注释该行代码。
第八步,关闭selinux和防火墙。
命令:sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld
systemctl disable --now firewalld
第九步,启动Zabbix相关服务,并设置为开启自启动。
命令:systemctl start zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
第十步,设置防火墙端口,允许"80"、"10051"、"10050"端口(Zabbix 默认端口)访问服务器。
命令:systemctl start firewalld
firewall-cmd --zone=public --add-port=10051/tcp --permanent
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
systemctl stop firewalld
第十一步,重启服务器。
命令:init 6
Zabbix服务器端配置
第一步,访问http://x.x.x.x/zabbix/setup.php。
在浏览器访问http://x.x.x.x/zabbix/setup.php即进入zabbix网页安装模式。
然后点击“Next step”,输入设置好的数据库密码“zabbix123”。
“Zabbix server name”填写“webserver”。
一直点击“finish”,等出现登录界面就可以了。
进入登陆界面,初始登录账号是“Admin”(注意A大写),初始登录密码是“zabbix”。
通过命令:mysql -uroot -pzabbix123 -e "select * from zabbix.users\G"查看具体情况。
Zabbix的登录界面网址:http://x.x.x.x/zabbix/
设置中文:点击左下角的“user settings”,选择“zh_CN”即可。
Zabbix客户端安装和配置(安装方式与服务端相同)
第一步,登录网址:Download and install Zabbix,按照下图的示意以及官方的安装步骤进行软件安装。
第二步,安装Zabbix仓库。
# 若存在旧版残留需提前卸载
命令:rpm -qa | grep zabbix
若结果显示类似“zabbix-release-4.4-1.el8.noarch”,则可以选择进行卸载。
# 普通删除模式
rpm -e zabbix-release-4.4-1.el8.noarch
# 如果使用普通删除模式命令删除时,提示有依赖的其它文件,则用强力删除模式命令对其进行强力删除
rpm -e --nodeps zabbix-release-4.4-1.el8.noarch
# 安装zabbix的rpm
命令:rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# 重建缓存
命令:yum clean all && yum makecache
第三步,安装Zabbix代理端。
命令:yum -y install zabbix-agent
第四步,设置Zabbix配置文件参数。
编辑/etc/zabbix/zabbix_agentd.conf文件,得到下面的代码:
# 日志文件路径
LogFile=/var/log/zabbix/zabbix_agentd.log
# 运行时文件路径
PidFile=/var/run/zabbix/zabbix_agentd.pid
# Zabbix服务器端IP地址
Server=x.x.x.x
# Zabbix主动检查本机数据接收服务器IP地址
ServerActive=127.0.0.1
# 客户端主机名称(也可以写IP地址)
Hostname=Zabbix server
# 代理端口号,默认值是10050
ListenPort=10050
第五步,关闭selinux和防火墙。
命令:sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl stop firewalld.service
systemctl disable --now firewalld
第六步,启动Zabbix相关服务,并设置为开启自启动。
命令:systemctl start zabbix-agent
systemctl enable zabbix-agent
第七步,设置防火墙端口,允许"10050"端口(Zabbix Agent默认端口)访问服务器。
命令:systemctl start firewalld
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload
systemctl stop firewalld
注意:所有客户端都需按照以上步骤配置。
第八步,重启服务器。
命令:init 6
第九步,在Zabbix监控系统中配置客户端主机。
登录Zabbix网址:http://x.x.x.x/zabbix/
初始登录账号是“Admin”(注意A大写),初始登录密码是“zabbix”。账号和口令都区分大小写。
1)在“配置 --> 主机 --> 创建主机”页面中创建新的主机,填写客户端主机基本信息,注意:这一步不点击“添加”。
2)在“配置 --> 主机 --> 创建主机 --> 模板”页面中,选择监控点模块并添加。
3)在“配置 --> 主机”页面中可以看到刚刚添加好的主机信息。
注意:添加完成后,需要等待大约3分钟才能建立服务器和客户端的数据通信,之后刷新一下页面,如果发现该主机的可用性标记为下图状态,则表示客户端已受控。
第十步,常见问题。
# 更改Zabbix用户
命令:mysql -uroot -p123456
MariaDB [(none)]> use zabbix;
MariaDB [(none)]> update users set passwd=md5('password') where alias= 'Admin';