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


本文标签: 配置 系统 运行