一、zabbix架构
- Zabbix Server:(服务器)负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行。
- Database:(数据库)用于存储所有配置信息,以及存储由Zabbix Server收集到的数据。
- Web GUI:Zabbix的interface接口,通常与Server运行在同一台主机上。
- Zabbix Proxy:(代理服务器)常用于分布监控环境中,代理Server收集部分被监控的监控数据并统一发往Server端。
- Zabbix Agent:(节点)部署在被监控主机上,负责收集本地数据发往Server端或Proxy端。
- JavaGateway:(java程序监控)充当Zabbix服务器和被监控Java应用程序之间的中间层。它接收来自Zabbix服务器的监控请求,执行相应的监控操作,并将收集到的数据返回给Zabbix服务器。
二、部署
0.注意服务器环境配置
0.1 查看系统版本号 cat /etc/redhat-release
0.2 查看服务器内存是否足够 free -h
0.3 查看内核 uname -a
0.4 检测防火墙是否关闭
1.准备监控方zabbix_server
当国外镜像不可用时------国内阿里yum源:
1.1获取阿里zabbix源地址
1.2配置zabbix仓库
配置 : vim /etc/yum.repos.d/zabbix.repo
[zabbix]
name=alibaba zabbix
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/
gpgcheck=0
enabled=1
# zabbix仓库
[zabbix2]
name=alibaba zabbix frontend
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/frontend/
gpgcheck=0
enabled=1
# zabbix前端组件
- yum repolist 列出所有包
1.3 安装zabbix
-
安装Zabbix server,agent:
yum install zabbix-server-mysql zabbix-agent
-
启用红帽软件集合:
yum install centos-release-scl
-
列出查看是否成功安装仓库:
-
因为旧的24年6月停止使用,需要指向特定 CentOS Vault 镜像的可用 URL:
#CentOS-*.repo#
注释掉mirroslist
替换baseurl 地址为 :
vim CentOS-SCLo-scl.repo
https://mirrors.163.com/centos-vault/7.6.1810/sclo/x86_64/sclo/
vim CentOS-SCLo-scl-rh.repo
https://mirrors.163.com/centos-vault/7.9.2009/sclo/x86_64/rh/
-
安装Zabbix前端配置包:
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
-
创建数据库(如果没有数据库则需要下载):
mysql> mysql -u root # 免密登录
登录数据库
mysql> create database zabbix character set utf8 collate utf8_bin; # 创 库
创建了一个名为 zabbix
的数据库。
通过 character set utf8
部分指定了这个数据库将使用UTF-8字符集,UTF-8字符集可以使该数据库中存储多种语言的文本,而不会出现乱码或字符丢失。
collate utf8_bin 部分指定了这个数据库的校对规则为utf8_bin
mysql> create user zabbix@localhost identified by '200171'; # 创用户
创建一个名为 zabbix 的
新用户。
该账户只能从localhost
(即MySQL服务器所在的机器)上连接,@
符号后面跟的是用户的宿主名(host),这里指定为localhost
,意味着这个用户只能从本地机器连接到MySQL服务器。
通过 identified by '200171'
部分,为这个新创建的用户账户设置了一个密码“200171”
mysql> grant all privileges on zabbix.* to zabbix@localhost; # 授权用户访问zabbix库
grant all privileges:授予所有权限,用户可以执行数据库中的所有操作。
on zabbix.*:指定权限授予的范围。这里是指zabbix数据库中的所有表(*表示所有表)。
to zabbix@localhost:指定接收权限的用户和主机。在这个例子中,用户是zabbix,主机是localhost,意味着这些权限仅适用于从本地机器访问的用户
mysql> set global log_bin_trust_function_creators = 1;
log_bin_trust_function_creators是一个系统变量,它控制了在二进制日志(binary log)启用的情况下,是否允许非SUPER权限的用户创建或修改存储函数。当这个变量设置为0(默认值)时,只有拥有SUPER权限的用户才能创建或修改存储函数,命令会将这个系统变量的值设置为1,从而允许所有用户(不仅仅是SUPER用户)创建或修改存储函数,即使二进制日志被启用
mysql> flush privileges; # 刷新,重新加载授权表
mysql> quit; # 退出mariadb
1.4 初始化数据库
zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -uzabbix -p zabbix
将名为 create.sql.gz
的压缩文件(通常包含用于创建和初始化Zabbix数据库所需的SQL语句)解压并直接通过MySQL命令行工具导入到名为 zabbix
的数据库中
1.5配置zabbix配置文件
DBHost=localhost
# 服务器数据库位置
DBName=zabbix
# 程序要连接的数据库名字
DBUser=zabbix
# 连接数据库所用的用户名
DBPassword=200171
# DBUser对应的密码
1.6时区设置-------------------------------------/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
找到文件中被注释项: ; php_value[date.timezone] = Europe/Riga
修改: php_value[date.timezone] = Asia/Shanghai
[zabbix]
user = apache
group = apache
listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 200
php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai * 时区设置 *
1.7启动
- 重启程序:
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
- 设置开机自启:
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
- 浏览器输入本机ip后接/zabbix虚拟目录打开: 192.168.105.70/zabbix
- 安装界面:
*如果失败可能是账户授权问题,检查zabbix用户能否登录zabbix数据库*
服务器命名:
信息汇总:
登录:
主页:
2.准备被监控方zabbix_agent![](https://i-blog.csdnimg.cn/direct/01c74e4a733a41648da54f4e28e568f0.png)
2.1安装/配置/测试/
(由于上一台机子自配了zabbix.repo仓库,故不再重复操作)
scp /etc/yum.repos.d/zabbix.repo 192.168.105.69:/etc/yum.repos.d/
# scp协议传输
- yum直接安装zabbix-agent
- 配置zabbix-agent配置文件
* /etc/zabbix/zabbix_agentd.conf *
Server=192.168.105.70
<被动模式>
ServerActive=192.168.105.70
<主动模式>
Hostname=web_1
<本台被监控主机名字>
EnableRemoteCommands=1
<是否允许Zabbix服务器在代理机上执行远程命令脚本>
UnsafeUserParameters=1
<是否允许在用户定义的参数(UserParameters)中使用特定的字符或表达式>
Include=/etc/zabbix/zabbix_agentd.d/*.conf
<指定了包含额外配置文件的目录或文件模式>
- 启动并设定开机自启
[root@web_1 ~]# systemctl start zabbix-agent
[root@web_1 ~]# systemctl enable zabbix-agent
- 查看是否有端口10050
[root@web_1 ~]# ss -antp | grep 10050
- 测试监控是否连通
[root@zabbix_server ~]# yum -y install zabbix-get.x86_64
(此需要下载zabbix-get )
证明监控连通
三、 apache监控实例
1.创建主机组
2.创建主机![](https://i-blog.csdnimg.cn/direct/d4540ebd22f447919acb357b237ed0ad.png)
ps:记得更新