我这边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; } |