{"id":996,"date":"2025-04-16T09:13:28","date_gmt":"2025-04-16T01:13:28","guid":{"rendered":"https:\/\/www.furyblog.com\/?p=996"},"modified":"2025-04-16T09:13:28","modified_gmt":"2025-04-16T01:13:28","slug":"zabbix%e5%89%8d%e5%90%8e%e7%ab%af%e5%88%86%e7%a6%bb%e5%bc%8f%e9%83%a8%e7%bd%b2%e5%8d%87%e7%ba%a7","status":"publish","type":"post","link":"https:\/\/www.furyblog.com\/?p=996","title":{"rendered":"Zabbix\u524d\u540e\u7aef\u5206\u79bb\u5f0f\u90e8\u7f72\u5347\u7ea7"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u73af\u5883\u8bf4\u660e\uff1a<\/h2>\n\n\n\n<p>zabbix-server 7.0\u5b89\u88c5\u5728\u4e00\u53f0Linux\u4e0a\u4f7f\u7528zabbix\u4ed3\u5e93\u5b89\u88c5\uff0c\u524d\u7aef\u6587\u4ef6\u4f7f\u7528\u5b9d\u5854\u90e8\u7f72\uff08\u6216\u8005\u5176\u4ed6Web\u5e94\u7528\u670d\u52a1\u5668\u90e8\u7f72\uff09\u3002\u672c\u6587\u662f\u5bf9\u4e8e\u975e\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u7684Zabbix\u5347\u7ea7\u8fc7\u7a0b\u3002<\/p>\n\n\n\n<p class=\"has-background\" style=\"background-color:#ff000063\"><strong>\u26a0\u6ce8\u610f\uff1a\u5728\u4efb\u4f55\u6709\u53ef\u80fd\u635f\u574f\u6570\u636e\u7684\u60c5\u51b5\u4e0b\uff0c\u5fc5\u987b\u8981\u8fdb\u884c\u5907\u4efd\u6216\u5feb\u7167\uff01<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5347\u7ea7Zabbix-Server<\/h2>\n\n\n\n<p>\u5728<a href=\"https:\/\/www.zabbix.com\/cn\/download\" target=\"_blank\" rel=\"noreferrer noopener\">Zabbix\u4e0b\u8f7d\u9875\u9762<\/a>\u6839\u636e\u5f53\u524d\u7cfb\u7edf\u548c\u73af\u5883\u9009\u62e9\u547d\u4ee4<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"2552\" height=\"1280\" src=\"https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image.png\" alt=\"\" class=\"wp-image-1007\" srcset=\"https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image.png 2552w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-300x150.png 300w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1024x514.png 1024w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-768x385.png 768w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1536x770.png 1536w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2048x1027.png 2048w\" sizes=\"(max-width: 2552px) 100vw, 2552px\" \/><\/figure>\n\n\n\n<p>\u6839\u636e\u6211\u5f53\u524d\u7684\u7cfb\u7edfAlmaLinux9\u3001MySQL\u3001Nginx\u9009\u62e9\u4ed3\u5e93\u4e3a<a href=\"https:\/\/repo.zabbix.com\/zabbix\/7.2\/release\/alma\/9\/noarch\/zabbix-release-latest-7.2.el9.noarch.rpm\">https:\/\/repo.zabbix.com\/zabbix\/7.2\/release\/alma\/9\/noarch\/zabbix-release-latest-7.2.el9.noarch.rpm<\/a><\/p>\n\n\n\n<p>\u901a\u8fc7\u547d\u4ee4\u5347\u7ea7\uff0c\u8fd9\u91cc\u4e3b\u8981\u5206\u4e3a3\u6b65\uff1a\u2460\u6dfb\u52a0\u6700\u65b0\u7248\u672cZabbix\u4ed3\u5e93\u3002\u2461\u6e05\u7406dnf\u7f13\u5b58\u3002\u2462\u66f4\u65b0\u8f6f\u4ef6\u5305\uff08\u4f60\u4e5f\u53ef\u4ee5\u53ea\u66f4\u65b0Zabbix\uff09\u3002<\/p>\n\n\n\n<p><code>rpm -Uvh https:\/\/repo.zabbix.com\/zabbix\/7.2\/release\/alma\/9\/noarch\/zabbix-release-latest-7.2.el9.noarch.rpm<\/code><br><code>dnf clean all<\/code><br><code>dnf update -y<\/code><\/p>\n\n\n\n<p>\u5347\u7ea7\u5b8c\u6210\u4e4b\u540e\u67e5\u770bZabbix-Server\u7684\u8fd0\u884c\u60c5\u51b5\uff1a<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>&#91;root@ZabbixServer ~]# systemctl status zabbix-server.service\n\u25cf zabbix-server.service - Zabbix Server\n     Loaded: loaded (\/usr\/lib\/systemd\/system\/zabbix-server.service; enabled; preset: disabled)\n     Active: active (running) since Thu 2025-04-10 01:11:18 CST; 5 days ago\n    Process: 177620 ExecStart=\/usr\/sbin\/zabbix_server -c $CONFFILE (code=exited, status=0\/SUCCESS)\n   Main PID: 177622 (zabbix_server)\n      Tasks: 78 (limit: 48340)\n     Memory: 398.2M\n        CPU: 3h 35min 53.941s\n     CGroup: \/system.slice\/zabbix-server.service\n             \u251c\u2500177622 \/usr\/sbin\/zabbix_server -c \/etc\/zabbix\/zabbix_server.conf\n             \u251c\u2500177644 \"\/usr\/sbin\/zabbix_server: ha manager\"\n             \u251c\u2500177645 \"\/usr\/sbin\/zabbix_server: service manager #1 &#91;processed 0 events, updated 0 event tags, deleted 0 problems, synced 0 service updates, idle 5.005325 sec during 5.005451 sec]\"\n             \u251c\u2500177646 \"\/usr\/sbin\/zabbix_server: configuration syncer &#91;synced configuration in 0.038076 sec, idle 10 sec]\"\n             \u251c\u2500177664 \"\/usr\/sbin\/zabbix_server: alert manager #1 &#91;sent 0, failed 0 alerts, idle 5.005786 sec during 5.005901 sec]\"\n             \u251c\u2500177665 \"\/usr\/sbin\/zabbix_server: alerter #1 started\"\n             \u251c\u2500177666 \"\/usr\/sbin\/zabbix_server: alerter #2 started\"\n             \u251c\u2500177667 \"\/usr\/sbin\/zabbix_server: alerter #3 started\"\n             \u251c\u2500177668 \"\/usr\/sbin\/zabbix_server: preprocessing manager #1 &#91;queued 65, processed 352 values, idle 4.995278 sec during 5.005454 sec]\"\n             \u251c\u2500177669 \"\/usr\/sbin\/zabbix_server: lld manager #1 &#91;processed 0 LLD rules, idle 5.005411sec during 5.005577 sec]\"\n             \u251c\u2500177670 \"\/usr\/sbin\/zabbix_server: lld worker #1 &#91;processed 1 LLD rules, idle 318.499155 sec during 318.539707 sec]\"\n             \u251c\u2500177671 \"\/usr\/sbin\/zabbix_server: lld worker #2 &#91;processed 1 LLD rules, idle 66.833412 sec during 66.872666 sec]\"\n             \u251c\u2500177672 \"\/usr\/sbin\/zabbix_server: housekeeper &#91;deleted 3854 hist\/trends, 0 items\/triggers, 612 events, 0 sessions, 0 alarms, 0 audit items, 0 autoreg_host, 0 records in 0.641957 sec, idle for 1 hour(&gt;\n             \u251c\u2500177673 \"\/usr\/sbin\/zabbix_server: timer #1 &#91;updated 0 hosts, suppressed 0 events in 0.002068 sec, idle 59 sec]\"\n             \u251c\u2500177674 \"\/usr\/sbin\/zabbix_server: http poller #1 &#91;got 0 values in 0.000019 sec, getting values]\"\n             \u251c\u2500177675 \"\/usr\/sbin\/zabbix_server: browser poller #1 &#91;got 0 values in 0.000044 sec, idle 5 sec]\"\n             \u251c\u2500177676 \"\/usr\/sbin\/zabbix_server: discovery manager #1 &#91;processing 0 rules, 0 unsaved checks]\"\n             \u251c\u2500177677 \"\/usr\/sbin\/zabbix_server: history syncer #1 &#91;processed 1 values, 1 triggers in 0.003739 sec, idle 1 sec]\"\n             \u251c\u2500177678 \"\/usr\/sbin\/zabbix_server: history syncer #2 &#91;processed 0 values, 0 triggers in 0.000027 sec, idle 1 sec]\"\n             \u251c\u2500177679 \"\/usr\/sbin\/zabbix_server: history syncer #3 &#91;processed 0 values, 0 triggers in 0.000033 sec, idle 1 sec]\"\n             \u251c\u2500177680 \"\/usr\/sbin\/zabbix_server: history syncer #4 &#91;processed 0 values, 0 triggers in 0.000012 sec, idle 1 sec]\"\n             \u251c\u2500177681 \"\/usr\/sbin\/zabbix_server: escalator #1 &#91;processed 0 escalations in 0.002626 sec, idle 3 sec]\"\n             \u251c\u2500177682 \"\/usr\/sbin\/zabbix_server: proxy poller #1 &#91;exchanged data with 0 proxies in 0.000038 sec, idle 5 sec]\"\n             \u251c\u2500177683 \"\/usr\/sbin\/zabbix_server: self-monitoring &#91;processed data in 0.000070 sec, idle 1 sec]\"\n             \u251c\u2500177684 \"\/usr\/sbin\/zabbix_server: task manager &#91;processed 0 task(s) in 0.000869 sec, idle 5 sec]\"\n             \u251c\u2500177685 \"\/usr\/sbin\/zabbix_server: poller #1 &#91;got 3 values in 0.005984 sec, idle 1 sec]\"\n             \u251c\u2500177686 \"\/usr\/sbin\/zabbix_server: poller #2 &#91;got 0 values in 0.000052 sec, idle 1 sec]\"\n             \u251c\u2500177687 \"\/usr\/sbin\/zabbix_server: poller #3 &#91;got 0 values in 0.000041 sec, idle 1 sec]\"\n             \u251c\u2500177688 \"\/usr\/sbin\/zabbix_server: poller #4 &#91;got 0 values in 0.000069 sec, idle 1 sec]\"\n             \u251c\u2500177689 \"\/usr\/sbin\/zabbix_server: poller #5 &#91;got 0 values in 0.000050 sec, idle 1 sec]\"\n             \u251c\u2500177690 \"\/usr\/sbin\/zabbix_server: unreachable poller #1 &#91;got 0 values in 0.000049 sec, idle 5 sec]\"\n             \u251c\u2500177691 \"\/usr\/sbin\/zabbix_server: trapper #1 &#91;processed data in 0.000228 sec, waiting for connection]\"\n             \u251c\u2500177692 \"\/usr\/sbin\/zabbix_server: trapper #2 &#91;processed data in 0.000198 sec, waiting for connection]\"\n             \u251c\u2500177693 \"\/usr\/sbin\/zabbix_server: trapper #3 &#91;processed data in 0.000206 sec, waiting for connection]\"\n             \u251c\u2500177694 \"\/usr\/sbin\/zabbix_server: trapper #4 &#91;processed data in 0.000056 sec, waiting for connection]\"\n             \u251c\u2500177695 \"\/usr\/sbin\/zabbix_server: trapper #5 &#91;processed data in 0.000207 sec, waiting for connection]\"\n             \u251c\u2500177696 \"\/usr\/sbin\/zabbix_server: icmp pinger #1 &#91;got 3 values in 2.004884 sec, idle 5 sec]\"\n             \u251c\u2500177697 \"\/usr\/sbin\/zabbix_server: alert syncer &#91;queued 0 alerts(s), flushed 0 result(s) in 0.000001 sec, idle 1 sec]\"\n             \u251c\u2500177698 \"\/usr\/sbin\/zabbix_server: history poller #1 &#91;got 0 values in 0.000013 sec, idle 1 sec]\"\n             \u251c\u2500177699 \"\/usr\/sbin\/zabbix_server: history poller #2 &#91;got 0 values in 0.000022 sec, idle 1 sec]\"\n             \u251c\u2500177700 \"\/usr\/sbin\/zabbix_server: history poller #3 &#91;got 0 values in 0.000072 sec, idle 1 sec]\"\n             \u251c\u2500177701 \"\/usr\/sbin\/zabbix_server: history poller #4 &#91;got 1 values in 0.000114 sec, idle 1 sec]\"\n             \u251c\u2500177709 \"\/usr\/sbin\/zabbix_server: history poller #5 &#91;got 0 values in 0.000013 sec, idle 1 sec]\"\n             \u251c\u2500177710 \"\/usr\/sbin\/zabbix_server: availability manager #1 &#91;queued 0, processed 0 values, idle 5.189914 sec during 5.190063 sec]\"\n             \u251c\u2500177711 \"\/usr\/sbin\/zabbix_server: trigger housekeeper &#91;deleted 0 problems records in 0.001376 sec, idle for 60 second(s)]\"\n             \u251c\u2500177712 \"\/usr\/sbin\/zabbix_server: odbc poller #1 &#91;got 0 values in 0.000124 sec, idle 5 sec]\"\n             \u251c\u2500177713 \"\/usr\/sbin\/zabbix_server: http agent poller #1 &#91;got 0 values, queued 0 in 5 sec, awaiting 0]\"\n             \u251c\u2500177720 \"\/usr\/sbin\/zabbix_server: agent poller #1 &#91;got 173 values, queued 177 in 5 sec, awaiting 40]\"\n             \u251c\u2500177722 \"\/usr\/sbin\/zabbix_server: snmp poller #1 &#91;got 0 values, queued 0 in 5 sec, awaiting 0]\"\n             \u251c\u2500177723 \"\/usr\/sbin\/zabbix_server: configuration syncer worker &#91;synced 0, updated 0 item names in 0.001672 sec, idle]\"\n             \u251c\u2500177726 \"\/usr\/sbin\/zabbix_server: internal poller #1 &#91;got 2 values in 0.000114 sec, idle 4 sec]\"\n             \u2514\u2500177729 \"\/usr\/sbin\/zabbix_server: proxy group manager #1 started\"\n\n4\u6708 10 01:11:18 ZabbixServer systemd&#91;1]: Starting Zabbix Server...\n4\u6708 10 01:11:18 ZabbixServer systemd&#91;1]: Started Zabbix Server.\n\n&#91;root@ZabbixServer ~]# zabbix_server -V\nzabbix_server (Zabbix) 7.2.5\nRevision d2eb5068f4b 27 March 2025, compilation time: Mar 27 2025 00:00:00\n\nCopyright (C) 2025 Zabbix SIA\nLicense AGPLv3: GNU Affero General Public License version 3 &lt;https:\/\/www.gnu.org\/licenses\/&gt;.\nThis is free software: you are free to change and redistribute it according to\nthe license. There is NO WARRANTY, to the extent permitted by law.\n\nThis product includes software developed by the OpenSSL Project\nfor use in the OpenSSL Toolkit (http:\/\/www.openssl.org\/).\n\nCompiled with OpenSSL 3.0.7 1 Nov 2022\nRunning with OpenSSL 3.2.2 4 Jun 2024\n<\/code><\/pre>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><\/p>\n\n\n\n<p>\u81f3\u6b64\uff0cZabbix-Server\u548c\u8fd9\u53f0\u673a\u5668\u4e0a\u7684Zabbix-Agent\u5df2\u5b8c\u6210\u5347\u7ea7\uff0c\u63a5\u4e0b\u6765\u6211\u4eec\u9700\u8981\u66ff\u6362\u524d\u7aefWeb\u6587\u4ef6\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5347\u7ea7Zabbix Web<\/h2>\n<\/div><\/div>\n\n\n\n<p>\u7531\u4e8e\u6211\u4eec\u662f\u5206\u79bb\u5f0f\u90e8\u7f72\uff0c\u9700\u8981\u8fdb\u884c\u4e00\u4e9b\u624b\u52a8\u7684\u914d\u7f6e\uff0c\u5206\u4e3a\u4ee5\u4e0b\u51e0\u6b65\uff1a<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e0b\u8f7dWeb\u6587\u4ef6<\/h3>\n\n\n\n<p>\u4ece<a href=\"https:\/\/www.zabbix.com\/cn\/download_sources\">Download Zabbix sources<\/a>\u4e0b\u8f7d\u548cZabbix-Server\u5bf9\u5e94\u7684\u6e90\u7801\u6587\u4ef6\uff0c\u5c06\u538b\u7f29\u5305\u4e2d\u7684ui\u6587\u4ef6\u5939\u5b58\u653e\u81f3\u4e00\u4e2a\u65b9\u4fbf\u7684\u5730\u65b9\u4ee5\u4fbf\u4e0a\u4f20\u81f3Web\u5e94\u7528\u670d\u52a1\u5668\uff08<code>zabbix-release-7.2.zip\\zabbix-release-7.2\\ui\\*<\/code>\uff09<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5907\u4efd\u5173\u952e\u6587\u4ef6<\/h3>\n\n\n\n<p>\u9700\u8981\u63d0\u524d\u5907\u4efd\u7684\u6587\u4ef6\u6709\uff1a<br>\u6570\u636e\u5e93\u53ca\u53c2\u6570\u914d\u7f6e\u6587\u4ef6\uff1a<code>\/www\/wwwroot\/\u4f60\u7684zabbix\u7f51\u7ad9\/conf\/zabbix.conf.php<\/code><br>\u53c2\u6570\u5b9a\u4e49\u6587\u4ef6\uff1a<code>\/www\/wwwroot\/<code>\u4f60\u7684zabbix\u7f51\u7ad9<\/code>\/include\/defines.inc.php<\/code>\uff08\u4e3b\u8981\u662f\u5982\u679c\u539f\u6765\u4f60\u56e0\u4e3a\u56fe\u5f62\u4e2d\u7684\u4e2d\u6587\u5b57\u7b26\u662f\u767d\u8272\u6846\u8fdb\u884c\u8fc7\u5b57\u4f53\u66ff\u6362\u90a3\u4e48\u9700\u8981\u5907\u4efd\u8fd9\u4e2a\u6587\u4ef6\u3002\uff09<br>\u5b57\u4f53\u6587\u4ef6\uff1a\u6839\u636e\u5b9e\u9645\u60c5\u51b5\u8fdb\u884c\u5907\u4efd\uff0c\u5b57\u4f53\u6587\u4ef6\u5728<code>\/www\/wwwroot\/<code>\u4f60\u7684zabbix\u7f51\u7ad9<\/code>\/assets\/fonts<\/code>\u76ee\u5f55\u4e0b\u3002<br>\u4f60\u53ef\u4ee5\u6839\u636e\u7f51\u7ad9\u76ee\u5f55\u7684\u5b9e\u9645\u4f4d\u7f6e\u8fdb\u884c\u5907\u4efd\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u66ff\u6362\u5e76\u542f\u52a8Zabbix-Web<\/h3>\n\n\n\n<p>\u505a\u597d\u4ee5\u4e0a\u5907\u4efd\u540e\u5373\u53ef\u8fdb\u884c\u66ff\u6362\uff0c\u5bf9\u4e8e\u5b9d\u5854\u5efa\u8bae\u5173\u95ed\u9632\u8de8\u7ad9\u653b\u51fb\u548c\u5821\u5854\u7f51\u7ad9\u52a0\u901f\uff0c\u5f00\u542f\u540e\u53ef\u80fd\u4f1a\u51fa\u73b0\u4e0d\u53ef\u9884\u6599\u7684\u95ee\u9898\u3002<br>\u66ff\u6362\u540e\u6700\u597d\u91cd\u542fPHP\u4e0eNginx\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5bfc\u5165\u6570\u636e\u5e93\u66f4\u65b0<\/h3>\n\n\n\n<p>\u4f7f\u7528\u4efb\u4f55\u4e00\u79cd\u4f60\u559c\u6b22\u7684\u6570\u636e\u5e93\u8fde\u63a5\u5de5\u5177\u8fde\u63a5\u5230Zabbix\u7684\u6570\u636e\u5e93\uff0c\u5bfc\u5165\u4e0a\u65b9\u63d0\u5230\u7684Zabbix\u6e90\u7801\u5305\u4e2d\u7684\u6570\u636e\u5e93\u7ed3\u6784\u5347\u7ea7\u5de5\u5177\uff0c\u4e00\u822c\u5728zabbix-release-7.2.zip\\zabbix-release-7.2\\database\\mysql\\option-patches\u4e0b\uff0c\u5982\u679c\u6ca1\u6709\u7684\u8bdd\u53ef\u4ee5\u5230<a href=\"https:\/\/git.zabbix.com\/projects\/ZBX\">Zabbix project overview &#8211; ZABBIX GIT<\/a>\u6216GitHub\u7684Zabbix\u9875\u9762\u627e\u5230\u4e0b\u8f7d\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5347\u7ea7\u6a21\u677f\u6587\u4ef6<\/h2>\n\n\n\n<p>\u56e0\u4e3a\u6211\u4eec\u662f\u624b\u52a8\u5347\u7ea7\uff0c\u5185\u7f6e\u6a21\u677f\u662f\u5b58\u653e\u5728\u6570\u636e\u5e93\u4e2d\uff0c\u800c\u6211\u4eec\u7684\u624b\u52a8\u5347\u7ea7\u6ca1\u6709\u6d89\u53ca\u8be5\u90e8\u5206\uff0c\u6240\u4ee5\u8981\u5229\u7528Zabbix\u7684API\u8fdb\u884c\u6279\u91cf\u7684\u6a21\u677f\u5bfc\u5165\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u51c6\u5907\u6a21\u677f\u6587\u4ef6<\/h3>\n\n\n\n<p>\u627e\u5230\u524d\u9762\u4e0b\u8f7d\u597d\u7684\u6e90\u7801\u5305\uff0c\u5b98\u7f51\u63d0\u4f9b\u7684\u6e90\u7801\u5305\u53ef\u80fd\u6ca1\u6709\u5305\u542b\u6a21\u677f\uff0c\u6211\u4eec\u8fd8\u662f\u53bb\u4e0a\u65b9\u63d0\u5230\u7684<a href=\"https:\/\/git.zabbix.com\/projects\/ZBX\">Zabbix project overview &#8211; ZABBIX GIT<\/a>\u6216GitHub\u7684Zabbix\u9875\u9762\u6253\u5305\u4e0b\u8f7d\u4ed3\u5e93\uff0c\u6a21\u677f\u6587\u4ef6\u5728<code>zabbix-release-7.2.zip\\zabbix-release-7.2\\templates<\/code>\u4e2d\uff0c\u53ef\u4ee5\u89e3\u538b\u5230\u4efb\u610f\u76ee\u5f55\u7b49\u5f85\u64cd\u4f5c\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u65b0\u5efa\u7ba1\u7406\u5458API<\/h3>\n\n\n\n<p>\u8fdb\u5165Zabbix\u524d\u7aef\u9875\u9762\uff0c\u65b0\u5efaAPI\uff0c\u8def\u5f84\u4e3a<code>\u7528\u6237-API tokens-\u521b\u5efaAPI\u4ee4\u724c<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2552\" height=\"1280\" src=\"https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1.png\" alt=\"\" class=\"wp-image-1056\" srcset=\"https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1.png 2552w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1-300x150.png 300w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1-1024x514.png 1024w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1-768x385.png 768w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1-1536x770.png 1536w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-1-2048x1027.png 2048w\" sizes=\"(max-width: 2552px) 100vw, 2552px\" \/><\/figure>\n\n\n\n<p>\u521b\u5efa\u597d\u540e\u53ef\u4ee5\u5229\u7528\u5982\u4e0bPython\u4ee3\u7801\u8fdb\u884c\u6279\u91cf\u66f4\u65b0<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>import requests\nimport json\nimport os\n\nZABBIX_SERVER = \"https:\/\/\u4f60\u7684zabbix\u7f51\u7ad9\/api_jsonrpc.php\"\nAPI_TOKEN = \"5db938a6b63348fcbf9bd7bxxxxxx4180a8768b2c4cb07e48f2b02de5a9fa\"  # \u8fd9\u91cc\u586b\u5165\u4f60\u7684 Zabbix API Token\n\nTEMPLATE_DIR = r\"D:\\Users\\xieya\\Desktop\\templates\"  # \u6a21\u677f\u6587\u4ef6\u4f4d\u7f6e\n\nheaders = {\n    \"Content-Type\": \"application\/json\",\n    \"Authorization\": f\"Bearer {API_TOKEN}\"  \n}\n\ndef find_templates(directory):\n    template_files = &#91;]\n    for root, _, files in os.walk(directory):\n        for file in files:\n            if file.endswith(\".yaml\") or file.endswith(\".xml\"):  \n                template_files.append(os.path.join(root, file))\n    return template_files\n\ndef read_template(file_path):\n    with open(file_path, \"r\", encoding=\"utf-8\") as f:\n        return f.read()\n\ndef import_templates():\n    templates = find_templates(TEMPLATE_DIR)\n\n    if not templates:\n        print(\"\u274c \u672a\u627e\u5230\u4efb\u4f55\u6a21\u677f\u6587\u4ef6\uff0c\u8bf7\u68c0\u67e5\u76ee\u5f55\u662f\u5426\u6b63\u786e\uff01\")\n        return\n\n    for file_path in templates:\n        template_content = read_template(file_path)\n\n        payload = {\n            \"jsonrpc\": \"2.0\",\n            \"method\": \"configuration.import\",\n            \"params\": {\n                \"format\": \"yaml\" if file_path.endswith(\".yaml\") else \"xml\", \n                \"rules\": {\n                    \"templates\": {\"createMissing\": True, \"updateExisting\": True}\n                },\n                \"source\": template_content\n            },\n            \"id\": 2 \n        }\n\n        response = requests.post(ZABBIX_SERVER, headers=headers, json=payload)\n        print(f\"\u2705 \u5bfc\u5165 {file_path} \u7ed3\u679c:\", response.json())\n\nprint(\"\ud83d\udd0d \u5f00\u59cb\u6279\u91cf\u5bfc\u5165 Zabbix \u6a21\u677f...\")\nimport_templates()<\/code><\/pre>\n\n\n\n<p>\u5982\u679c\u4ee3\u7801\u6267\u884c\u65e0\u8bef\uff0c\u56de\u663e\u5e94\u8be5\u7c7b\u4f3c\u4e8e\u8fd9\u6837<\/p>\n\n\n\n<pre class=\"wp-block-code has-small-font-size\"><code>E:\\PyCharmProjects\\ntp\\.venv\\Scripts\\python.exe E:\\PyCharmProjects\\ntp\\1.py \n\ud83d\udd0d \u5f00\u59cb\u6279\u91cf\u5bfc\u5165 Zabbix \u6a21\u677f...\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\acronis\\template_app_acronis_cyber_protect_cloud_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\activemq_jmx\\template_app_activemq_jmx.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\apache_agent\\template_app_apache_agent.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\apache_agent_active\\template_app_apache_agent_active.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\apache_http\\template_app_apache_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\aranet_http\\template_app_aranet_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\ceph_agent2\\template_app_ceph_agent2.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\certificate_agent2\\template_app_certificate_agent2.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\certificate_agent2_active\\template_app_certificate_agent2_active.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\cloudflare_http\\template_app_cloudflare_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\consul_http\\consul\\template_consul_node_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\consul_http\\consul_cluster\\template_consul_cluster_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\controlm_http\\template_app_controlm_http.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}\n\u2705 \u5bfc\u5165 D:\\Users\\xieya\\Desktop\\templates\\app\\docker\\template_app_docker.yaml \u7ed3\u679c: {'jsonrpc': '2.0', 'result': True, 'id': 2}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u68c0\u67e5Zabbix\u6a21\u677f\u66f4\u65b0\u72b6\u6001<\/h3>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2552\" height=\"1280\" src=\"https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2.png\" alt=\"\" class=\"wp-image-1063\" srcset=\"https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2.png 2552w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2-300x150.png 300w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2-1024x514.png 1024w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2-768x385.png 768w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2-1536x770.png 1536w, https:\/\/www.furyblog.com\/wp-content\/uploads\/2025\/04\/image-2-2048x1027.png 2048w\" sizes=\"(max-width: 2552px) 100vw, 2552px\" \/><\/figure>\n\n\n\n<p>\u63d2\u4ef6\u5b8c\u6210\uff0c\u539f\u6765\u7684Zabbix\u6a21\u677f\u662f7.0\u7248\u672c\uff0c\u73b0\u5728\u90fd\u5df2\u7ecf\u5347\u7ea7\u5230\u4e86\u4ed3\u5e93\u7684\u5185\u7f6e\u6a21\u677f\u6700\u65b0\u7248\u672c\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u73af\u5883\u8bf4\u660e\uff1a zabbix-server 7.0\u5b89\u88c5\u5728\u4e00\u53f0Linux\u4e0a\u4f7f\u7528zabbix\u4ed3\u5e93\u5b89\u88c5\uff0c\u524d\u7aef\u6587\u4ef6\u4f7f\u7528\u5b9d\u5854\u90e8\u7f72\uff08\u6216\u8005\u5176\u4ed6Web\u5e94\u7528\u670d\u52a1\u5668\u90e8\u7f72\uff09\u3002\u672c\u6587\u662f\u5bf9\u4e8e\u975e\u540c\u4e00\u53f0\u673a\u5668\u4e0a\u7684Zabbix\u5347\u7ea7\u8fc7\u7a0b\u3002 \u26a0\u6ce8\u610f\uff1a\u5728\u4efb\u4f55\u6709\u53ef\u80fd\u635f\u574f\u6570\u636e\u7684\u60c5\u51b5\u4e0b\uff0c\u5fc5\u987b&#8230;<\/p>\n","protected":false},"author":1,"featured_media":597,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[32,33],"tags":[],"topic":[],"class_list":["post-996","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-network-2","category-network-example"],"_links":{"self":[{"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/posts\/996","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=996"}],"version-history":[{"count":65,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/posts\/996\/revisions"}],"predecessor-version":[{"id":1064,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/posts\/996\/revisions\/1064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=\/wp\/v2\/media\/597"}],"wp:attachment":[{"href":"https:\/\/www.furyblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=996"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=996"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=996"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.furyblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftopic&post=996"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}