• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于申威架構(gòu)的Zabbix編譯移植及模擬應(yīng)用

      2024-09-12 00:00:00王豐任雪
      物聯(lián)網(wǎng)技術(shù) 2024年8期
      關(guān)鍵詞:移植服務(wù)器

      摘 要:申威作為純自主指令架構(gòu)處理器,已經(jīng)應(yīng)用于民用市場(chǎng)。文中主要研究Zabbix系統(tǒng)在國產(chǎn)自主架構(gòu)申威服務(wù)器的編譯移植問題以及部分功能的模擬應(yīng)用來簡(jiǎn)單說明利用開源軟件解決申威服務(wù)器編譯移植問題的思路,并實(shí)現(xiàn)功能測(cè)試,以驗(yàn)證適配移植思路是否正確,從而證明國產(chǎn)服務(wù)器已經(jīng)能夠滿足民用市場(chǎng)需求,為更多申威或其他國產(chǎn)架構(gòu)服務(wù)器移植問題提供解決思路。

      關(guān)鍵詞:申威架構(gòu);Zabbix;編譯安裝;模擬應(yīng)用;移植;服務(wù)器

      中圖分類號(hào):TP314 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)08-0-04

      DOI:10.16667/j.issn.2095-1302.2024.08.032

      0 引 言

      Zabbix作為一個(gè)基于Web界面的提供分布式系統(tǒng)監(jiān)視功能的企業(yè)級(jí)開源解決方案已經(jīng)被廣泛應(yīng)用于系統(tǒng)運(yùn)營(yíng)監(jiān)控領(lǐng)域,但主要使用于x86架構(gòu)和ARM架構(gòu)服務(wù)器上。

      作為純國產(chǎn)自主指令集架構(gòu)的申威服務(wù)器目前也被廣泛應(yīng)用于民用市場(chǎng)[1]。作為民用產(chǎn)品服務(wù)器,需要更為完備的生態(tài)系統(tǒng),因此國產(chǎn)申威服務(wù)器更需要實(shí)現(xiàn)開源軟件的編譯移植,適配后的軟件應(yīng)用試驗(yàn)及相應(yīng)功能測(cè)試[2]。文中提供了Zabbix在國產(chǎn)申威服務(wù)器上的軟件編譯移植以及部分功能的模擬應(yīng)用[3],希望能為申威生態(tài)適配工作提供幫助[4],促進(jìn)申威生態(tài)系統(tǒng)的完善。

      1 編譯安裝

      1.1 準(zhǔn)備工作

      從Zabbix官方網(wǎng)站下載源碼包[5]zabbix-4.0.18.tar.gz,將源碼包拷貝至待安裝Zabbix服務(wù)的申威服務(wù)器中,拷貝至

      /opt目錄下。

      解壓zabbix-4.0.18.tar.gz:

      #tar -xvf zabbix-4.0.18.tar.gz

      替換config.guess和config.sub[6],代碼如下:

      # cp /usr/share/automake-1.16/config.sub /opt/subversion-1.14.2/build/config.sub

      #cp /usr/share/automake-1.16/config.guess /opt/subversion-1.14.2/build/config.guess

      1.2 編譯安裝

      執(zhí)行預(yù)編譯,指定安裝路徑為:/usr/local/zabbix,同時(shí)編譯zabbix_server和zabbix_agentd兩個(gè)模塊,其中預(yù)編譯指令如下:

      #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with--ssh2

      (1)MySQL數(shù)據(jù)庫依賴異常

      MySQL數(shù)據(jù)庫依賴異常報(bào)錯(cuò)如圖1所示。

      缺少數(shù)據(jù)庫依賴,編譯安裝MySQL(MySQL5.7.40)。將MySQL安裝在該目錄下:/usr/local/mysql,完成MySQL編譯安裝后執(zhí)行指令:

      #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp --with-libcurl --with--ssh2

      (2)net-snmp異常

      net-snmp依賴報(bào)錯(cuò)如圖2所示。

      缺少net-snmp依賴,編譯安裝net-snmp(net-snmp-5.9.3)[6],

      將net-snmp安裝在該目錄下:/usr/local/net-snmp,完成net-snmp編譯安裝后執(zhí)行指令:

      #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp=/usr/local/net-snmp/bin/net-snmp-config --with-libcurl --with--ssh2

      (3)libevent缺少

      缺少依賴libevent,進(jìn)行依賴安裝:#apt-get install libevent-devel,安裝完成后繼續(xù)執(zhí)行預(yù)編譯:

      #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp=/usr/local/net-snmp/bin/net-snmp-config --with-libcurl --with--ssh2

      (4)curl異常

      curl依賴報(bào)錯(cuò)如圖3所示。

      缺少curl依賴,編譯安裝curl[7](curl-7.30.0),并將curl安裝在該目錄下:/usr/local/curl,安裝完成后繼續(xù)執(zhí)行預(yù)編譯:

      #./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --enable-ipv6 --with-net-snmp=/usr/local/net-snmp/bin/net-snmp-config --with-libcurl=/usr/local/curl/bin/curl-config --with--ssh2

      (5)編譯安裝

      預(yù)編譯成功界面如圖4所示。

      預(yù)編譯完成后執(zhí)行編譯安裝程序:

      #make amp; make insall

      至此,服務(wù)Zabbix的編譯安裝完成。

      1.3 Web服務(wù)配置部署

      (1)添加Zabbix系統(tǒng)賬號(hào)

      添加Zabbix系統(tǒng)賬號(hào)的命令如下所示:

      #groupadd zabbix

      #useradd -g zabbix -m zabbix

      #chown -R root.zabbix /usr/local/zabbix

      (2)數(shù)據(jù)庫配置

      修改zabbix_server.conf配置文件中的配置項(xiàng)目,文中只修改關(guān)于數(shù)據(jù)庫連接的配置,具體如下:

      #vi /usr/local/zabbix/etc/zabbix_server.conf

      DBName=zabbix

      DBUser=zabbixer

      DBPassword=123456

      (3)Web部署配置

      Zabbix網(wǎng)頁服務(wù)部署可以采用Nginx和Apache兩種方式,文中采用Apache部署方式進(jìn)行該Web服務(wù)的部署:

      #cp -r zabbix-4.0.18/frontends/php/* /var/www/zabbix/

      #chown -R zabbix.zabbix /var/www/zabbix/

      修改Apache的配置文件(統(tǒng)信系統(tǒng)修改apache2.conf,麒麟系統(tǒng)修改httpd.conf):

      #vi /etc/apache2/apache2.conf//統(tǒng)信系統(tǒng)

      #vi /etc/httpd/conf/httpd/conf//麒麟系統(tǒng)

      lt;Directory /var/www/zabbix/gt;

      Options Indexes FollowSymLinks

      AllowOverride None

      Require all granted

      lt;/Directorygt;

      #vi /etc/apache2/sites-enabled/000-default.conf

      DocumentRoot /var/www/zabbix

      重啟Apache服務(wù):#service apache2 restart

      完成部署后,我們通過瀏覽器訪問http://192.168.17.171/index.php,文中采用內(nèi)網(wǎng)部署方式,通過部署機(jī)器的內(nèi)網(wǎng)ip便可訪問Zabbix服務(wù)的安裝指導(dǎo)頁面,按照流程進(jìn)行操作安裝。

      (4)安裝過程中的異常解決方案[8]

      異常1解決方案:

      PHP option \"post_max_size\" 8M 16M Fail

      修改php.ini文件:

      #vi /etc/php/7.3/apache2/php.ini

      post_max_size = 16M

      異常2解決方案:

      PHP option \"max_execution_time\" 30 300 Fail

      #vi /etc/php/7.3/apache2/php.ini

      max_execution_time = 300

      異常3解決方案:

      PHP option \"max_input_time\" 60 300 Fail

      #vi /etc/php/7.3/apache2/php.ini

      max_input_time = 300

      異常4解決方案:

      PHP option \"date.timezone\" unknown Fail

      #vi /etc/php/7.3/apache2/php.ini

      date.timezone = Asia/Shanghai

      異常5解決方案:

      PHP databases support of Fail

      #apt-get install php-mysql

      異常6解決方案:

      PHP bcmath of Fail

      #apt-get install php-bcmath

      異常7解決方案:

      PHP mbstring of Fail

      #apt-get install php-mbstring

      異常8解決方案:

      PHP gd unknown Fail

      PHP gd PNG support of Fail

      PHP gd JPEG support of Fail

      PHP gd FreeType support of Fail

      #apt-get install php-gd

      異常9解決方案:

      PHP xmlwriter of Fail

      PHP xmlreader of Fail

      #apt-get install php-xml

      (5)初始化數(shù)據(jù)庫

      創(chuàng)建數(shù)據(jù)庫Zabbix:CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

      依次執(zhí)行數(shù)據(jù)庫腳本(目錄:zabbix-4.0.18\database\mysql): schema, images, data。

      (6)啟動(dòng)zabbix_server服務(wù)

      zabbix_server啟動(dòng)過程中可能會(huì)遇到找不到依賴的問題,文中系統(tǒng)遇到異常問題后會(huì)通過查找對(duì)應(yīng)依賴包并創(chuàng)建軟連接的方式解決,具體如圖5所示。

      2 應(yīng) 用

      Zabbix作為一個(gè)IT運(yùn)維的綜合應(yīng)用解決方案可以監(jiān)控較多軟件運(yùn)行,而文中主要針對(duì)Nginx服務(wù)和MySQL數(shù)據(jù)庫的訪問進(jìn)行監(jiān)控。文中模擬了實(shí)際運(yùn)行環(huán)境,監(jiān)控Nginx服務(wù)器和MySQL數(shù)據(jù)庫。

      2.1 Nginx監(jiān)控應(yīng)用

      (1)Nginx安裝注意事項(xiàng)

      安裝Nginx時(shí)需要注意,必須安裝http_stub_status_module模塊,其他模塊根據(jù)業(yè)務(wù)需求自行決定是否安裝。安裝代碼如下:

      #./configure --prefix=/usr/local/nginx --with-http_stub_status_module

      (2)狀態(tài)監(jiān)聽配置

      在Server模塊中增加一個(gè)命令:

      location /status {

      stub_status on;

      }

      (3)安裝并配置zabbix-agentd

      監(jiān)聽終端只需安裝zabbix-agentd即可,相對(duì)于安裝服務(wù)端更容易,無需數(shù)據(jù)庫等依賴環(huán)境。具體操作如下:

      #./configure --prefix=/usr/local/zabbix --enable-agentd

      #make amp; make install

      安裝完zabbix-agentd后,需要配置上報(bào)數(shù)據(jù)的服務(wù)地址,修改配置文件zabbix_agentd.conf,具體修改內(nèi)容如下:

      Server=192.168.17.187

      ServerActive=192.168.17.187

      Timeout=15

      Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

      配置Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/的目的是為導(dǎo)入后續(xù)配置監(jiān)聽腳本文件,文中配置監(jiān)聽Nginx狀態(tài)的腳本存放在該目錄下。

      (4)配置Nginx監(jiān)聽

      此處主要配置監(jiān)控key文件和Nginx監(jiān)聽可執(zhí)行腳本文件地址:

      #vi /usr/local/zabbix/etc/zabbix_agentd.conf.d/nginx.status

      UserParameter=nginx.status[*],/usr/bin/nginx_check_status.sh $1

      在目錄/usr/bin下創(chuàng)建nginx_check_status.sh文件并賦予可執(zhí)行權(quán)限:#chmod +x /usr/bin/nginx_check_status.sh,然后編輯該腳本,具體內(nèi)容如下(Nginx默認(rèn)端口為80,文中采用10008端口):

      #!/bin/bash

      case $1 in

      active)

      curl -s http://127.0.0.1:10008/status | awk '/Active/{print $NF}';;

      waiting)

      curl -s http://127.0.0.1:10008/status | awk '/Waiting/{print $NF}';;

      accepts)

      curl -s http://127.0.0.1:10008/status | awk 'NR==3{print $2}';;

      esac

      (5)Zabbix主機(jī)監(jiān)控項(xiàng)配置

      首先創(chuàng)建監(jiān)控主機(jī):Configuration--gt;Hosts,添加被監(jiān)控主機(jī)信息,創(chuàng)建主機(jī)名為“Web1”,后續(xù)關(guān)于Nginx監(jiān)聽項(xiàng)目的配置都在該主機(jī)下進(jìn)行,文中主要配置監(jiān)控項(xiàng)items,增加監(jiān)控服務(wù)中關(guān)于訪問請(qǐng)求的監(jiān)控項(xiàng)[9]。

      (6)監(jiān)控測(cè)試

      通過任意主機(jī)項(xiàng)Nginx服務(wù)發(fā)送數(shù)據(jù)請(qǐng)求,然后查看Zabbix對(duì)Nginx訪問請(qǐng)求的監(jiān)控,其中,文中采用主機(jī)向服務(wù)器發(fā)送10 000次請(qǐng)求,通過指令模擬器向Nginx服務(wù)器發(fā)送并發(fā)數(shù)據(jù),指令如:#ab -c 100 -n 10000 http://192.168.17.187:10008/。

      模擬端執(zhí)行模擬訪問請(qǐng)求后,查看Zabbix對(duì)Nginx的訪問監(jiān)控,其結(jié)果如圖6所示。

      2.2 MySQL監(jiān)控應(yīng)用

      (1)配置MySQL監(jiān)聽

      此處主要配置Zabbix監(jiān)控?cái)?shù)據(jù)庫的配置文件(check_mysql.conf)和數(shù)據(jù)庫可執(zhí)行文件(check_mysql.sh),以MySQL的查詢監(jiān)控統(tǒng)計(jì)為例進(jìn)行配置說明。其配置操作如下:

      #vi/usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.status

      UnsafeUserParameters=1

      UserParameter=mysql.version,mysql -V

      UserParameter=mysql.status[*],/etc/zabbix/check_mysql.sh $1

      UserParameter=mysql.ping,netstat -ntpl |grep 3306 |grep mysql |wc |awk '{print $1}'

      #vi /usr/bin/check_mysql.sh

      腳本內(nèi)容如下:

      #!/bin/sh

      MYSQL_SOCK=\"/var/lib/mysql/mysql.sock\"

      MYSQL_USER='zabbix'

      MYSQL_PWD='被監(jiān)控?cái)?shù)據(jù)庫密碼'

      MYSQL_HOST='被監(jiān)控?cái)?shù)據(jù)庫ip'

      MYSQL_PORT='3306'

      ARGS=1

      case $1 in

      Com_select)

      result=`/usr/bin/mysqladmin -u$MYSQL_USER -h$MYSQL_HOST -p${MYSQL_PWD} -P${MYSQL_PORT} -S $MYSQL_SOCK extended-status 2gt;/dev/1 |grep -w \"Com_select\"|cut -d\"|\" -f3`

      echo $result;;

      esac

      修改該腳本為可執(zhí)行文件:#chmod +x /usr/bin/check_mysql.sh。

      (2)監(jiān)控測(cè)試

      文中通過Apache JMeter測(cè)試工具分別執(zhí)行插入數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)和刪除數(shù)據(jù)操作各100萬次,最終MySQL數(shù)據(jù)監(jiān)測(cè)界面如圖7所示。頁面反饋數(shù)據(jù)存在差異,是由于其中2條修改記錄為手動(dòng)操作產(chǎn)生,而查詢記錄多出

      1 004條是由于JMeter在進(jìn)行插入、修改和刪除操作時(shí)系統(tǒng)反饋查詢所產(chǎn)生。由此可見,Zabbix在申威服務(wù)器應(yīng)用監(jiān)控MySQL數(shù)據(jù)功能中可以實(shí)現(xiàn)完全監(jiān)測(cè),滿足了應(yīng)用需求。

      3 結(jié) 語

      綜上所述,Zabbix在申威服務(wù)器完成編譯移植工作過程中可能會(huì)遇到一些問題,主要以無法識(shí)別宿主服務(wù)器CPU架構(gòu)居多,需要移植工作者針對(duì)出現(xiàn)的問題進(jìn)行分析并解決,而文中已經(jīng)完成了Zabbix的安裝部署以及部分功能的測(cè)試,過程結(jié)合了PHP、Apache、Nginx以及MySQL數(shù)據(jù)庫的綜合應(yīng)用。申威架構(gòu)服務(wù)器可以滿足民用市場(chǎng)的需求[10],但其仍存在諸多不足,需努力改進(jìn),以促進(jìn)申威生態(tài)更好的

      發(fā)展。

      參考文獻(xiàn)

      [1]施光源.基于國產(chǎn)申威處理器的自主可控產(chǎn)品實(shí)踐之路[J].網(wǎng)絡(luò)安全空間,2018,19(9):78-81.

      [2]柴赟達(dá).面向國產(chǎn)申威平臺(tái)的編譯訪存優(yōu)化技術(shù)研究[D].鄭州:鄭州大學(xué),2022.

      [3]吳雅雙,張淳,卓皓.基于Zabbix的校園監(jiān)控系統(tǒng)[J].現(xiàn)代信息技術(shù),2022,44(6):18-20.

      [4]鮑正剛,王興元,王豐. Java項(xiàng)目在申威平臺(tái)上的移植部署[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2023,23(4):64-66.

      [5]鄭鵬飛.基于Zabbix的智慧運(yùn)維在空管信息系統(tǒng)中的應(yīng)用[J].中國新通信,2022,24(22):13-14.

      [6]姚文軍,陳俊仕,蘇志超,等.基于神威太湖之光的NAMD軟件的移植與優(yōu)化[J].計(jì)算機(jī)工程與科學(xué),2017,45(6):1022-1030.

      [7]范黎林,喬一航,李俊飛,等.基于國產(chǎn)C86處理器的CP2K軟件移植與優(yōu)化[J].計(jì)算機(jī)科學(xué),2023,50(6):58-65.

      [8]郭彬,吳學(xué)離,周浩潔.使用ARM64架構(gòu)主機(jī)搭建Zabbix運(yùn)維監(jiān)視運(yùn)行環(huán)境[J].電腦知識(shí)與技術(shù),2020,27(3):242-245.

      [9]張朝暉,陳兆軍,邱艷.基于Docker環(huán)境下Zabbix架構(gòu)運(yùn)維告警平臺(tái)的建設(shè)及應(yīng)用[J].醫(yī)療裝備,2023,37(9):19-21.

      [10]明旭,何慧文,陳磊. DPDK在國產(chǎn)申威處理器平臺(tái)上的應(yīng)用與研究[J].信息安全研究,2018,4(1):53-62.

      收稿日期:2023-09-19 修回日期:2023-10-27

      作者簡(jiǎn)介:王 豐(1987—),男,研究方向?yàn)樯晖軜?gòu)軟件移植。

      任 雪(1984—),男,研究方向?yàn)樯晖軜?gòu)軟件移植。

      猜你喜歡
      移植服務(wù)器
      通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
      基于FreeRTOS系統(tǒng)和LwIP協(xié)議棧的網(wǎng)絡(luò)通訊
      得形忘意的服務(wù)器標(biāo)準(zhǔn)
      西方音樂元素在二胡演奏中的移植
      心臟自體干細(xì)胞移植治療心肌梗死新進(jìn)展
      科技視界(2016年24期)2016-10-11 19:55:02
      “移植”瘦人糞便能減肥?
      計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
      基于Cortex—M4內(nèi)核的μCOS—Ⅱ移植
      科技視界(2016年9期)2016-04-26 10:19:53
      服務(wù)器操作系統(tǒng)可信加固技術(shù)研究
      湖北電力(2016年10期)2016-04-25 07:55:55
      關(guān)于Linux的視頻服務(wù)器開發(fā)與實(shí)現(xiàn)分析
      河南科技(2014年18期)2014-02-27 14:14:43
      宜丰县| 涪陵区| 饶阳县| 西丰县| 澄城县| 宁阳县| 南乐县| 行唐县| 长岭县| 正安县| 五原县| 鹤壁市| 中江县| 清水河县| 日照市| 彝良县| 北安市| 清远市| 白水县| 神农架林区| 长武县| 六安市| 章丘市| 红安县| 昭平县| 遂宁市| 府谷县| 景泰县| 龙岩市| 濮阳县| 肇源县| 四子王旗| 安庆市| 衢州市| 兴城市| 辽宁省| 河东区| 酒泉市| 龙山县| 寿光市| 方正县|