-
一、案例介绍项目简介Zabbix致力于构建异构环境下高可用性的智能监控体系,通过深度适配Euler OS操作系统的安全特性和华为云原生架构,提供更适合企业级场景的监控解决方案。开发者空间是华为云面向开发者提供的云上开发环境,支持开发者快速创建、部署、调试、运行、管理应用。开发者空间提供丰富的开发工具和资源,支持开发者快速构建应用,加速开发。本项目在华为云开发者空间基于Euler OS搭建Zabbix监控系统,实现跨平台硬件资源监控、业务指标可视化及智能告警联动,打造精准可靠、弹性扩展、开箱即用的运维体验,以及易集成、易配置、易维护的部署方案。技术栈构成基础平台:华为云开发者空间基础环境:Huawei Cloud EulerOS 2.0 + MySQL 8.0 + PHP 8.0 + Apache部署对象:Zabbix 7.2二、免费领取云主机如您还没有云主机,可点击链接,根据领取指南进行操作。如您已领取云主机,可直接开始案例实践。三、操作流程💡 说明:本实验需要华为云账号,且经过实名认证本实验需要开发者空间账号,且经过实名认证如您还没有云主机,可点击链接,根据领取指南进行操作1.①中通过本机的谷歌浏览器,登录华为云开发者空间,进行后续zabbix的安装。2.②中可以通过本机或者华为云开发者空间访问Zabbix Web界面,实现对服务器的监控。四、用到资源云资源价格/时时长开发者空间-云主机免费40min合计:0 元五、实践步骤1、环境开通1.1 配置云主机点击配置云主机,按照如下表格内容进行配置,配置完成后点击安装,待其环境准备完毕后,点击【进入桌面】。云主机名称CPU架构规格操作系统系统镜像工具zabbix实践ARM4 vCPUs 8 GBEulerHuawei Cloud EulerOS 2.0默认1.2 安装及配置MySQL6.0 以上版本需要安装mysql8.0以上版本的数据库(以mysql为例子),在欧拉系统自带 mysql8.0 的源,无需要安装额外的源。执行如下命令,进入root权限账户:sudo -i执行如下命令,查看欧拉系统自带 mysql8.0 的源:dnf list | grep mysql执行如下命令,安装mysql8.0:dnf -y install mysql-server执行如下命令,启动数据库:systemctl start mysqld && systemctl enable mysqld 当出现Created symlink字样即表示启动成功!执行如下命令,初始化数据库:mysql_secure_installation一路回车,设置自己的数据库密码,移除匿名用户,移除测试数据库等等1.3 安装及配置PHP执行如下命令,安装PHP:dnf -y install php php-fpm1.4 安装及配置Apache由于安装PHP会自动安装apache服务,所以安装过程并未提及apache的安装过程。2. 安装及配置Zabbix服务端2.1 准备Zabbix服务端进入tmp目录下,拉取zabbix的源码包:cd /tmpwget https://cdn.zabbix.com/zabbix/sources/stable/7.2/zabbix-7.2.0.tar.gz当前路径下解压源码包tar -zxvf zabbix-7.2.0.tar.gz结构树如下:2.2 配置Zabbix服务端首先创建zabbix用户及用户组groupadd --system zabbix useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix创建zabbix安装目录mkdir -p /app/zabbix执行下面的命令,进入环境检查和编译环节:ls /tmp cd /tmp/zabbix-6.2.4 ./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql在这里可以看到环境检查的结果是缺少mysql的开发库:执行如下命令,安装mysql的开发库:dnf -y install libevent-devel dnf -y install mysql-devel dnf -y install pcre-devel再次执行编译命令,可以看到执行情况如下:./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql2.3 安装Zabbix服务端执行如下命令,进行安装:make install最终整体目录如下所示:移动前端文件到apache服务的网页目录下:mv /tmp/zabbix-7.2.0/ui/* /var/http/html启动apache并访问:systemctl start httpd && systemctl enable httpd systemctl start php-fpm && systemctl enable php-fpm访问浏览器如下图所示:点击下一步时,会出现一些报错,此时会出现 PHP 所需要一些依赖和参数的报错,所以继续安装一些PHP相关的依赖。dnf -y install php-gd php-mysqlnd php-bcmath php-xml php-mbstring接下来调整PHP的配置文件如下三处, post_max_size ,max_excution_time , max_input_timevim /etc/php.ini修改完成后,重启php-fpm服务:systemctl restart php-fpm再进行刷新,就能够成功了。2.4 Zabbix服务端数据库配置mysql -uroot -p create database zabbix character set utf8mb4 collate utf8mb4_bin; create user zabbix@localhost identified by 'p@ssw0rd'; grant all privileges on zabbix.* to zabbix@localhost; set global log_bin_trust_function_creators = 1; quit; 导入Zbbix 的数据文件:cat /tmp/zabbix-7.2.0/database/mysql/schema.sql | mysql -uzabbix -p ’密码’ zabbix cat /tmp/zabbix-7.2.0/database/mysql/images.sql | mysql -uzabbix -p’密码’ zabbix cat /tmp/zabbix-7.2.0/database/mysql/data.sql | mysql -uzabbix -p’密码’ zabbix 相关数据导入完成后关掉log_bin_trust_function_creators功能set global log_bin_trust_function_creators = 0; quit; 完成这部分,就可以在前端进入数据库配配置界面,填写数据库密码,继续下一步,当遇到如下报错时,是因为配置文件无权限导致的,将该路径文件下载复制到前端提示的目录里即可。最终,完成zabbix安装,访问界面如下:2.5 访问Zabbix服务端初始用户名:Admin 默认密码:zabbix,点击访问即可~3. 安装及配置Zabbix客户端上面我们已经完成了服务端的部署,下面开始进行客户端部署,并成功监测到本机的服务状况。执行如下命令配置Zabbix-agent:vim /usr/lib/systemd/system/zabbix-agent.service [Unit] Description=Zabbix Agent After=syslog.target After=network.target [Service] Environment="CONFFILE=/app/zabbix/etc/zabbix_agent.conf" Type=simple Restart=on-failure PIDFile=/app/zabbix/zabbix_agentd.pid KillMode=control-group ExecStart=/app/zabbix/sbin/zabbix_agentd -c $CONFFILE ExecStop=/bin/kill -SIGTERM $MAINPID RestartSec=10s User=zabbix Group=zabbix [Install] WantedBy=multi-user.target执行如下命令修改zabbix agent配置文件:vim /app/zabbix/etc/zabbix_agentd.conf执行如下命令启动zabbix agent:systemctl start zabbix-agent && systemctl enable zabbix-agent执行成功后可看到正在运行中:systemctl status zabbix-agent netstat -ntlup | grep 10050 至此,在华为云开发者空间基于Euler OS搭建Zabbix服务端和客户端完成。我正在参加【案例共创】第2期 构建开发场景最佳实践/体验评测,创作案例文章https://bbs.huaweicloud.com/forum/thread-0225174879180881007-1-1.html”
-
1.1 简介zabbix 是一款开源的功能强大的分布式监控系统,一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。zabbix是由2部分构成,分别是zabbix server(监控端)与zabbix agent(被监控端)1.2 zabbix主要功能 CPU负荷内存使用磁盘使用网络状况端口监视日志监视1.3 zabbix的主要特点安装与配置简单,学习成本低支持多语言(包括中文)免费开源自动发现服务器与网络设备分布式监视以及WEB集中管理功能可以无agent监视用户安全认证和柔软的授权方式通过WEB界面设置或查看监视结果email等通知功能
-
详细步骤看附件
-
附图:repo.zabbix.comhttps://mirrors.huaweicloud.com/zabbix/zabbix/
-
1简介Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。Zabbix由zabbix server与可选组件zabbix agent构成。Zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。官方链接:https://www.zabbix.com/类别:系统监控2环境类别子项版本获取地址(方法) 硬件CPUKunpeng 920iBMC网络Ethernet-10GEiBMC存储SATA 4TiBMC内存xxG xxxMHziBMCOSNeoKylin7.5cat /etc/neokylin-releaseKernel4.14.0cat /proc/version 软件GCC4.8.5参考下面安装说明OpenJDK 1.8.0_191参考下面安装说明Zabbix2.2.23参考下面安装说明3依赖安装3.1安装OpenJDK下载并安装到指定目录(如/opt/tools/installed):wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u191-b12/OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gztar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u191b12.tar.gzmv jdk8u191-b12 /opt/tools/installed/配置java环境变量,在/etc/profile文件末尾处增加下面的代码:JAVA_HOME=/opt/tools/installed/jdk8u191-b12PATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME PATH运行下面命令,使修改的环境变量生效:source /etc/profile3.2安装GCC等依赖项挂载OS镜像:mount -o loop /home/NeoKylin/nsV7Update5-adv-lic-build05-aarch64.iso /mnt/NeoKylin/修改/etc/yum.repos.d/ns7-adv.repo文件,配置yum本地源:[ns7-adv-os]name=NeoKylin Linux Advanced Server 7 - Osbaseurl= file:///mnt/NeoKylingpgcheck=0gpgkey=file:///mnt/NeoKylin/RPM-GPG-KEY-neokylin-releaseenabled=1 运行下面的命令,使yum源配置生效:yum clean allyum makecacheyum安装GCC等相关依赖:sudo yum install -y snappy snappy-devel autoconf automake libtool git gcc gcc-c++ make cmake openssl openssl-devel ncurses-devel zlib zlib-devel bzip2 bzip2-devel bzip2-libs readline readline-devel bison zip unzip tar3.3安装Maven下载并安装到指定目录(如/opt/tools/installed):wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gztar -zxf apache-maven-3.5.4-bin.tar.gzmv apache-maven-3.5.4 /opt/tools/installed/修改maven环境变量,在/etc/profile文件末尾增加下面高亮代码:JAVA_HOME=/opt/tools/installed/jdk8u191-b12M2_HOME=/opt/tools/installed/apache-maven-3.5.4PATH=$M2_HOME/bin:$JAVA_HOME/bin:$PATHexport M2_HOME JAVA_HOME PATH运行下面的命令,是修改的环境变量生效:source /etc/profile修改maven配置文件中的:本地仓路径、远程仓等:配置文件路径:/opt/tools/installed/apache-maven-3.5.4/conf/settings.xml本地仓库配置:(可选,可保持默认)<!--默认在“~/.m2/”目录下,可以按下行格式修改成你自己想保存的目录--><localRepository>/path/to/local/repo</localRepository>远程仓库配置:(可选,默认用maven2官方远程仓但访问慢,建议用国内maven仓)<!--修改成自己搭建的maven仓库,如果没有,可以使用下面的华为开源maven仓 --><mirror> <id> huaweimaven</id> <name> huaweicloud maven</name> <url> https://mirrors.huaweicloud.com/repository/maven/</url> <mirrorOf>central</mirrorOf> </mirror>配置代理:(可选,外网环境下不用配置maven的代理) <proxies> <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>用户名</username> <password>密码</password> <host>代理服务器网址</host> <port>代理服务器端口</port> <nonProxyHosts>local.net|some.host.com</nonProxyHosts> </proxy> </proxies>3.4对gcc、g++和c++增加-fsigned-char选项1、对gcc增加-fsigned-char选项1)使用which gcc命令寻找gcc所在路径(一般位于/usr/bin/gcc)which gcc2)、更改gcc的名字(比如改成gcc-arm)mv /usr/bin/gcc /usr/bin/gcc-arm3)、进入gcc所在目录执行vi gcc,并填入如下内容保存:#! /bin/sh /usr/bin/gcc-arm -fsigned-char "$@"cd /usr/bin/vi gcc4)、执行chmod +x gcc给脚本添加执行权限chmod +x gcc2、对g++增加-fsigned-char选项1)使用which g++命令寻找g++所在路径(一般位于/usr/bin/g++)which g++2)、更改g++的名字(比如改成g++-arm)mv /usr/bin/g++ /usr/bin/g++-arm3)、进入g++所在目录执行vi g++,并填入如下内容保存:#! /bin/sh /usr/bin/g++-arm -fsigned-char "$@"cd /usr/bin/vi g++4)、执行chmod +x g++给脚本添加执行权限chmod +x g++3、对c++增加-fsigned-char选项1)使用which c++命令寻找g++所在路径(一般位于/usr/bin/c++)which c++2)、更改c++的名字(比如改成c++-arm)mv /usr/bin/c++ /usr/bin/c++-arm3)、进入c++所在目录执行vi c++,并填入如下内容保存:#! /bin/sh /usr/bin/c++-arm -fsigned-char "$@"cd /usr/bin/vi c++4)、执行chmod +x c++给脚本添加执行权限chmod +x c++ 4移植分析使用checkSo工具(获取地址:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html)检查Zabbix-2.2.23对应x86的安装包或源码包是否有依赖x86的so文件,通过检查Zabbix-2.2.23的源码没有发现有依赖的x86架构的so文件。5依赖库编译暂无。6编译安装1、从sourceforge服务器下载源码并解压wget https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.23/zabbix-2.2.23.tar.gztar zxvf zabbix-2.2.23.tar.gz2、进入解压目录cd zabbix-2.2.23 3、创建zabbix群组和用户名groupadd --system zabbixuseradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix4、执行./configure进行编译配置./configure --prefix=/home/zabbix --enable-server --enable-agent --with-postgresql --with-libcur【注】:此处--prefix选项表明编译安装路径为/home/pgsql,执行./congfigure相关报错问题参考 “9 FAQ”5、执行make install进行编译安装make install 6、查看编译结果cd /home/zabbix/ 7验证1、编译验证使用checkSo工具(获取地址:https://bbs.huaweicloud.com/forum/thread-22679-1-1.html)检查编译后的/home/zabbix/路径中是否不再含有依赖的x86架构的so文件,检查方法参考工具中的 《CheckSo使用说明.docx》,如果还有依赖的x86架构的so文件,则需要继续完成对应jar包的编译,直到无依赖的x86架构的so文件后,再次编译该组件并通过checkSo工具检查确认,编译后的组件包不再有依赖的x86架构的so文件则表明编译成功。2、功能验证暂无 8参考信息1、zabbix编译参考:http://www.zabbix.com/documentation/2.2/manual/installation/install2、执行./configure时增加--with-postgresql选项编译参考http://www.zabbix.com/documentation/2.2/manual/appendix/install/db_scripts 9FAQ【问题1】:执行./configure带--with-postgresql选项报“configure: error: PostgreSQL library not found”【解答1】没有安装PostgreSQL或安装PostgreSQL后没有配置PostgreSQL执行环境,解决方法是编译PostgreSQL后按如下方式配置PostgreSQL执行环境cp -R /home/pgsql/* /pgsql/cd /pgsqlchown -R postgres:postgres /pgsql/vi /etc/profile执行source /etc/profile使其生效source /etc/profile配置PostgreSQL执行环境后重新执行./configure【来自转载https://bbs.huaweicloud.com/forum/thread-40853-1-1.html】
-
1 ZABBIX简介ZABBIX是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64https://www.centos.org/download/服务器配置16U16GB50GB软件zabbix4.0.10https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.10/zabbix-4.0.10.tar.gz依赖nginx1.16.0http://nginx.org/download/nginx-1.16.0.tar.gz 3 软件移植3.1 环境准备OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。3.1.1 相关软件下载上传1、 上传zabbix-4.0.10.tar.gz源码包至服务器目录下下载地址:https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.10/zabbix-4.0.10.tar.gz2、 上传nginx-1.16.0.tar.gz源码包至服务器目录下下载地址:http://nginx.org/download/nginx-1.16.0.tar.gz3、 上传CentOS-7.5-aarch64-1804.iso至服务器目录下下载地址:https://www.centos.org/download/3.2 软件安装脚本执行指导下载附件脚本至服务器。赋予脚本执行权:限chmod +x zabbix_install.sh执行Zabbix安装脚本:sh zabbix_install.sh 4 软件运行4.1 验证执行4.1.1 重启php-fpm和Nginxservice php-fpm restartpkill nginx/usr/local/nginx/sbin/nginx4.1.2 将Zabbix数据导入Postgresqla.进入Postgresql数据库su - postgrespsqlb.新建Zabbix账户create role zabbix with createdb password '123456';alter role zabbix login;c.创建Zabbix数据库。create database zabbix with template template0 encoding 'UTF8';grant all on database zabbix to zabbix;\qd.导入数据。vi /var/lib/pgsql/data/pg_hba.conf# IPv4 local connections:hostall all 127.0.0.1/32 Ident改为trust service postgresql restartcd /opt/zabbix-4.0.10/zabbix-4.0.10/database/postgresql/psql -Uzabbix -dzabbix -h127.0.0.1 -f schema.sqlpsql -Uzabbix -dzabbix -h127.0.0.1 -f images.sqlpsql -Uzabbix -dzabbix -h127.0.0.1 -f data.sql4.1.3 配置Zabbix信息a.配置zabbix_server信息。通过修改“/usr/local/zabbix/etc/zabbix_server.conf”实现,内容如下:DBName=zabbix #数据库名称 DBUser=zabbix #数据库用户名 DBPassword=123456 #数据库密码 ListenIP=127.0.0.1 #数据库ip地址 b.配置zabbix_agent信息。通过修改“/usr/local/zabbix/etc/zabbix_agentd.conf”实现,内容如下:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=14.1.4 配置Web站点a.拷贝Web目录到Nginx的html目录下:cd /usr/local/nginx/html/cp -r /opt/zabbix-4.0.10/zabbix-4.0.10/frontends/php/ /usr/local/nginx/html/zabbixuseradd wwwchown -R www:www /usr/local/nginxchown -R www:www /var/lib/php/*“www”是web服务器的运行用户。 b.配置Nginx信息。通过修改“/usr/local/nginx/conf/nginx.conf”实现,内容修改如下:user www www; ... server { listen 80; server_name localhost; #charset koi8-r; access_log logs/host.access.log; location / { root html; index index.html index.php index.htm; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } ... c.配置php信息。通过修改“/etc/php.ini”实现,内容修改如下:post_max_size =16M max_execution_time =300 max_input_time =300 date.timezone = Asia/Shanghai d.配置php-fpm信息。通过修改“/etc/php-fpm.d/www.conf”实现,内容修改如下:listen = 127.0.0.1:9000 listen.allowed_clients = 127.0.0.1 4.1.5 重启web服务service php-fpm restartpkill nginx/usr/local/nginx/sbin/nginx 4.1.6 启动Zabbix服务端和客户端systemctl stop firewalldsystemctl disable firewallduseradd zabbixmkdir -p /usr/local/etc/zabbix_agentd.conf.dchown zabbix:zabbix /usr/local/etc/zabbix_agentd.conf.dsu - zabbix cd /usr/local/zabbix/sbin./zabbix_server./zabbix_agentd 4.1.7 通过浏览器访问Zabbix网页http://[ECS公网IP]/zabbix/index.php,回显如下,安装成功: 5 参考信息https://www.huaweicloud.com/kunpeng/software/zabbix.html
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签