Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录

简介: Zabbix【部署 01】Zabbix企业级分布式监控系统部署配置使用实例(在线安装及问题处理)程序安装+数据库初始+前端配置+服务启动+Web登录

安装说明:本次安装为在线安装,使用数据库为PostgreSQL。

1.下载

由于是在线安装,这次不涉及离线安装包的下载,仅做参考用,点击跳转【下载页面】,下载说明:

  • 版本选择

  • 如果组件里没有Server说明此版本只能部署代理组件

推荐使用国内的镜像站:

2.安装

# 服务器系统版本
[root@tcloud ~]# cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

CentOS7能够部署的最新Server版本为5.1,可以在【官网下载】也可以在其他【镜像站下载】,在线安装仅能安装5.0版本。

记住Zabbix日志文件路径/var/log/zabbix/

  • zabbix_agentd.log 代理日志文件
  • zabbix_server.log 服务日志文件

启动出现问题时可用查看这两个文件。

2.1 程序安装

# 1.安装存储库
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
# 2.安装Server及Agent
yum install -y zabbix-server-pgsql zabbix-agent
# 3.启用软件集并安装Web及
yum install -y centos-release-scl
# Edit file /etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
enabled=1
# Install Zabbix frontend package
yum install -y zabbix-web-pgsql-scl zabbix-nginx-conf-scl
# 安装完成后
[root@tcloud ~]# rpm -qa | grep zabbix
zabbix-agent-5.0.32-1.el7.x86_64
zabbix-web-5.0.32-1.el7.noarch
zabbix-web-deps-scl-5.0.32-1.el7.noarch
zabbix-release-5.0-1.el7.noarch
zabbix-server-pgsql-5.0.32-1.el7.x86_64
zabbix-web-pgsql-scl-5.0.32-1.el7.noarch
zabbix-nginx-conf-scl-5.0.32-1.el7.noarch

2.2 数据库初始化

官方文档会根据不同的数据库给出不同的初始化脚本:

以下过程为PostgreSQL数据库:

# 1.(官网指导)创建用户和数据库
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
#(真实操作)这个过程可以在 Navicat 上进行

# 2.(官网指导)初始化数据库
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
#(真实操作)解压 create.sql.gz
gzip -d create.sql.gz
# 在 Navicat 里执行 create.sql

# 3.(官网指导)Edit file /etc/zabbix/zabbix_server.conf
DBPassword=password
# (真实操作)修改配置文件(主要是数据库相关)使用的是非localhost的库
vim /etc/zabbix/zabbix_server.conf
DBHost=xxx.xx.x.x[云服务器的内网IP]
DBName=zabbix[根据初始化的数据库名称设置]
DBUser=zabbix[根据实际情况设置]
DBPassword=zabbix[根据设置的密码设置]
DBPort=5432[根据数据库的端口填写]

2.3 前端配置

由于项目使用的是 Nginx,这里展示的是使用 Nginx 的配置:

# 1.(官网指导)
Edit file /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf uncomment and set 'listen' and 'server_name' directives.
# listen 80;
# server_name example.com;
# (真实操作)
cat /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

复制/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf的内容并进行修改,添加到Nginx的配置/usr/local/nginx/conf/nginx.conf内:

# 修改内容为 listen 和 server_name 和 fastcgi_pass
server {
        listen          8081;
        server_name     localhost;
        root    /usr/share/zabbix;
        index   index.php;
        location = /favicon.ico {
                log_not_found   off;
        }
        location / {
                try_files       $uri $uri/ =404;
        }
        location /assets {
                access_log      off;
                expires         10d;
        }
        location ~ /\.ht {
                deny            all;
        }
        location ~ /(api\/|conf[^\.]|include|locale|vendor) {
                deny            all;
                return          404;
        }
        location ~ [^/]\.php(/|$) {
                fastcgi_pass    localhost:9000;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_index   index.php;
                fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix;
                fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
                fastcgi_param   PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;
                include fastcgi_params;
                fastcgi_param   QUERY_STRING    $query_string;
                fastcgi_param   REQUEST_METHOD  $request_method;
                fastcgi_param   CONTENT_TYPE    $content_type;
                fastcgi_param   CONTENT_LENGTH  $content_length;
                fastcgi_intercept_errors        on;
                fastcgi_ignore_client_abort     off;
                fastcgi_connect_timeout         60;
                fastcgi_send_timeout            180;
                fastcgi_read_timeout            180;
                fastcgi_buffer_size             128k;
                fastcgi_buffers                 4 256k;
                fastcgi_busy_buffers_size       256k;
                fastcgi_temp_file_write_size    256k;
        }
}
# 将内容复制出来修改后复制到 /usr/local/nginx/conf/nginx.conf 内
vim /usr/local/nginx/conf/nginx.conf

修改 /etc/opt/rh/rh-php72/php.ini 否则会出现,Check of pre-requisites:

  • Minimum required size of PHP post is 16M (configuration option “post_max_size”).
  • Minimum required limit on execution time of PHP scripts is 300 (configuration option “max_execution_time”).
  • Minimum required limit on input parse time for PHP scripts is 300 (configuration option “max_input_time”).
  • Time zone for PHP is not set (configuration parameter “date.timezone”).

# 修改 /etc/opt/rh/rh-php72/php.ini
vim /etc/opt/rh/rh-php72/php.ini
# 默认值8M
post_max_size=16M
# 默认值30
max_execution_time=300
# 默认值60
max_input_time=300
# 默认未设置 ;date.timezone =
date.timezone = Asia/Shanghai
# 2.(官网指导)
Edit file /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf add nginx to listen.acl_users directive.
listen.acl_users = apache,nginx
# Then uncomment and set the right timezone for you.
; php_value[date.timezone] = Europe/Riga
# (真实操作)
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 修改user和group
user = nginx
group = nginx
# 修改listen.acl_users
listen.acl_users = nginx
# 修改listen.allowed_clients
listen.allowed_clients = xxx.xx.x.x[云服务器内网IP]
# 时区调整
; php_value[date.timezone] = Asia/Shanghai

2.4 服务启动

#(官网指导)启动
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
#(真实操作)启动【由于使用了 Nginx 这里不再启动 rh-nginx116-nginx】
systemctl restart zabbix-server zabbix-agent rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-php72-php-fpm

3.Web登录

  • 检查先决条件【问题已处理】

  • 配置数据库连接

  • 配置服务详情

  • 配置总览

  • 登录【默认用户名为:Admin 密码为:zabbix】

  • 登录成功

4.总结

官网的说明不够详细,过程中遇到不少坑,不同版本的安装可能有所不同。

目录
相关文章
|
5月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
6月前
|
存储 关系型数据库 MySQL
【赵渝强老师】MySQL数据库的多实例环境
MySQL多实例是指在一台服务器上运行多个MySQL服务,通过不同端口提供独立的数据服务。各实例共享安装程序,但使用各自的配置文件和数据文件,实现资源高效利用。本文详细介绍了如何通过“mysqld_multi”工具配置和启动多个MySQL实例,并演示了目录创建、初始化、配置文件修改及实例启动等操作步骤。
293 1
|
9月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3131 57
|
12月前
|
Java 关系型数据库 MySQL
新一代 Cron-Job分布式任务调度平台 部署指南
简单易用、超低延迟,支持用户权限管理、多语言客户端和多租户接入的分布式任务调度平台。 支持任何Cron表达式的任务调度,支持常用的分片和随机策略;支持失败丢弃、失败重试的失败策略;支持动态任务参数。
402 103
|
10月前
|
SQL 数据可视化 网络安全
YashanDB分布式可视化部署
本文介绍YashanDB的分布式部署流程,涵盖服务端安装、数据库基本信息与服务器配置、节点信息设置、建库参数调整、环境变量配置及安装结果检查等步骤。通过可视化Web界面操作,详细说明了各环节配置方法和注意事项,确保用户顺利完成数据库集群的搭建与初始化设置。适用于需要分布式数据库部署的场景,提供全面的操作指导。
YashanDB分布式可视化部署
|
11月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
本文由仁励家网络科技(杭州)有限公司架构师赵云兴、葛志刚撰写,探讨了公司在优化HR SaaS解决方案时遇到的系统资源浪费和运维成本高的问题。通过引入Koupleless框架,成功将模块体积从500M缩减至5M以下,部署时间从6分钟缩短至3分钟,并大幅节省服务器资源。文章详细介绍了Koupleless的部署方案及优化措施,感谢Koupleless团队的专业支持,使人力家实现了多应用合并部署,降低了运维成本。
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
11月前
|
运维 Kubernetes Java
Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
通过引入Koupleless框架,解决了多应用部署中资源浪费和运维成本高的问题,实现了模块瘦身、快速部署及流量控制优化,大幅降低了服务器资源占用和发布耗时,提升了系统稳定性和运维效率。最终,人力家成功实现了多应用的轻量集中部署,显著减少了运维成本。
 Koupleless 助力「人力家」实现分布式研发集中式部署,又快又省!
|
12月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
685 5
|
12月前
|
人工智能 Kubernetes 异构计算
大道至简-基于ACK的Deepseek满血版分布式推理部署实战
本教程演示如何在ACK中多机分布式部署DeepSeek R1满血版。
|
缓存 监控 前端开发
探索前端性能优化:关键策略与代码实例
本文深入探讨前端性能优化的关键策略,结合实际代码示例,帮助开发者提升网页加载速度和用户体验,涵盖资源压缩、懒加载、缓存机制等技术。