兰生幽谷,不为莫服而不芳;
君子行义,不为莫知而止休。
1 环境
- openEuler 22.03 LTSsp4
- PHP 8.0
- Apache 2
- Mysql 8.0
- zabbix6.2.4
表1-1 Zabbix网络规划(用你们自己的特征网段规划)
主机名 | IP | 功能 | 备注 |
zbx6svr | 192.168.100.220 | zabbix服务器和前端 | |
zbxagt | 192.168.0.81 | zabbix agent | |
windows | 192.168.0.123 | zabbix agent |
2 前提软件
安装所需软件
yum -y install wget tar gcc gcc-c++ dnf curl-devel mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel tar make fping net-snmp-devel curl-devel mysql-devel pcre-devel openssl-devel make fping net-tools bash-completion OpenIPMI OpenIPMI-devel ipmitool freeipmi |
更新到最新系统:
|
3 zabbix6.2.4安装包准备
随便创建一个“转运”文件夹,并下载zabbix6.2.4安装包到该文件夹
mkdir /wutool && cd /mkdir
|
创建zabbix目录并将前面下载的zabbix解压到该目录
mkdir /usr/local/zabbix tar -zxvf zabbix-6.2.4.tar.gz -C /usr/local/zabbix/ |
4 数据库准备
4.1安装mysql
欧拉系统自带 mysql8.0 的源,无需要安装额外的源。
4.1.1安装
|
图1- 1
4.1.2启动数据库并查看状态
systemctl start mysqld && systemctl enable mysqld #启动和开机自启MySQL service mysqld status #查看MySQL启动状态 |
出现 active (running)代表安装并启动成功.
图1- 2
4.2 数据库初始化
4.2.1登录MySQL
默认没有密码,直接回车登录
mysql -uroot -p |
4.2.2修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123456'; |
将Admin@123456换成你想要的密码,密码要有一定的复杂度。
4.3创建zabbix数据库
4.3.1 创建zabbix数据库
创建zabbix用户的并设置密码,此文档用的是Admin@123456(将Admin@123456换成你想要的密码,密码要有一定的复杂度)
#创建数据库
create database zabbix character set utf8 collate utf8_bin; |
4.3.2创建zabbix用户并赋权
create user zabbix@localhost identified by 'Admin@123456'; grant all privileges on zabbix.* to zabbix@localhost; quit; |
4.4初始化数据库
mysql -uroot -pAdmin@123456 zabbix < /usr/local/zabbix/zabbix-*/database/mysql/schema.sql mysql -uroot -pAdmin@123456 zabbix < /usr/local/zabbix/zabbix-*/database/mysql/images.sql mysql -uroot -pAdmin@123456 zabbix < /usr/local/zabbix/zabbix-*/database/mysql/data.sql |
语句说明:
-u后面是用户名;
-p后面是密码;
<后面是sql文件的绝对路径;
执行改语句会出警告:[Warning] Using a password on the command line interface can be insecure.
意思是:在命令行界面上使用明文密码可能不安全;此语句不影响命令执行。
5 安装Zabbix
5.1创建zabbix系统用户
创建group,并添加虚拟用户zabbix
groupadd zabbix useradd -g zabbix -M -s /sbin/nologin zabbix |
5.2 编译
编译Zabbix Server和Zabbix agent
./configure --sysconfdir=/etc/zabbix/ \ --enable-server \ --enable-agent \ --with-mysql \ --with-net-snmp \ --with-libxml2 \ --with-ssh2 \ --with-openipmi \ --with-zlib \ --with-libpthread \ --with-libevent \ --with-openssl \ --with-ldap \ --with-libcurl \ --with-libpcre | 指定目录 IPMI监控所需要包 |
出现下图代表编译成功
图1- 3
5.3 安装
安装Zabbix Server和Zabbix agent
make install #安装 zabbix_server --version #查看安装的zabbix_server版本 |
出现下图代表安装成功
图1- 4
5.4 修改配置文件
5.4.1 查找配置文件位置
看看配置文件zabbix_server.conf在何处
[root@localhost zabbix-6.2.4]# find / -name zabbix_server.conf /usr/local/zabbix/etc/zabbix_server.conf /usr/local/zabbix/zabbix-6.2.4/conf/zabbix_server.conf /etc/zabbix/zabbix_server.conf |
5.4.2添加密码
修改配置文件。MySQL数据库zabbix用户的密码,此文档用的是Admin@123456
sed -i 's/# DBPassword=/DBPassword=Admin@123456/' /etc/zabbix/zabbix_server.conf |
5.4.3验证修改
查看是否修改成功
grep -n 'DBPassword=' /etc/zabbix/zabbix_server.conf |
图1- 5
5.5 部署管理文件
5.5.1编写Zabbix Server系统管理启动文件
vi /usr/lib/systemd/system/zabbix_server.service [Unit] Description=Zabbix Server with MySQL DB After=syslog.target network.target mysql.service [Service] Type=simple ExecStart=/usr/local/sbin/zabbix_server -f Restart=always KillSignal=SIGINT User=zabbix [Install] WantedBy=multi-user.target |
查看文件是否正确写入
cat /usr/lib/systemd/system/zabbix_server.service |
图1- 6
5.5.2编写Zabbix agent系统管理启动文件
echo "[Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Type=forking ExecStart=/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf Restart=always RestartSec=10s KillSignal=SIGINT User=zabbix [Install] WantedBy=multi-user.target">/usr/lib/systemd/system/zabbix_agent.service |
查看文件是否正确写入
cat /usr/lib/systemd/system/zabbix_agent.service
图1- 7
5.6启功并开机自启
5.6.1 zabbix_server
关闭zabbix_server 进程,开启 zabbix-server 并设置开机自启
systemctl daemon-reload && pkill zabbix_server systemctl start zabbix_server && systemctl enable zabbix_server |
查看zabbix_server 是否启动成功
systemctl status zabbix_server |
如图代表成功:
图1- 8
5.6.2 zabbix_agent
关闭zabbix_agent进程,开启 zabbix-agent 并设置开机自启
systemctl daemon-reload && pkill zabbix_agent systemctl restart zabbix_agent && systemctl enable zabbix_agent |
查看abbix_agent 是否启动成功
systemctl status zabbix_agent |
图1- 9
5.7 防火墙处理
开启防火墙Zabbix服务端10051端口
sudo firewall-cmd --zone=public --add-port=10051/tcp --permanent #开启指定端口(10051) sudo firewall-cmd --reload #重新加载配置文件 |
6 搭建web前端
6.1 安装php
openEuler 22.04 自带8.0版本,所以符合6.0以上版本的需求。
|
由于安装PHP会自动安装apache服务,所以安装过程并未提及apache的安装过程,移动前端文件到apache服务的网页目录下。
cp /usr/local/zabbix/zabbix-6.2.4/ui/* /var/www/html/ -R #将源码中的ui文件复制到php目录 chown apache:apache /var/www/html -R systemctl start httpd && systemctl enable httpd sudo dnf install -y php-bcmath php-gd php-xml php-mbstring php-mysqlnd php-ldap |
启动apache并访问。
|
6.2.修改/etc/php.ini文件
修改php.ini文件
默认值为:
post_max_size = 8M
max_execution_time = 30
max_input_time = 60
Zabbix要求最低值为:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini sed -i 's/max_execution_time = 30/max_execution_time = 300/' /etc/php.ini sed -i 's/max_input_time = 60/max_input_time = 300/' /etc/php.ini |
查看是否修改成功
grep -n 'post_max_size =' /etc/php.ini grep -n 'max_execution_time =' /etc/php.ini grep -n 'max_input_time =' /etc/php.ini |
图1- 10
6.3重新加载配置文件
sudo service php-fpm reload #重新加载配置 |
6.4开启防火墙http端口
sudo firewall-cmd --permanent --zone=public --add-service=http #打开http端口 sudo firewall-cmd --reload #重新加载防火墙 |
7 Web页面配置
1 初始登录
在客户端的浏览器输入http://192.168.100.220/setup.php
图1- 11
2.设置语言为中文Chinese(zh_CN),点击下一步
图1- 12
立即生效变成中文界面了:
图1- 13
3.确认都显示OK,点击下一步
图1- 14
4.输入 MySQL数据库zabbix用户的密码,此文档用的是Admin@123456,点击下一步
图1- 15
5.输入主机名(可以中文),时区选(UTC+08:00)Asia/Beijing,点击下一步
图1- 16
6.确认信息,下一步
图1- 17
出了个小问题
图1- 18
下载,上传到指定文件夹
图1- 19
7.设置完成,点击完成
图1- 20
有可能会出现php设置错误,点击下载zabbix.conf.php并按指示信息,上传到/var/www/html/conf/重新启动浏览器即可。
8.默认用户名为:Admin ;密码为:zabbix ;登录
图1- 21
图1- 22
后记:
如果你不想这样麻烦的去部署,直接想进入zabbix的世界里学习网络管理,直接下载:
链接: https://pan.baidu.com/s/1bVQ8Wzz6h2bD34qwWijrCQ?pwd=1234 提取码: 1234
OpenEuler系统的root密码为wu,系统压缩包里有readme.txt相关说明。