本文共 901 字,大约阅读时间需要 3 分钟。
让zabbix主机名支持中文,如下图:
让触发器表达式也支持中文:
实现步骤:
假如zabbix web目录位置在/var/www/zabbix,定义zabbix目录
ZABBIX_PATH=/var/www/zabbix一、
在$ZABBIX_PATH/include/defines.inc.php文件中修改943行(zabbix-2.2.3),加入中文字符支持,原始正则:
1 | define( 'ZBX_PREG_INTERNAL_NAMES' , '([0-9a-zA-Z_\. \-]+)' ); |
修改为:
1 2 | // \x80-\xff:匹配用GBK (GB2312/GB18030)编码的所有汉字和标点符号 define( 'ZBX_PREG_INTERNAL_NAMES' , '([0-9a-zA-Z_\. \-\x{80}-\x{ff}]+)' ); /* !!! Don't forget sync code with C !!! */ |
修改后,主机名和监控项名都可以输入中文了。
二、
在$ZABBIX_PATH/include/classes/parsers/CTriggerExpression.php文件中修改808行(zabbix-2.2.3),使触发器表达式支持中文:
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; } |
原文链接:
本文在原作者的基础上做了补充。
本文转自 张斌_青岛 51CTO博客,原文链接:http://blog.51cto.com/qicheng0211/1434451
转载地址:http://tdgzl.baihongyu.com/