999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于申威架構的Zabbix編譯移植及模擬應用

2024-09-12 00:00:00王豐任雪
物聯網技術 2024年8期

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

關鍵詞:申威架構;Zabbix;編譯安裝;模擬應用;移植;服務器

中圖分類號:TP314 文獻標識碼:A 文章編號:2095-1302(2024)08-0-04

DOI:10.16667/j.issn.2095-1302.2024.08.032

0 引 言

Zabbix作為一個基于Web界面的提供分布式系統監視功能的企業級開源解決方案已經被廣泛應用于系統運營監控領域,但主要使用于x86架構和ARM架構服務器上。

作為純國產自主指令集架構的申威服務器目前也被廣泛應用于民用市場[1]。作為民用產品服務器,需要更為完備的生態系統,因此國產申威服務器更需要實現開源軟件的編譯移植,適配后的軟件應用試驗及相應功能測試[2]。文中提供了Zabbix在國產申威服務器上的軟件編譯移植以及部分功能的模擬應用[3],希望能為申威生態適配工作提供幫助[4],促進申威生態系統的完善。

1 編譯安裝

1.1 準備工作

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

/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 編譯安裝

執行預編譯,指定安裝路徑為:/usr/local/zabbix,同時編譯zabbix_server和zabbix_agentd兩個模塊,其中預編譯指令如下:

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

(1)MySQL數據庫依賴異常

MySQL數據庫依賴異常報錯如圖1所示。

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

#./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依賴報錯如圖2所示。

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

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

#./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,進行依賴安裝:#apt-get install libevent-devel,安裝完成后繼續執行預編譯:

#./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依賴報錯如圖3所示。

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

#./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)編譯安裝

預編譯成功界面如圖4所示。

預編譯完成后執行編譯安裝程序:

#make amp; make insall

至此,服務Zabbix的編譯安裝完成。

1.3 Web服務配置部署

(1)添加Zabbix系統賬號

添加Zabbix系統賬號的命令如下所示:

#groupadd zabbix

#useradd -g zabbix -m zabbix

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

(2)數據庫配置

修改zabbix_server.conf配置文件中的配置項目,文中只修改關于數據庫連接的配置,具體如下:

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

DBName=zabbix

DBUser=zabbixer

DBPassword=123456

(3)Web部署配置

Zabbix網頁服務部署可以采用Nginx和Apache兩種方式,文中采用Apache部署方式進行該Web服務的部署:

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

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

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

#vi /etc/apache2/apache2.conf//統信系統

#vi /etc/httpd/conf/httpd/conf//麒麟系統

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服務:#service apache2 restart

完成部署后,我們通過瀏覽器訪問http://192.168.17.171/index.php,文中采用內網部署方式,通過部署機器的內網ip便可訪問Zabbix服務的安裝指導頁面,按照流程進行操作安裝。

(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)初始化數據庫

創建數據庫Zabbix:CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

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

(6)啟動zabbix_server服務

zabbix_server啟動過程中可能會遇到找不到依賴的問題,文中系統遇到異常問題后會通過查找對應依賴包并創建軟連接的方式解決,具體如圖5所示。

2 應 用

Zabbix作為一個IT運維的綜合應用解決方案可以監控較多軟件運行,而文中主要針對Nginx服務和MySQL數據庫的訪問進行監控。文中模擬了實際運行環境,監控Nginx服務器和MySQL數據庫。

2.1 Nginx監控應用

(1)Nginx安裝注意事項

安裝Nginx時需要注意,必須安裝http_stub_status_module模塊,其他模塊根據業務需求自行決定是否安裝。安裝代碼如下:

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

(2)狀態監聽配置

在Server模塊中增加一個命令:

location /status {

stub_status on;

}

(3)安裝并配置zabbix-agentd

監聽終端只需安裝zabbix-agentd即可,相對于安裝服務端更容易,無需數據庫等依賴環境。具體操作如下:

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

#make amp; make install

安裝完zabbix-agentd后,需要配置上報數據的服務地址,修改配置文件zabbix_agentd.conf,具體修改內容如下:

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/的目的是為導入后續配置監聽腳本文件,文中配置監聽Nginx狀態的腳本存放在該目錄下。

(4)配置Nginx監聽

此處主要配置監控key文件和Nginx監聽可執行腳本文件地址:

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

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

在目錄/usr/bin下創建nginx_check_status.sh文件并賦予可執行權限:#chmod +x /usr/bin/nginx_check_status.sh,然后編輯該腳本,具體內容如下(Nginx默認端口為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主機監控項配置

首先創建監控主機:Configuration--gt;Hosts,添加被監控主機信息,創建主機名為“Web1”,后續關于Nginx監聽項目的配置都在該主機下進行,文中主要配置監控項items,增加監控服務中關于訪問請求的監控項[9]。

(6)監控測試

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

模擬端執行模擬訪問請求后,查看Zabbix對Nginx的訪問監控,其結果如圖6所示。

2.2 MySQL監控應用

(1)配置MySQL監聽

此處主要配置Zabbix監控數據庫的配置文件(check_mysql.conf)和數據庫可執行文件(check_mysql.sh),以MySQL的查詢監控統計為例進行配置說明。其配置操作如下:

#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

腳本內容如下:

#!/bin/sh

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

MYSQL_USER='zabbix'

MYSQL_PWD='被監控數據庫密碼'

MYSQL_HOST='被監控數據庫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

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

(2)監控測試

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

1 004條是由于JMeter在進行插入、修改和刪除操作時系統反饋查詢所產生。由此可見,Zabbix在申威服務器應用監控MySQL數據功能中可以實現完全監測,滿足了應用需求。

3 結 語

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

發展。

參考文獻

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

[2]柴赟達.面向國產申威平臺的編譯訪存優化技術研究[D].鄭州:鄭州大學,2022.

[3]吳雅雙,張淳,卓皓.基于Zabbix的校園監控系統[J].現代信息技術,2022,44(6):18-20.

[4]鮑正剛,王興元,王豐. Java項目在申威平臺上的移植部署[J].網絡安全技術與應用,2023,23(4):64-66.

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

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

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

[8]郭彬,吳學離,周浩潔.使用ARM64架構主機搭建Zabbix運維監視運行環境[J].電腦知識與技術,2020,27(3):242-245.

[9]張朝暉,陳兆軍,邱艷.基于Docker環境下Zabbix架構運維告警平臺的建設及應用[J].醫療裝備,2023,37(9):19-21.

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

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

作者簡介:王 豐(1987—),男,研究方向為申威架構軟件移植。

任 雪(1984—),男,研究方向為申威架構軟件移植。

主站蜘蛛池模板: 成年A级毛片| 午夜a级毛片| 国产精品亚洲日韩AⅤ在线观看| 久久国产香蕉| 成年女人18毛片毛片免费| 国产亚洲欧美在线中文bt天堂 | 亚洲最黄视频| 国产精品男人的天堂| 亚洲成av人无码综合在线观看| 伊人久久福利中文字幕| 日韩欧美中文字幕在线韩免费| 亚洲日韩第九十九页| 国产精品亚洲va在线观看| 99精品在线视频观看| 国模粉嫩小泬视频在线观看| 人妖无码第一页| 91精品情国产情侣高潮对白蜜| 国产成人1024精品| 在线观看精品国产入口| 亚洲日韩每日更新| 成人福利在线观看| 色综合久久88| 97人人模人人爽人人喊小说| 久久国产毛片| 激情网址在线观看| 毛片免费视频| 波多野结衣无码AV在线| 蝌蚪国产精品视频第一页| 在线观看av永久| 午夜精品久久久久久久无码软件| 欧美在线天堂| 国产成人精品午夜视频'| 天堂av高清一区二区三区| 四虎国产精品永久一区| 成人福利在线视频免费观看| 国产在线观看99| 国产真实乱子伦视频播放| 亚洲欧洲日产国产无码AV| 18禁不卡免费网站| 99热这里只有成人精品国产| 中文字幕1区2区| 色成人亚洲| 国产精品视频公开费视频| 国产精品自拍合集| 国产成人精品一区二区三区| 国产成人久久777777| 国产精品视频观看裸模| 久久精品日日躁夜夜躁欧美| 亚洲成A人V欧美综合| 欧美日本在线播放| 国产成人综合网| 久久精品欧美一区二区| 亚洲色成人www在线观看| 精品视频免费在线| 欧美日本二区| 国产一区二区三区在线精品专区 | 亚洲人成色在线观看| 91精品国产自产在线老师啪l| 精品一区二区三区自慰喷水| 久久香蕉欧美精品| 日本不卡在线| 亚洲成A人V欧美综合天堂| 全裸无码专区| 国产一级毛片高清完整视频版| 无码专区国产精品一区| 国产va欧美va在线观看| 国产在线日本| 91av国产在线| 久久久久无码精品国产免费| 国产白浆一区二区三区视频在线| 欧美成人怡春院在线激情| 久久亚洲欧美综合| 这里只有精品免费视频| 欧美天堂在线| 久久综合九九亚洲一区| 日韩资源站| 亚洲视频在线青青| 伊人色综合久久天天| 国产福利小视频高清在线观看| 久久99精品久久久大学生| 青青草综合网| 欧美一级高清视频在线播放|