配置 Zabbix(TCP 10051、10050).note

noteId: 92D9FCB7361B4B42893DA1D47EB4E21A · 原始路径:/ALL/Linux - A模块/服务配置/监控/Zabbix 网络设备监控/配置 Zabbix(TCP 10051、10050).note · 图片:54 · 附件待处理:2

 
 
 
 
# 两个重要的组件包:
Zabbix Server: 默认端口 TCP 10051,部署在Zabbix服务器上,用于接收Agent采集的数据
Zabbix Agent:默认端口 TCP 10050,部署在被监控机器上,用于采集数据(Zabbix服务器上一般都配置)
# 防火墙只需要放行 Server端入站TCP 10051、10050,Agent端入站 TCP 10050
 
 
一、配置 Zabbix:
# 环境:
一台 Linux Server
一台 Linux Client
 
1、配置 Zabbix 服务端:
 
 
(1)安装软件包:
apt install -y apache2 php8.2-fpm php8.2-mysql mariadb-server zabbix-agent zabbix-server-mysql zabbix-frontend-php    
 
 
(2)修改网站根目录为 /usr/share/zabbix,并开启php:
a2enconf php8.2-fpm
a2enmod proxy_fcgi
vim /etc/apache2/sites-enabled/000-default.conf
 
vim /etc/apache2/apache2.conf
systemctl restart apache2
 
 
(3)配置 mysql 数据库:
 
3.1、创建数据库和用户:
数据库和用户名称都能自定义
mysql
 # 建议指定编码创建数据库(否则zabbix可能无法运行):
 create database zabbix character set utf8 collate utf8_bin;
 grant all privileges on zabbix.* to zabbix@'%' identified by 'Skills39';
 flush privileges;    //重启mysql服务也一样
 exit
 
 
 
3.2、解压zabbix数据库文件,导入 Zabbix 表:
# 只需要解压这三个文件:
# 先将 Zabbix 自带的表解压:
cd /usr/share/zabbix-server-mysql
gunzip data.sql.gz
gunzip images.sql.gz
gunzip schema.sql.gz
 
 
# 导入 Zabbix 表(必须按照下面的顺序来导入):
mysql zabbix < schema.sql
mysql zabbix < images.sql
mysql zabbix < data.sql
 
# 如果要加上凭据:
mysql -uroot zabbix < schema.sql
 
 
(4)配置 php:
vim /etc/php/8.2/fpm/php.ini
# date.timezone 要求与本机时区相同
# max_input_time Zabbix最小要求为300
# max_execution_time Zabbix最小要求为300
# post_max_size Zabbix最小要求为16M
systemctl restart php8.2-fpm
 
(5)指定mysql密码,给予写入权限,启动 zabbix-server:
chmod -R 777 /etc/zabbix
vim /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
 
(6)允许高版本的数据库:
# 配置 zabbix_server.conf 允许高版本的数据库:
# 在debian 12.11 中,Zabbix最高支持的mysql版本为 101099,而debian 12.11中的mysql版本为 101111,因此启动是会报错的
vim /etc/zabbix/zabbix_server.conf
 
 
2、客户端访问 Zabbix:
 
输入mysql地址数据库和用户名:
 
默认,下一步:
 
确认信息无误,点击下一步:
 
 
默认用户Admin(区分大小的,admin用户登不进去),密码zabbix
 
 
 
二、Zabbix监控客户端主机:
如果题目没有要求,尽量配置 zabix-agent2,因为它不需要等待这么久
 
(1)客户端配置:
# 安装软件包:
apt install -y zabbix-agent
## zabbix-agent2 的配置也跟下面一样,只不过要重启 zabbix-agent2
 
 
# 编辑 配置文件:
vim /etc/zabbix/zabbix_agent.conf
# Hostname 需要与下面Zabbix Web中定义的 Hostname相同
 
 
(2)Zabbix 服务器上添加主机:
 
设置主机名,该名称必须要和上面客户端定义的 Hostname 相同:
 
添加templates,否则哪怕配置正确也无法监测客户端:
往下滑:
 
Groups选择 Linux Servers:
 
 
指定客户端IP地址:
点击添加,等待 1分钟左右,就能够连接上了:
 
 
 
client1 使用的是 zabbix-agent2,与上面配置一样(zabbix-agent2配置好之后无需等待,立即就是Available的)
 
三、zabbix 监控服务:
 
1、Zabbix监控nginx:
 
在被监控机器上安装nginx:
apt install -y nginx
 
 
在网页调用默认nginx模板监测:
点击update
 
·查看:
等待大约一分钟
 
 
·如果要解决 stub status page 的404,就需要配置 nginx:
 
我们可以查看nginx的日志来知道它是访问 /basic_status 来检测状态的,因此我们需要新建一个 /basic_status 虚拟目录
 
vim /etc/nginx/sites-enabled/default
# 它只是虚拟目录,该目录不需要真实存在
 
再次查看zabbix:
 
 
 
 
四、报错解决:
 
1、zabbix网页乱码:
 
·原因:
# apache2 没有开启 php8.2-fpm 或 proxy_fcgi:
 
·解决方法:
a2enconf php8.2-fpm
a2enmod proxy_fcgi
systemctl restart apache2
 
 
2、点击next setup 报错:
 
·原因:
# php8.2-fpm的配置不符合zabbix的最小要求
 
 
·解决方法:
# zabbix服务器上:
vim /etc/php/8.2/fpm/php.ini
# date.timezone 要求与本机时区相同
# max_input_time Zabbix最小要求为300
# max_execution_time Zabbix最小要求为300
# post_max_size Zabbix最小要求为16M
systemctl restart php8.2-fpm
 
 
3、报错 无法创建配置文件:
 
 
·原因:
# Zabbix的配置文件默认生成到 /etc/zabbix 目录下,而此时zabbix没有写入权限就会报错
 
·解决方法:
chmod -R 777 /etc/zabbix    //给予写入权限
 
 
4、客户端通过zabbix引导后点击完成报错“权限拒绝”:
 
·原因:
# 与上一个原因类似,上一个原因是因为目录没有创建文件的权限,解决后,能够创建文件了,但是zabbix对于它自己创建出来的配置文件没有访问权限
 
 
·解决方法:
chmod -R 777 /etc/zabbix
 
 
5、zabbix-server 服务启动不了:
 
·原因:
我们 vim /log/var/zabbix-server/zabbix_server.log 能够查看到zabbix不支持当前mysql版本,它最高支持版本为 101099,而当前mysql版本为 101111
 
·解决方法:
# 配置 zabbix_server.conf 允许高版本的数据库:
vim /etc/zabbix/zabbix_server.conf
或者安装mysql时,指定版本,安装 10.10.99 以下的版本
 
6、Zabbix Server not running:
 
 
·原因:
1、/etc/zabbix/zabbix_server.conf 文件中没有指定 mysql 用户的密码
2、zabbix-server 服务默认是没有启动的
 
 
·解决方法:
vim /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
 
 
 
7、在安装zabbix时出现 Unsupported charset or collation for tables时:
 
 
 
五、删除 Zabbix:
 
# 停止服务:
systemctl stop zabbix-server
systemctl stop zabbix-agent
 
# 删除数据库(删除mysql时也会自动删除数据库):
mysql
 drop database zabbix;
 drop user 'zabbix'@'%';
 
# 删除软件包:
apt purge -y zabbix-server-mysql
apt purge -y zabbix-agent
apt purge -y mariadb-server
apt autoremove -y