admin 管理员组文章数量: 887021
2024年3月27日发(作者:附近哪里有学电脑培训班)
ISSN1009-3044
Computer
Knowledge
Knowledge
and
and
Technology
Technology
电脑知识
电脑知识
与技术
与技术
Computer
Vol.16,No.3,January.2020
E-mail:kfyj@
第16卷第3期(2020年1月)
http://
Tel:+86-551-6569
使用ARM64架构主机搭建Zabbix运维监视运行环境
郭彬,吴学离,周浩洁
(广州东方电科自动化有限公司研发部,山东烟台264000)
摘要:计算机操作系统的确为系统运维人员提供了丰富的指令集,可以监控到系统所有的状态信息;但是这些都是分立的
命令,给出的均是命令行输出,不利于分析和发现问题。Zabbix是一个基于WEB的分布式监控系统开源软件,可以集中监
控各种设备运行状态,保障系统安全运营。因此需要为计算机运营系统配置一套Zabbix监控系统运行环境,便于系统运
维。目前ARM64架构主机已经可以在计算机系统中承担部分轻量级的业务角色,同时具备更低的系统生成和运营成本,
因此我们尝试在ARM64主机上搭建Zabbix集中监控系统。文中给出系统搭建的过程,明确安装过程中需要注意的配置操
作,深化对操作系统、关系数据库等相关软件按的认识;最终我们展示了Zabbix系统发布系统的可视化系统运行数据。
关键词:Linux操作系统;ARM架构;Nginx服务;MySQL数据库;Zabbix集中监控系统
中图分类号:TP311文献标识码:A
开放科学(资源服务)标识码(OSID):
文章编号:1009-3044(2020)03-0242-04
UseARM64ArchitectureHosttoBuildZabbixOperationandMaintenanceMonitoringEnvironment
GUOBin,WUXue-Li,ZHOUHao-Jie
(earchanddevelopmentdepartment,Yantai264000,China)
Abstract:ThecomputerOperatingSystemreallyprovidesasetofinstructionsforsystemmaintenancepersonnel,andtheycanmonitor
'snotconduciveto
isaweb-basedopensourcemonitoringsystem,whichcancentrallymonitortherunningstateof
ore,itisnecessarytoconfigureaZabbixmonitoringsystemoperating
environmentforinthecompent,theARM64architec⁃
turehosthasbeenabletoundertakesomelightweightbusinessrolesincomputersystemswithlowersystemgenerationandoperating
ore,paper,theprocessofsystemcon⁃
structionisgiven,theconfigurationoperationthatneedstobepaidattentiontointheinstallationprocessisclarified,andtheunder⁃
standingofrelevy,weshowthevisualsystemoperation
dataoftheZabbixsystemreleasesystem.
Keywords:LinuxOperatingSystem;ARMarchitecture;Nginxserver;MySQLdatabase;Zabbixcentralizedmonitoringsystem
1概述
Zabbix系统由两部分组成,Zabbix_server和Zabbix_agent;
Zabbix_server可以通过Agent,SNMP等多种接口方式获取被监
控服务器状态;它可以部署在Linux/UNIX等操作系统上;支持
Oracle,MySQL和DB2等主流数据库系统;灵活的信息接入方
式,支持多种主流操作系统和数据库,兼具易用性和易维护性,
这些都是我们选择Zabbix的原因。
配置Zabbix需要事先在相关节点上安装Linux操作系统;
运行Zabbix_server的节点需要安装MySQL数据库,毕竟相对于
Oracle和DB2而言MySQL是一个轻量级的关系数据库系统,更
适用于当前系统应用;Zabbix_server还需要一个web信息发布
平台,我们选择Nginx和PHP为其提供web发布功能。综上所
述,我们要为Zabbix_server搭建一个完整的LMNP(LinuxOS,
MySQL,Nginx和PHP)运行环境。
2系统运行环境描述
ARM主机选用天启科技的AIO-3399J高性能主机,主机上
搭载RK339964位处理器,安装Ubuntu操作系统,通过操作系
[1]
统命令uname-nmo;lsb_release-d可以查到系统参数如下:
收稿日期:2019-10-09
作者简介:郭彬,研究生,高级工程师;吴学离,本科,2017年03-07月于达内培训JAVA工程师,并获得微软MicrosoftTechnologyAs⁃
sociate及专项技术证书(高级);2019年03-04月获取中国信息安全测评中心注册信息安全专业人员资格;周浩洁,本科,工
程师,高级项目经理培训,高级项目经理。
242
计算机工程应用技术
本栏目责任编辑:梁书
第16卷第3期(2020年1月)
解读命令输出信息:主机名firefly,aarch64为ARM64处理
器指令集,操作系统版本为Ubuntu16forARM;同时我们选取
一台X86_64架构主机,通过操作系统命令查看系统参数如下:
RHEL6.10
解读命令输出:
版本64位操作系统。
主机名lpdesktop
Zabbix
,X86_64
软件功能部署如下图:
架构主机,安装
图1显示Zabbix服务/agent和运维工作站连接关系
计划在firefly(ARM64架构)主机上部署Zabbix服务和Agent
功能,因此需要在该节点上部署LMNP运行环境;由于本节点
具备Agent功能,这样firefly主机提供Zabbix监控服务同时可以
监控自身的运行状态;在X86_64主机上仅部署Zabbix的Agent
功能,发送主机运行信息到Zabbix服务节点。
3在系统主机上配置LMNP运行环境
MySQL
Linux操作系统已经在各个节点上安装,略过。我们从
3.1在ARM64
数据库安装和配置开始。
主机上配置MySQL数据库程序
官网下载源码包,在预设mysql用户家
目录下解压和编译MySQL数据程序;在编译MySQL之前需要
准备其它相关软件,如boost_1_59_0和cmake等,具体配置选项
和编译参考相关技术网站。
etc/
MySQL程序编译完成之后,配置/
初始化MySQL
文件和
数据库
/etc/init.d/mysqld文件,通过如下命令行程序
datadir=/usr/users/mysqldata
./bin/mysqld—initialize
[2]
—basedir=/media/nvme0n1/mysql—
如上述操作成功完成后在输出信息结尾将给出初始的口
令,可以通过mysql-uroot-p登陆MySQL数据库,进入mysql
程序命令行交互界面,
set
flush
password=password('ytdf000')
执行SQL命令如下:
[3]
;
MySQL
更新
privileges;
参考系统需求。通过操作系统命令
数据库
MySQL
root
数据库
用户口令为
root用户口令并即时生效,
ytdf000
systemctl
,实际口令设置复杂度需
本例设置
enablemysqld设
置MySQL服务自动启动。
如上述操作完成MySQL数据库软件编译部署和数据库初
始化。
3.2在MySQL数据库系统中生成Zabbixdb数据库
bix
zabbix
应用程序的编译部署。在
当前步骤需要完成Zabbix
ARM64
应用数据库创建,
主机Ubuntu
然后进行Zab⁃
用户,在用户家目录下部署Zabbix软件;官网下载
系统中预设
路径下的MySQL脚本,
代码包并解压,
创建Zabbix
首先执行
应用数据库,
Zabbix
相关脚本如下:
代码包释放
zab⁃
其中表结构脚本;图片库脚本;data.
本栏目责任编辑:梁书
ComputerKnowledgeandTechnology
电脑知识
与技术
sql
用户进入
是数据库记录脚本;
1)
mysql交互命令界面,
在上述脚本路径位置以
参考如下步骤:
MySQL的root
create
创建zabbixdb数据库
2)
databasezabbixdbcharactersetutf8
[3]
;
'ytdf000'
grant
声明
[3]
all
zabbixdb
onzabbixdb.
数据库下名为
*to
zabbix
zabbix@dbs1
的用户
identifiedby
本例口令为
;
3)
通过
执行
ytdf000;
use
Zabbix
zabbixdb;
数据库系统生成脚本
命令切换到zabbix数据库,通过source
命令执行
source
Zabbix应用数据库脚本,如下:
source
;
source
;
show
通过终端提示可以验证脚本执行是否正确。可以通过
;
3.3在
tables;
ARM64
等命令检查
主机上配置
zabbixdb
Nginx
参数表生成情况。
信息发布引擎
Nginx
官网下载
程序,
nginx_,在解压释放路径下编译
install
./configure
命令如下:
—prefix=/media/nvme0n1/nginx;make&&make
conf/
编译完成后需要编辑其配置文件
;
容如下:
以适应Zabbix的php格式信息发布脚本,
/media/nvme0n1/nginx/
修改内
①
生效;
②
第
第
20
24
行
行
log_format
access_log
main
logs/access.
去掉注释使生效;
logmain;去掉注释使
③第44行
句块;
④第65-71
index
行取消注释,
后添加
开放有关
;
location~.php$的语
在文件安装路径/media/nvme0n1/nginx/sbin目录下直接执
行命令:./nginx-c/media/nvme0n1/nginx/conf/
[4]
,
通过系统命令简单测试,命令和查询结果如下
验证Nginx进程已经运行;可以在/lib/systemd/system/目录
下编辑e文件,通过systemctl指令配置nginx自动启
动,配置文件内容参考其它Nginx相关资料。
3.4在ARM64主机上编译安装PHP脚本解释程序
官网下载源码包,并解压编译;编译配置注
意结合MySQL并支持php-fpm,具体编译配置选项参考相关技
术论坛;编译配置监测过程中可能会提示缺少部分相关程序,
可以通过Ubuntu系统的apt-getinstall联网安装或者通过官网
下载代码包编译。运行配置脚本之后通过
stall
php-fpm
命令编译安装;
make&&makein⁃
cp./sapi/fpm/-fpm
文件拷贝到/etc/init.d
编译安装完成后将代码路径下的
路径下,如命令:
init.d.
systemctl
通过systemctlenablephp-fpm
/etc/init.d/php-fpm
配置服务自动启动,通过
netstat
start
-antp
php-fpm
|grep
运行
php-fpm
php进程管理软件;
检查配置运行情况显示
通过命令
计算机工程应用技术
243
ComputerKnowledgeandTechnology
电脑知识
与技术
说明php-fpm运行且监听于9000端口;
在Zabbix配置过程中需要修改部分选项参数,如
下表。
上述操作基本完成LNMP的配置。
表1编辑修改配置选项(仅供参考)
max_execution_time
max_input_time
=
memory_limit
=300
300
post_max_size
=128M
extension
ne
=""
=16M
=Asia/Shanghai
4在ARM64主机上编译安装Zabbix软件并配置Zab⁃
bix-server和Zabbix-agent运行
4.1Zabbix程序的编译生成
在ARM64主机Ubuntu系统中预设zabbix用户,在用户家
目录下部署Zabbix软件;官网下载代码
包并解压,
server
在ARM64上
详细配置参考
和zabbix-agent
Zabbix
功能,
Zabbix
官网和相关论坛;
结合
程序编译需要明确使用
MySQL,
zabbix-
配置完成之后生成编译
net-snmp等系统功能,
脚本文件,通过make&&makeinstall编译并且安装。
编译安装之后首先编辑$HOME/etc下的zabbix_
和zabbix_文件。
4.2Zabbix编辑Zabbix_server运行配置文件
media/nvme0n1/zabbix/tmp/zabbix_
1)在zbbbix用户家目录下设置tmp目录,设置项LogFile=/
信息;
bix/tmp/zabbix_
文中设置PID文件生成路径
保存程序运行日志
media/nvme0n1/zabbix/tmp
;设置Socket
PidFile=/media/nvme0n1/zab⁃
文件生成路径SocketDir=/
机名;
2)已经在MySQL配置过程中于
;
/etc/hosts
bixdb
设置
,
设置
设置访问
DBHost=dbs1
Zabbixdb
;
数据库用户
设置Zabbix
DBUser=zabbix
数据库名
设置
DBName=zab⁃
dbs1网络主
,访问口令
etc/zabbix_.d/*.conf
3)
DBPassword=ytdf000
设置子配置文件路径项
;
Include=/media/nvme0n1/zabbix/
4.3编辑Zabbix_agent运行配置文件
zabbix/tmp/zabbix_
1)设置日志文件保存路径项为
/media/nvme0n1/zabbix/tmp/zabbix_
;设置PID文件生成路径为
LogFile=/media/nvme0n1/
PidFile=
本
2)设置提供Zabbix服务节点Server=172.20.82.41
;
,当前为
172.20.82.41
机IP;若设置Agent为主动工作方式,
fly
列表一致,
,为本机节点名称;
,当前对应本机
见下文。
与Zabbix
IP;
信息发布系统配置的
设置Agent主机Hostname=fire⁃
ServerActive=
host主机
bix/etc/zabbix_.d/*.conf
3)设置子配置文件路径项为Include=/media/nvme0n1/zab⁃
4.4配置Zabbix程序自动运行
;
完成进程配置文件修改后配置Zabbix服务和Agent进程自
动运行,切换到$HOME/zabbix-4.0.13rc1/misc/init.d/debian路径
下,确认zabbix-agent和zabbix-server文件内容,特别是DAE⁃
244
计算机工程应用技术
第16卷第3期(2020年1月)
MON
DAEMON=/media/nvme0n1/zabbix/sbin/${NAME}
路径信息是否正确,如下:
agent
需要结合实际应用程序所在路径填写;
命令设置
和zabbix-server
zabbix-server
到
最后拷贝zabbix-
和
/etc/init.d/
zabbix-agent
路径下,
自动运行;
通过systemctl
配置完成执行
enable
如下命令
显示zabbix服务和Agent运行;分别监听于10051和10050
端口。
5配置Zabbix信息发布
5.1将Zabbix信息发布目录配置到Nginx上
4.0.13rc1/frontends
在Zabbix用户家目
下,如下命令
位置,拷贝
录下
php
,切
目录到
换路
nginx
径到
信息发布根目录
$HOME/zabbix-
拷贝成
cp-rp
zabbix
php
;在新生成的
/media/nvme0n1/nginx/html/zabbix
/media/nvme0n1/nginx/html/zabbix
,将php目录
路
径下增加文件,文件内容为,目的
在于调试。
5.2Zabbix信息发布配置
在运维工作站打开浏览器,输入Nginx服务运行主机地址,
本
Admin
例为172.20.82.41/zabbix/,首次登
照引导操作。
,口令为zabbix,登入后显示如下信息发布图形界面,
陆用户为
按
1)
图2显示进入zabbix配置界面
单击
Zabbix
Next
预配置检查
Step进入Checkofpre-requisites界面,主要是检
查文件配置信息,我们此前做过配置;如果有选项参数
仍需要修改,按照提示修改文件中的配置项,然后重新
运行
2)
php-fpm
单击
填写
服务使修改生效;
Next
Zabbix
Step
数据库信息
按钮进入ConfigureDBConnection,填写数
据库类型为MySQL;数据库主机为dbs1;数据库端口为3306;数
据库名为
ytdf000
3)
;
zabbixdb;数据库用户为zabbix;数据库登陆口令为
单击
填写
上述配置参数均与
Next
Zabbix
Step
服务器信息
Zabbix数据库生成部分相对应;
按钮进入Zabbixserverdetails,填写主机写
主机名称firefly或IP;端口号填写10051;服务器名称填写主机
名称或IP;下一步显示Pre-installationsummary(预配置汇总信
息);核实无误单击NextStep按钮显示信息提示配置成功。
图3显示配置成功提示信息
本栏目责任编辑:梁书
第16卷第3期(2020年1月)
6在X86_64架构主机上部署Zabbixagent
6.1在X86_64架构主机上编译Zabbix软件
在RHEL6.10操作系统中预设zabbix用户,在用户家目录
下部署Zabbix软件;软件安装过程与前文所述相似,编译配置
命令为:./configure—prefix=/usr/local/zabbix—enable-agent
通过编译选项仅生成zabbix的agent功能。
6.2编辑Zabbix_agent运行配置文件
编译安装完成之后,编辑$HOME/etc/zabbix_文
件,修改内容如下:
位置项为
1)在zabbix
PidFile=/usr/users/zabbix/tmp/zabbix_
用户家目录预设tmp目录,设置PID问价生成
;设置
日
bix_
志文件保存位置为LogFile=/usr/users/zabbix/tmp/zab⁃
bix_server
2)设置提供
;
Zabbix
Active=172.20.82.41
运行节点
主机Hostname=lpdesktop
,
IP
服务节点Server=172.20.82.41,指向Zb⁃
指向提供
;若设置Agent
,
Zabbix
为主动工作方式,
服务节点IP;设置
Server⁃
Agent
zabbix_.d/*.conf
3)设置子配置文件路径项为
为本机节点名称;
Include=/usr/users/zabbix/etc/
6.3配置Zabbix_agent服务自动运行
;
4.0.13rc1/misc/init.d/fedora/core
在zabbix代码释放路径下切换到
内容路径信息是否正确,如下:
路径下,
/usr/users/zabbix/zabbix-
确认zabbix_agentd文件
拷贝文件zabbix-agent到/etc/init.d/
运行,
chkconfig
通过service
—add
zabbix_agentd
zabbix_agentd
start
命令设置
路径下,
启动服务,
zabbix_agentd
通过
验证命令如下:
自动
显示zabbix_agentd运行,监听于10050端口。
6.4在Zabbix信息发布系统中加入lpdesktop主机
1)
通过浏览器登录我们刚刚配置好的
在Zabbix信息发布系统中加入被监控主机信息
Zabbix信息发布系统,
点击第一行菜单中
host
新增的主机信息,
热点,点击右上
Configuration
Hostname
CreateHost
项填写被监控主机节点名,
按钮,
热点,
在弹出的
然后点击第二行菜单的
Hosts页面填写
在此填
写lpdesktop,与前文zabbix_文件中Hostname项一致;
通过
Zabbix
Select按钮选取主机功能所属组,本例为LinuxServers
的网络接口
Server
IP
;代理接口填写当前主机可以访问
,Agent端口号10050;操作完成需要单击
Zabbix服务器
和
Update
按钮确认;
2)
返回
为被监控主机选取
Hosts页面,看到
Templates
lpdesktop主机已经加上;单击host列
表中的
plates
lpdesktop主机,再次进入其
本例选择
进入
Temlate
Templates
APP
配置页面,
host设置界面;点击Tem⁃
ZabbixServer
通过
和
Select
Template
选取模板类型;
OSLinux,
例如
通过
单击ADD按钮加入已连接模板列表,通过Update按钮更新主
机信息;
本栏目责任编辑:梁书
ComputerKnowledgeandTechnology
电脑知识
与技术
3)
tory
在被监控
为被监控主机设置部署信息
lpdesktop主机的hosts设置界面,单击
按钮,
进入主机部署页面,
Hosts
而后单击页面底部的
默认状态为
Update按钮,
Disabled
完成操作返回返回
,单击
Host
Automated
inven⁃
完成上述操作就完成了在
页面。
Zabbix系统中加入一台被监控
目标主机的加入工作,通过Hosts页显示主机已经处于Enabled
状态。
通过Zabbix浏览页面第一行Monitor按钮进入系统监视
页,通过
拉列表选取需要查看的内容,
Linux
graphs
servers
选取图表输出功能;
,在Host下拉列表选取
在Group下拉列表选取
效果如下图
lpdesktop
:
,在Graph下
CPU负荷
图4X86_64主机监控效果
硬盘使用
Zabbix_agent
如上图示,
信息发布显示到浏览器上,
服务发送到
说明lpdesktop
ARM
Zabbix
主机的
主机运行状态信息通过自身的
agent
Zabbix_server
功能配置完成。
,再由Nginx
7总结
我们终于完成了将Zabbix功能部署于ARM主机的工作。
实现了对计算机系统的有效监控,同时兼顾监控系统的投入和
运营的经济性。需要说明的是Zabbix集中监控系统提供的功
能很完备,还可以监视诸如Solaris,AIX和HP-UX等UNIX小型
机运行状态,被监控主机仅需要部署Zabbix-agent功能,部署相
对简单,
SNMP
篇幅所限不在此叙述。
,JMX
资源占用少,
和IPMI接口实现对目标主机监控,
不影响服务器自身业务负荷;
由于实验环境和
也可以经由
Zabbix
通过上文我们可以基本了解在LMNP齐备的情况下配置
相关知识;
服务的过程,
并且我们验证了
同时更深入了解操作系统、
ARM64架构处理器的处理能力,
关系数据库等
完
全可以胜任一些轻量级的业务角色。
参考文献:
[1]刘遄.Linux就该这么学[M].北京:人民邮电出版社,2017:47-
[2]
78,89-96.
[
MySQL
美]保罗
技
.迪布瓦
术内幕
(Paul
(第
DuBois)
5版).,北
著
京
,张雪平
:人民
,何莉莉
邮
,陶虹等译.
[3]
412-440.
电出版社,2015:
刘增杰.MySQL5.7从入门到精通[M].北京:清华大学出版社,
[4]
2016:29-36,37-46,47-79,347-365.
高俊峰
与集群应用
.高性能
22-28.
(第1
Linux
版)[M].
服务器构建实战
北京:机械工业出版社
:运维监控、
,2012:1-14,
性能调优
【通联编辑:光文玲】
计算机工程应用技术
245
版权声明:本文标题:使用arm64架构主机搭建zabbix运维监视运行环境 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1711527647h601007.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论