码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix修改主机名为中文名

时间:2019-08-30 22:35:19      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:汉字   function   输入   主机名   表达   parse   UNC   ESS   sse   

我这边zabbix版本有2.4和3的都有。

要让zabbix主机名支持中文,,需要修改zabbix的php代码文件,如下图修改完中文主机名是不支持的:

技术图片

 

 

实现步骤:

进到zabbix web目录,一般在/var/www/zabbix或者/usr/share/zabbix下

一、

修改/usr/share/zabbix/include/defines.inc.php文件中修改,我的在788行(zabbix-2.4.8),加入中文字符支持,原始正则:

define(‘ZBX_PREG_INTERNAL_NAMES‘, ‘([0-9a-zA-Z_\. \-]+)‘);

 

技术图片

 修改为:

// \x80-\xff:匹配用GBK (GB2312/GB18030)编码的所有汉字和标点符号

define(‘ZBX_PREG_INTERNAL_NAMES‘, ‘([0-9a-zA-Z_\. \-\x{80}-\x{ff}]+)‘);

 

修改后,主机名和监控项名都可以输入中文了。

 

二、让触发器表达式也支持中文(我测试了 我的zabbix是4.2):

在$ZABBIX_PATH/include/classes/parsers/CTriggerExpression.php文件中天加,使触发器表达式支持中文:

1
2
3
4
5
6
7
8
9
private function isHostChar($c) {
               $cc=ord($c);
               if (($c >= ‘a‘ && $c <= ‘z‘) || ($c >= ‘A‘ && $c <= ‘Z‘) || ($c >= ‘0‘ && $c <= ‘9‘)
                               || $c == ‘.‘ || $c == ‘ ‘ || $c == ‘_‘ || $c == ‘-‘ || $cc > 127) {
                       return true;
               }
 
               return false;
       }

zabbix修改主机名为中文名

标签:汉字   function   输入   主机名   表达   parse   UNC   ESS   sse   

原文地址:https://www.cnblogs.com/xuefy/p/11437184.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!