亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2024-09-12 00:00:00王豐任雪
        物聯(lián)網(wǎng)技術(shù) 2024年8期

        摘 要:申威作為純自主指令架構(gòu)處理器,已經(jīng)應(yīng)用于民用市場。文中主要研究Zabbix系統(tǒng)在國產(chǎn)自主架構(gòu)申威服務(wù)器的編譯移植問題以及部分功能的模擬應(yīng)用來簡單說明利用開源軟件解決申威服務(wù)器編譯移植問題的思路,并實(shí)現(xiàn)功能測試,以驗(yàn)證適配移植思路是否正確,從而證明國產(chǎn)服務(wù)器已經(jī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)營監(jiān)控領(lǐng)域,但主要使用于x86架構(gòu)和ARM架構(gòu)服務(wù)器上。

        作為純國產(chǎn)自主指令集架構(gòu)的申威服務(wù)器目前也被廣泛應(yīng)用于民用市場[1]。作為民用產(chǎn)品服務(wù)器,需要更為完備的生態(tài)系統(tǒng),因此國產(chǎn)申威服務(wù)器更需要實(shí)現(xiàn)開源軟件的編譯移植,適配后的軟件應(yīng)用試驗(yàn)及相應(yīng)功能測試[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ì)通過查找對應(yīng)依賴包并創(chuàng)建軟連接的方式解決,具體如圖5所示。

        2 應(yīng) 用

        Zabbix作為一個(gè)IT運(yùn)維的綜合應(yīng)用解決方案可以監(jiān)控較多軟件運(yùn)行,而文中主要針對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即可,相對于安裝服務(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)于訪問請求的監(jiān)控項(xiàng)[9]。

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

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

        模擬端執(zhí)行模擬訪問請求后,查看Zabbix對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)控測試

        文中通過Apache JMeter測試工具分別執(zhí)行插入數(shù)據(jù)、修改數(shù)據(jù)、查詢數(shù)據(jù)和刪除數(shù)據(jù)操作各100萬次,最終MySQL數(shù)據(jù)監(jiān)測界面如圖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)測,滿足了應(yīng)用需求。

        3 結(jié) 語

        綜上所述,Zabbix在申威服務(wù)器完成編譯移植工作過程中可能會(huì)遇到一些問題,主要以無法識(shí)別宿主服務(wù)器CPU架構(gòu)居多,需要移植工作者針對出現(xiàn)的問題進(jìn)行分析并解決,而文中已經(jīng)完成了Zabbix的安裝部署以及部分功能的測試,過程結(jié)合了PHP、Apache、Nginx以及MySQL數(shù)據(jù)庫的綜合應(yīng)用。申威架構(gòu)服務(wù)器可以滿足民用市場的需求[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

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

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

        91日韩东京热中文字幕| 中文字幕亚洲无线码高清| 国产黄色精品高潮播放| 久久精品人妻一区二三区| 精品卡一卡二乱码新区| 成人免费一区二区三区| 亚洲国产一区在线二区三区| 国产一区二区三区资源在线观看| 美女视频在线观看网址大全| 午夜福利理论片在线观看| ā片在线观看| 久久精品国产亚洲AⅤ无码剧情 | 亚洲精品亚洲人成在线下载| 久久久99精品国产片| 亚洲中文字幕人妻av在线| 永久免费av无码入口国语片| 亚洲AV秘 片一区二区三| 亚洲av男人免费久久| 国产一区二区三区日韩精品| 日本不卡一区二区三区在线| 丁香婷婷色| 国产一区二区白浆在线观看| 国产乱人无码伦av在线a| 成人性生交片无码免费看| 少妇熟女淫荡丰满| 国产一区二区三区啊啊| 少妇高潮一区二区三区99| 99久久久国产精品免费蜜臀| 久久精品这里就是精品| 精品一区二区av天堂色偷偷| 亚洲精品国产成人久久av| 日本a级片一区二区三区| 少妇伦子伦情品无吗| 少妇内射高潮福利炮| a√无码在线观看| 午夜大片在线播放观看| 亚洲国产欧美日韩欧美特级| 亚洲AV永久青草无码性色av| 日本一区二区三区免费| 日韩av高清在线观看| 久久久噜噜噜久久中文字幕色伊伊|