目录
前言
主要功能
常见应用场景
一. 环境准备
二. 部署安装
三. Web页面安装
前言
Zabbix是一个开源的企业级监控解决方案,用于监控各种网络设备、服务器、应用程序和云资源。它能够提供全面的监控、告警和数据分析功能,帮助管理员及时发现和解决潜在的问题,从而保障系统的高可用性和性能。
主要功能
-
自动发现:
- 自动发现网络中的设备和服务,简化了监控配置过程。
-
多种监控方法:
- 支持SNMP、IPMI、JMX、HTTP、SSH、Telnet等多种协议和方法。
- 可以监控硬件设备、操作系统、虚拟化环境和应用程序。
-
灵活的告警机制:
- 支持通过邮件、短信、即时通讯工具等多种方式发送告警。
- 告警条件和级别可灵活配置,满足不同的需求。
-
高性能数据存储:
- 能够高效地存储和处理大量监控数据。
- 支持历史数据的长时间保存和分析。
-
强大的图形和报表功能:
- 提供丰富的图形和报表功能,帮助用户直观地了解系统运行状况。
- 支持自定义仪表盘和报表。
-
用户和权限管理:
- 提供细粒度的用户和权限管理,确保监控数据的安全性。
-
API和扩展性:
- 提供丰富的API接口,方便与其他系统集成。
- 支持自定义脚本和插件,扩展监控功能。
常见应用场景
- 网络设备监控: 监控路由器、交换机、防火墙等网络设备的运行状态和性能指标。
- 服务器监控: 监控服务器的CPU、内存、磁盘使用情况,以及操作系统和应用程序的运行状态。
- 应用程序监控: 监控数据库、Web服务器、中间件等应用程序的性能和可用性。
- 虚拟化和云监控: 监控虚拟机和云资源的使用情况,确保资源的高效利用。
一. 环境准备
准备一台虚拟机,关闭防火墙和selinux,进行时间同步
版本 | 主机名 | IP | 系统 |
zabbix6.4 | zabbix | 192.168.226.28 | Rocky_linux9.4 |
#修改主机名
[root@localhost ~]# hostnamectl set-hostname zabbix
官网地址与部署文档:下载Zabbix
版本选择:
二. 部署安装
1. 检查有无epel源
[root@zabbix yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1142 Aug 28 2023 epel-cisco-openh264.repo
-rw-r--r--. 1 root root 1552 Aug 28 2023 epel-testing.repo
-rw-r--r-- 1 root root 1473 Jul 4 13:51 epel.repo
-rw-r--r--. 1 root root 6610 May 1 08:29 rocky-addons.repo
-rw-r--r--. 1 root root 1165 May 1 08:29 rocky-devel.repo
-rw-r--r--. 1 root root 2387 May 1 08:29 rocky-extras.repo
-rw-r--r--. 1 root root 3417 May 1 08:29 rocky.repo
我这里有,因此要在epel标识符里加上excludepkgs=zabbix* 如何没有epel源的话跳过这步
[root@zabbix yum.repos.d]# vim /etc/yum.repos.d/epel.repo
[epel]
...
excludepkgs=zabbix*
2. 安装Zabbix 6.4的仓库配置包
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-2.el9.noarch.rpm
[root@zabbix ~]# dnf clean all
3. 安装Zabbix server,Web前端,agent
[root@zabbix ~]# dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent
4. 获取数据库安装包
注:本版本要使用msyql8.3以下的版本
MySQL :: Download MySQL Yum Repository
5. 安装
[root@zabbix ~]# rpm -Uvh https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
6. 关闭最新版的源,开启8.0的源
[root@zabbix ~]# vim /etc/yum.repos.d/mysql-community.repo
将8.0的enabled=1 将8.4的标签改为enabled=0 然后保存退出
7. 下载mysql
[root@zabbix ~]# yum install -y mysql-community-server mysql
8. 修改mysql配置文件
[root@zabbix ~]# vim /etc/my.cnf +5
skip_name_resolve = ON # 跳过主机名解析,提高连接速度,特别是在DNS解析慢或不可靠的环境中
innodb_file_per_table = ON # 为每个表使用单独的表空间文件,优化表空间管理和备份
innodb_buffer_pool_size = 256M # 设置InnoDB缓冲池大小为256MB,用于缓存数据和索引,减少磁盘I/O,提高性能
max_connections = 2000 # 设置MySQL服务器允许的最大并发连接数为2000
log-bin = master-log # 开启二进制日志记录,用于复制和恢复操作,日志文件名以master-log开头
8. 启动mysql
[root@zabbix ~]# systemctl enable --now mysqld
9. 获取初始化密码
[root@zabbix ~]# grep 'temporary password' /var/log/mysqld.log
10. 使用初始化密码更改新密码
[root@zabbix ~]# mysqladmin -uroot -p'xHMLu)Jts0wi' password "Qaz123456+"
11. 登陆数据库操作
[root@zabbix ~]# mysql -u root -p'Qaz123456+'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.38 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
Query OK, 1 row affected (0.00 sec)
mysql> create user zabbix@'%' identified by 'Qaz123456+';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on zabbix.* to zabbix@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> set global log_bin_trust_function_creators = 1;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> quit;
Bye
12. 导入初始架构和数据,系统将提示输入新创建的密码。
[root@zabbix ~]# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
输入命令会提示你输入新密码,输入后等待导入即可。
13. 登录msyql查看zabbix库并进行设置
[root@zabbix ~]# mysql -u root -p'Qaz123456+'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14
Server version: 8.0.38 MySQL Community Server - GPL
Copyright (c) 2000, 2024, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> set global log_bin_trust_function_creators = 0;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zabbix |
+--------------------+
5 rows in set (0.00 sec)
mysql> quit
Bye
14. 为Zabbix server配置数据库
[root@zabbix ~]# vim /etc/zabbix/zabbix_server.conf
ListenPort=10051 #大约在12行附近
SourceIP=192.168.226.28 #大约在19行附近
DBHost=192.168.226.28 #大约在93行附近
DBPassword=Qaz123456+ #大约在129行附近
DBPort=3306 #大约在146行附近
15. 修改Agent配置
[root@zabbix ~]# vim /etc/zabbix/zabbix_agentd.conf
SourceIP=192.168.226.28 #大约在64行附近,注意这个设置要和server配置中的SourceIP一致
Server=192.168.226.28 #大约在117行附近
ListenPort=10050 #大约在125行附近
ServerActive=192.168.226.28 #大约在171行附近
Hostname=zabbix #大约在182行附近
16. 为Zabbix前端配置PHP
[root@zabbix ~]# vim /etc/nginx/conf.d/zabbix.conf
可以自定义端口和域名,注意别和已经有的冲突,尤其注意80端口的冲突,域名注意域名解析的设置,这里使用默认端口和域名。
17. 启动Zabbix server和agent进程
[root@zabbix ~]# systemctl restart zabbix-server zabbix-agent nginx php-fpm
[root@zabbix ~]# systemctl enable zabbix-server zabbix-agent nginx php-fpm
三. Web页面安装
浏览器访问http://192.168.226.28:8080/
注:如果没有中文选项,需要进行如下操作:
sudo yum install -y glibc-langpack-zh
sudo yum install -y glibc-common
sudo localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
[root@zabbix ~]# vim /etc/locale.conf #查看该配置文件是否有LANG=zh_CN.UTF-8参数
[root@zabbix ~]# ls /usr/share/zabbix/locale/
查看改目录下是否有zh_CN的目录
这两个文件都正常的话就重启主机,重新打开web页面即可。
[root@zabbix ~]# reboot
mysql和zabbix可以不在一个主机上,那么在图中填写数据库主机就要写mysql的IP,当然如果在本机的话就可以写localhost,然后就是登录数据库的用户名和密码,即我们在数据库那步中创建并授权的用户zabbix和Qaz123456+ 关于端口,如果修改了不是3306就需要填写特定的端口,0代表默认,代指的就是mysql的默认的3306端口,最后 下方的数据库TLS加密要去掉勾选,再点击下一步。
这个页面中的zabbix的主机名称就是部署zabbix的主机名,我们最开始修改的就是zabbix
初始用户名:Admin 初始密码:zabbix
到此就部署完成了。