zabbix 4.0 安装_yum 安装--简单且详细-可直接复制命令

本博客介绍了 Zabbix 4.0 环境搭建与安装过程。先介绍学习心得,接着阐述官方搭建 Zabbix 4.0 的环境要求,包括准备工作、安装 LAMP 环境、配置 httpd 和 php 等,还涉及数据库初始化与权限设置。之后讲解 Zabbix 安装、组件配置、agent 安装,以及解决字符乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博客为整理原创,部分参考官方和网络博客内容,欢迎大家多多指正错误。侵删

学习心得

1.解除思想的禁锢,学习找方法

2.不要把简单的问题复杂化

官方搭建zabbix4.0的环境要求:

 

先根据《文档rhel7.2配置yum源》使yum源可以用

准备工作

#cat /etc/redhat-release               #查看CentOS版本 

#cat /proc/version                        #查看存放与内核相关的文件

#vi /etc/selinux/config     #关闭selinux

#setenforce 0             

#getenforce               #查看selinux状态

#systemctl stop firewalld.service         #临时关闭firewall

#systemctl disable firewalld.service    #禁止firewall开机启动

安装lamp环境

#yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash

# rpm -qa httpd php mariadb     #安装完成后检查应用版本

 

配置httpd

#vi /etc/httpd/conf/httpd.conf

  ServerName www.zabbixyk.com      #修改为主机名

  DirectoryIndex index.html index.php   # 添加首页支持格式

 

 

 编辑配置php,配置中国时区

vi /etc/php.ini

date.timezone = PRC   # 配置时区 

 

启动httpdmysqld

#systemctl start httpd         #启动并加入开机自启动httpd

#systemctl enable httpd

#systemctl start mariadb    #启动并加入开机自启动mysqld

#systemctl enable mariadb

#ss -anplt | grep httpd         #查看httpd启动情况,80端口监控表示httpd已启动

#ss -naplt | grep mysqld      #查看mysqld启动情况,3306端口监控表示mysqld已启动


创建一个测试页,测试
LAMP是否搭建成功  

#vi /var/www/html/index.php

 

本地测试一下,如下,说明安装OK

 

初始化数据库,设置密码

#mysqladmin –uroot –p 123456

#mysql –uroot –p

 

CREATE DATABASE zabbix character set utf8 collate utf8_bin;

#创建zabbix数据库(中文编码格式)

GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'ykadmin123'; 

#授予zabbix用户zabbix数据库的所有权限,密码ykadmin123

flush privileges;    #刷新权限

quit                 #退出数据库   

 

vi /var/www/html/index.php   #编辑测试页,测试连接数据库是否成功

<?php

$link=mysql_connect('172.18.20.224','zabbix','ykadmin123'); 

if($link) echo "<h1>Success!!</h1>";  

 else echo "Fail!!";

mysql_close();

?>

#curl 127.0.0.1       #发现测试失败了,php连接不上数据库

 

查看数据库权限,发现zabbix账户不能登录,用root登录查看zabbix权限

 

发现host是’%’,因为php和DB在一台机器上,果断改成localhost,如下图

 

 

 

好了,说明php连接数据库OK了。

 

(如果还是本地无法登录的情况,可以参考网上处理方法,这里没有验证

2. 安装zabbix

安装依赖包 + 组件

yum -y install net-snmp net-snmp-devel curl curl-devel libxml2 libxml2-devel libevent-devel.x86_64 javacc.noarch  javacc-javadoc.noarch javacc-maven-plugin.noarch javacc*

yum install php-bcmath php-mbstring –y

rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

#自动生成zabbix.repo

 

#yum install zabbix-server-mysql zabbix-web-mysql -y   

#安装zabbix组件

#zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p -h 127.0.0.1 zabbix  

注意:如果导入的时候报错,要看清楚,版本是不是一样的,ip改成自己的

 

>show tables;

 

#vi  /etc/zabbix/zabbix_server.conf

修改DBName、DBUser、DBPassword 三个参数

#grep -n '^[a-Z]'  /etc/zabbix/zabbix_server.conf  #查看如下图,确认正确

 

#vi /etc/httpd/conf.d/zabbix.conf  #修改时区为上海,如下添加一行

 php_value date.timezone Asia/Shanghai

 

#systemctl enable zabbix-server   #启动并加入开机自启动zabbix-server

#systemctl start zabbix-server

#netstat -anpt | grep zabbix

 

机器重启

 

浏览器输入

http://172.17.20.91/zabbix  #如下图

 

直接下一步

如果全部OK则直接下一步,否则,就要改/etc/php.ini的参数

 

1.数据库类型,

2.数据库地址,这里是本机,用localhost。如果是单独的数据库,这里填写IP地址

3.数据库端口 3306

4.存放zabbix配置的数据库名称,默认zabbix

5.访问zabbix数据库的用户名,早先创建的名称为zabbix

6.访问zabbix数据库的密码,这里是123456

 

如下,服务的主机,这里是localhost,端口默认10051

Name,随意设置

 

 

没错误直接下一步

直接下一步

 

下一步,登陆,默认账户Admin  默认密码:zabbix

 

进入主页

 

设置为中文,右上角小人图标进行设置

 

中文显示如下图

 

本文安装参考教程

http://www.cnblogs.com/yaoyaojcy/p/9884130.html

安装zabbix-agent

#yum  -y install zabbix-agent

#systemctl start zabbix-agent

#systemctl enabled zabbix-agent

扩展:web页设置内容都保留在/etc/zabbix/web/zabbix.conf.php文件内,后期可以通过修改该文件变更一些参数配置

 

如下图,乱码问题,中文字符不显示

 

解决字符乱码:

其实就是安装wqy-microhei-fontsm,安装完成后替换下字符集

#yum -y install wqy-microhei-fonts

#cd /usr/share/fonts/dejavu/

#mv DejaVuSans.ttf DejaVuSans.ttf.bak

#cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc .

#mv  wqy-microhei.ttc DejaVuSans.ttf

刷新页面如下验证,乱码均变成了中文汉字

 

 

Rhel6.8 安装zabbix-agent

#wget https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-1.el6.noarch.rpm

#rpm -ivh zabbix-release-4.0-1.el6.noarch.rpm

#yum -y install zabbix-agent.x86_64

#service zabbix-agent status

#vim /etc/zabbix/zabbix_agentd.conf

Server=172.17.20.91   #zabbix-server IP

#service zabbix-agent start

#chkconfig --level 2345 zabbix-agent on

感悟:学习是为了变的更好,可以让家人过上更好的日子。激励自己前行。努力吧,骚年!!!

 

转载于:https://www.cnblogs.com/smallmint/p/10641151.html

services: zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:centos-5.2-latest restart: always environment: - DB_SERVER_HOST=zabbix-mysql - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root - ZBX_SERVER_HOST=zabbix-server-mysql ports: - 8080:8080 volumes: - /etc/localtime:/etc/localtime - /data2/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf networks: - zbx_net depends_on: - zabbix-server-mysql - zabbix-mysql zabbix-mysql: image: mysql:8.0.23 restart: always ports: - 3306:3306 environment: - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root command: - mysqld - --default-authentication-plugin=mysql_native_password - --character-set-server=utf8 - --collation-server=utf8_bin volumes: - /etc/localtime:/etc/localtime - /data2/zabbix/db:/var/lib/mysql networks: - zbx_net zabbix-java-gateway: image: zabbix/zabbix-java-gateway:centos-5.2-latest restart: always volumes: - /etc/localtime:/etc/localtime networks: - zbx_net zabbix-server-mysql: image: zabbix/zabbix-server-mysql:centos-5.2-latest restart: always volumes: - /data2/zabbix/zabbix-server:/etc/zabbix - /data2/zabbix/alertscripts:/usr/lib/zabbix/alertscripts - /etc/localtime:/etc/localtime ports: - 10052:10051 environment: - DB_SERVER_HOST=zabbix-mysql - MYSQL_DATABASE=zabbix - MYSQL_USER=zabbix - MYSQL_PASSWORD=zabbix - MYSQL_ROOT_PASSWORD=root - ZBX_JAVAGATEWAY=zabbix-java-gateway - ZBX_JAVAGATEWAY_ENABLE=true - ZBX_JAVAGATEWAYPORT=10052 depends_on: - zabbix-mysql networks: - zbx_net zabbix-agent: image: zabbix/zabbix-agent:centos-5.2-latest restart: always ports: - 10050:10050 environment: - ZBX_HOSTNAME=Zabbix server - ZBX_SERVER_HOST=zabbix-server-mysql - ZBX_SERVER_PORT=10052 networks: - zbx_net networks: zbx_net: driver: bridge 这个脚本什么意思
最新发布
03-15
<think>嗯,用户给了一个Docker Compose的脚本,想要了解这个脚本的意思。首先,我需要确认这个脚本的结构,里面包含了多个服务,每个服务都有各自的配置。可能用户正在部署Zabbix监控系统,使用Docker来容器化各个组件。 首先,我应该逐个分析每个服务的作用。比如,zabbix-web-nginx-mysql应该是Zabbix的Web前端,使用Nginx和MySQL。接下来是zabbix-mysql,显然是数据库服务。然后还有zabbix-java-gateway,zabbix-server-mysql,和zabbix-agent。这些服务之间应该有关联,比如依赖关系,网络配置等等。 用户可能不太清楚每个服务的功能以及它们如何协作。需要解释每个服务的角色,比如Zabbix Server负责处理监控数据,Web前端提供用户界面,MySQL存储数据,Java Gateway用于监控Java应用,Agent部署在被监控的主机上。 另外,环境变量、端口映射、卷挂载这些配置项也需要逐一解释。比如,DB_SERVER_HOST指向数据库服务,端口映射8080:8080让外部可以访问Web界面,卷挂载可能用于持久化数据或配置。 用户可能还关心网络部分,zbx_net是一个自定义的桥接网络,让这些服务在同一个网络内通信。depends_on确保服务启动顺序,但需要注意Docker的depends_on只是控制启动顺序,不检查服务是否真正可用。 另外,用户可能在实际部署中遇到问题,比如数据库初始化、字体替换解决中文乱码,或者Java Gateway的配置是否正确。这些潜在的问题点也需要在解释中提及,帮助用户理解可能的注意事项。 最后,总结整个脚本的作用,即通过Docker Compose一键部署Zabbix的各个组件,包括前端、后端、数据库、Java网关和代理,并配置它们之间的连接和依赖,确保系统正常运行。</think>好的,我将分步解释这个Docker Compose配置文件的组成部分和功能: #### 1️⃣ **整体结构** 这是一个完整的Zabbix监控系统容器化部署方案,包含以下核心组件: - Zabbix Web前端(Nginx+MySQL版) - MySQL数据库 - Zabbix Server(核心服务) - Zabbix Java Gateway - Zabbix Agent #### 2️⃣ **网络配置** ```yaml networks: zbx_net: driver: bridge ``` 创建名为`zbx_net`的桥接网络,所有服务通过此网络互联,实现内部通信隔离 #### 3️⃣ **核心服务解析** ##### ① Zabbix Web前端 (`zabbix-web-nginx-mysql`) ```yaml environment: - DB_SERVER_HOST=zabbix-mysql # 连接数据库 - ZBX_SERVER_HOST=zabbix-server-mysql # 连接Zabbix Server ports: - 8080:8080 # 映射Web访问端口 volumes: - /data2/.../DejaVuSans.ttf # 解决中文乱码的字体替换 ``` 关键功能:提供Web管理界面,通过8080端口访问 ##### ② MySQL数据库 (`zabbix-mysql`) ```yaml environment: - MYSQL_ROOT_PASSWORD=root # 设置root密码 volumes: - /data2/zabbix/db:/var/lib/mysql # 数据持久化存储 command: - --default-authentication-plugin=mysql_native_password # 兼容旧版认证 ``` 存储所有监控数据、配置信息的数据库服务 ##### ③ Zabbix Server (`zabbix-server-mysql`) ```yaml environment: - ZBX_JAVAGATEWAY=zabbix-java-gateway # 连接Java网关 ports: - 10052:10051 # 监控数据传输端口 volumes: - /data2/zabbix/alertscripts # 自定义告警脚本目录 ``` 核心监控服务,处理数据收集、告警触发等核心逻辑 ##### ④ Zabbix Java Gateway 专用于监控JMX应用的中间件,通过10052端口与Server通信 ##### ⑤ Zabbix Agent ```yaml environment: - ZBX_HOSTNAME=Zabbix server # 本机标识 - ZBX_SERVER_PORT=10052 # 上报数据端口 ``` 部署在被监控主机上的代理程序(此处配置的是监控Zabbix Server自身) #### 4️⃣ **关键配置点** 1. 数据持久化: - MySQL数据目录:`/data2/zabbix/db` - Zabbix Server配置:`/data2/zabbix/zabbix-server` 2. 中文支持: ```yaml volumes: - /data2/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf ``` 替换默认字体解决图形化报表中文乱码问题 3. 时间同步: ```yaml volumes: - /etc/localtime:/etc/localtime ``` 保证容器与宿主机时区一致 #### 5️⃣ **启动顺序控制** ```yaml depends_on: - zabbix-server-mysql - zabbix-mysql ``` 通过依赖声明确保: 1. 数据库先启动 2. Server在数据库就绪后启动 3. Web前端最后启动 #### 6️⃣ **使用建议** 1. 访问方式: - Web界面:http://宿主机IP:8080 - 默认账号:Admin/zabbix 2. 安全建议: - 修改默认密码(特别是MySQL root密码) - 生产环境建议使用独立数据库实例 3. 扩展监控: - 在其他主机部署Agent时,需要修改`ZBX_SERVER_HOST`指向Zabbix Server地址 这个配置实现了一个完整的Zabbix监控系统部署方案,适合中小型监控场景,具备高可用性和易维护性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值