10.zabbix学习笔记:记一次zabbix故障引发的排查过程
2016-11-02 10:17
891 查看
zabbix学习笔记:记一次zabbix故障引发的排查过程
背景
在今天下午实验的时候部署zabbix3.2.1版本,安装完成后使用的时候突然发现系统选择里的语言无法更换为中文,它提示我中文无法切换。如下图所示:解决的方法由下文展开?
解决步骤
因为之前安装配置过很多次,从来没有遇到过这个问题。突然就说中文复发支持。我的解决步骤和思路如下:1.首先它给出了提示“you are not able to choose some of the languages, because locates for them are not installed on the web server”。按照以往的惯例,首先我将上述内容进行了百度,得到的方案有以下两个:
(1)第一种认为是/var/www/html/zabbix/include/locales.inc.php的文件中没有打开支持中文:
'en_GB' => ['name' => _('English (en_GB)'), 'display' => true], 'en_US' => ['name' => _('English (en_US)'), 'display' => false], 'bg_BG' => ['name' => _('Bulgarian (bg_BG)'), 'display' => false], 'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true], 'zh_TW' => ['name' => _('Chinese (zh_TW)'), 'display' => false], 'cs_CZ' => ['name' => _('Czech (cs_CZ)'), 'display' => false], 'nl_NL' => ['name' => _('Dutch (nl_NL)'), 'display' => false],
可以看到zh_CN是true的状态,当时我的配置中也是打开的状态,所以应该不是这个问题导致的,pass!
(2)在zabbix的官方网站中的官方文档中进行查看,果然找到了需要的内容:
看这个内容感觉应该是字符集的问题,这又引发了思路:
1.我应该安装完整的中文支持(yum groupinstall即可);
[root@e004935f81df include]# yum groupinstall "chinese-support" -y
安装完成后使用上述图片中的命令查看系统上安装的字符集,结果发现还是没有中文字符集:
[root@e004935f81df include]# locale -a C POSIX en_AG en_AG.utf8 en_AU en_AU.iso88591 en_AU.utf8 en_BW en_BW.iso88591 en_BW.utf8 en_CA en_CA.iso88591 en_CA.utf8 en_DK en_DK.iso88591 en_DK.utf8 en_GB en_GB.iso88591 en_GB.iso885915 en_GB.utf8 en_HK en_HK.iso88591 en_HK.utf8 en_IE en_IE.iso88591 en_IE.iso885915@euro en_IE.utf8 en_IE@euro en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ en_NZ.iso88591 en_NZ.utf8 en_PH en_PH.iso88591 en_PH.utf8 en_SG en_SG.iso88591 en_SG.utf8 en_US en_US.iso88591 en_US.iso885915 en_US.utf8 en_ZA en_ZA.iso88591 en_ZA.utf8 en_ZW en_ZW.iso88591 en_ZW.utf8 no_NO.iso88591 no_NO.utf8 vi_VN.tcvn
于是认为可能是需要重新启动系统让中文生效,重新启动服务器后查看,还是没有中文字符集。
2.此时其实已经陷入一个自我循环当中,总是觉得其实该做的事情都已经处理过了。问了下相关群友,可能是php的配置问题,但是个人觉得如果是php的问题,则在zabbix初始化检测中都无法通过,所以排除了这个可能,还有群友建议是不是mysql的编码格式问题,查看后发现mysql的编码格式是utf8。
3.最终还是坚持官方的看法, 应该是字符集的缺失,那么应该绕开其他因素,直接解决字符集缺失的问题,所以在搜索了如何安装中文字符集之后给出了如下的解决方案:
(1)在其他可以通过locale -a列出中文字符集的机器上找到对应的安装包,在目录/usr/share/i18n/charmaps中有很多的字符集:
[root@b0fc43d2e0ad charmaps]# ls ANSI_X3.110-1983.gz DIN_66003.gz GB_1988-80.gz IBM275.gz IBM869.gz ISO-8859-6.gz JIS_C6229-1984-HAND.gz NF_Z_62-010.gz ANSI_X3.4-1968.gz DS_2089.gz GEORGIAN-ACADEMY.gz IBM277.gz IBM870.gz ISO-8859-7.gz JIS_C6229-1984-KANA.gz NF_Z_62-010_1973.gz ARMSCII-8.gz EBCDIC-AT-DE-A.gz GEORGIAN-PS.gz IBM278.gz IBM871.gz ISO-8859-8.gz JIS_X0201.gz NS_4551-1.gz ASMO_449.gz EBCDIC-AT-DE.gz GOST_19768-74.gz IBM280.gz IBM874.gz ISO-8859-9.gz JOHAB.gz NS_4551-2.gz BIG5-HKSCS.gz EBCDIC-CA-FR.gz GREEK-CCITT.gz IBM281.gz IBM875.gz ISO-8859-9E.gz JUS_I.B1.002.gz PT.gz BIG5.gz EBCDIC-DK-NO-A.gz GREEK7-OLD.gz IBM284.gz IBM880.gz ISO-IR-197.gz JUS_I.B1.003-MAC.gz PT154.gz BRF.gz EBCDIC-DK-NO.gz GREEK7.gz IBM285.gz IBM891.gz ISO-IR-209.gz JUS_I.B1.003-SERB.gz PT2.gz BS_4730.gz EBCDIC-ES-A.gz HP-GREEK8.gz IBM290.gz IBM903.gz ISO-IR-90.gz KOI-8.gz RK1048.gz BS_VIEWDATA.gz EBCDIC-ES-S.gz HP-ROMAN8.gz IBM297.gz IBM904.gz ISO_10367-BOX.gz KOI8-R.gz SAMI-WS2.gz CP10007.gz EBCDIC-ES.gz HP-ROMAN9.gz IBM420.gz IBM905.gz ISO_10646.gz KOI8-RU.gz SAMI.gz CP1125.gz EBCDIC-FI-SE-A.gz HP-THAI8.gz IBM423.gz IBM918.gz ISO_11548-1.gz KOI8-T.gz SEN_850200_B.gz CP1250.gz EBCDIC-FI-SE.gz HP-TURKISH8.gz IBM424.gz IBM922.gz ISO_2033-1983.gz KOI8-U.gz SEN_850200_C.gz CP1251.gz EBCDIC-FR.gz IBM037.gz IBM437.gz IEC_P27-1.gz ISO_5427-EXT.gz KSC5636.gz SHIFT_JIS.gz CP1252.gz EBCDIC-IS-FRISS.gz IBM038.gz IBM500.gz INIS-8.gz ISO_5427.gz LATIN-GREEK-1.gz SHIFT_JISX0213.gz CP1253.gz EBCDIC-IT.gz IBM1004.gz IBM850.gz INIS-CYRILLIC.gz ISO_5428.gz LATIN-GREEK.gz T.101-G2.gz CP1254.gz EBCDIC-PT.gz IBM1026.gz IBM851.gz INIS.gz ISO_646.BASIC.gz MAC-CENTRALEUROPE.gz T.61-7BIT.gz CP1255.gz EBCDIC-UK.gz IBM1047.gz IBM852.gz INVARIANT.gz ISO_646.IRV.gz MAC-CYRILLIC.gz T.61-8BIT.gz CP1256.gz EBCDIC-US.gz IBM1124.gz IBM855.gz ISIRI-3342.gz ISO_6937-2-25.gz MAC-IS.gz TCVN5712-1.gz CP1257.gz ECMA-CYRILLIC.gz IBM1129.gz IBM856.gz ISO-8859-1.gz ISO_6937-2-ADD.gz MAC-SAMI.gz TIS-620.gz CP1258.gz ES.gz IBM1132.gz IBM857.gz ISO-8859-10.gz ISO_6937.gz MAC-UK.gz TSCII.gz CP737.gz ES2.gz IBM1133.gz IBM860.gz ISO-8859-11.gz ISO_8859-1,GL.gz MACINTOSH.gz UTF-8.gz CP775.gz EUC-JISX0213.gz IBM1160.gz IBM861.gz ISO-8859-13.gz ISO_8859-SUPP.gz MIK.gz VIDEOTEX-SUPPL.gz CP949.gz EUC-JP-MS.gz IBM1161.gz IBM862.gz ISO-8859-14.gz IT.gz MSZ_7795.3.gz VISCII.gz CSA_Z243.4-1985-1.gz EUC-JP.gz IBM1162.gz IBM863.gz ISO-8859-15.gz JIS_C6220-1969-JP.gz NATS-DANO-ADD.gz WINDOWS-31J.gz CSA_Z243.4-1985-2.gz EUC-KR.gz IBM1163.gz IBM864.gz ISO-8859-16.gz JIS_C6220-1969-RO.gz NATS-DANO.gz CSA_Z243.4-1985-GR.gz EUC-TW.gz IBM1164.gz IBM865.gz ISO-8859-2.gz JIS_C6229-1984-A.gz NATS-SEFI-ADD.gz CSN_369103.gz GB18030.gz IBM256.gz IBM866.gz ISO-8859-3.gz JIS_C6229-1984-B-ADD.gz NATS-SEFI.gz CWI.gz GB2312.gz IBM273.gz IBM866NAV.gz ISO-8859-4.gz JIS_C6229-1984-B.gz NC_NC00-10.gz DEC-MCS.gz GBK.gz IBM274.gz IBM868.gz ISO-8859-5.gz JIS_C6229-1984-HAND-ADD.gz NEXTSTEP.gz
中文字符集对应的是GB2312.gz安装包:
[root@b0fc43d2e0ad charmaps]# ll GB2312.gz -rw-r--r-- 1 root root 44796 Mar 23 2016 GB2312.gz
将其拷贝到当前的机器上,然后安装该字符集,安装命令如下:
[root@e004935f81df include]# gunzip GB2312.gz [root@e004935f81df include]# localedef -f GB2312 -i zh_CN /usr/lib/locale/zh_CN.GB2312
安装完成后查看系统的字符集:
[root@e004935f81df include]# locale -a C POSIX en_AG en_AG.utf8 en_AU en_AU.iso88591 en_AU.utf8 en_BW en_BW.iso88591 en_BW.utf8 en_CA en_CA.iso88591 en_CA.utf8 en_DK en_DK.iso88591 en_DK.utf8 en_GB en_GB.iso88591 en_GB.iso885915 en_GB.utf8 en_HK en_HK.iso88591 en_HK.utf8 en_IE en_IE.iso88591 en_IE.iso885915@euro en_IE.utf8 en_IE@euro en_IN en_IN.utf8 en_NG en_NG.utf8 en_NZ en_NZ.iso88591 en_NZ.utf8 en_PH en_PH.iso88591 en_PH.utf8 en_SG en_SG.iso88591 en_SG.utf8 en_US en_US.iso88591 en_US.iso885915 en_US.utf8 en_ZA en_ZA.iso88591 en_ZA.utf8 en_ZW en_ZW.iso88591 en_ZW.utf8 no_NO.iso88591 no_NO.utf8 vi_VN.tcvn
zh_CN.GB2312
可以看到最后一个就是我们的zh_CN,系统支持了中文字符集之后再次登录zabbix查看时候可以切换中文主题:
切换完之后主界面如下所示:
至此,问题终于解决。
总结
(1)为什么之前的zabbix安装没有遇到这个问题?之前是在虚拟机或者真机上安装,所以相关组件安装齐全,但是此次是在docker中安装,本身的image可能较小,没有安装中文字符集。
(2)盘查问题的思路:
根据提示的错误信息在搜索引擎上进行查找,你遇到的问题可能别人也遇到过;
继续缩小专业圈,在qq群或者微信群询问相关人员,毕竟是专业人士,而且卧虎藏龙,一定有人可以给出很好的思路;
最关键的是本身要有清晰的思路和对待问题的平和态度,能够从各个角度去排查问题,坚持不懈一定可以找到答案;
不要固化思维,也许跳出常规思维,才会发现问题可能只是一个很细节的失误;
多进行总结,把顽固问题记录下来共享出去,可以帮到更多的人,而且这个过程也可以加深自己方法论的塑造。
以上与君共勉!
相关文章推荐
- 记一次线上故障的排查过程
- 记一次AD域域管理员密码更改导致某系统群集管理器故障排查解决过程
- PHP学习笔记(9)mongodb在wamp环境下的安装过程与遇到的问题排查
- 51CTO学习笔记--Linux运维故障排查思路与系统调优技巧视频课程(高俊峰)
- RHCE7学习笔记24――系统启动过程与故障排除
- 服务器故障排查三板斧:记一次IIS报503/502错误故障排查过程
- 一次DNS 故障引发的linux telnet 各端口缓慢的问题解决过程
- Java虚拟机学习笔记-记录一次编译OpenJDK8与调试的过程
- 一次断电引发的键盘故障
- 深浅MFC学习笔记总结-MFC程序的执行过程
- SQL SERVER 存储过程学习笔记
- 面向对象学习笔记--面向对象和面向过程
- Linux学习笔记之安装mplayer过程详解
- Java学习笔记1------用例子来说明面向对象和面向过程的区别
- 存储过程学习笔记
- 走上软件之路,以后就在这里记录自己的学习过程了(2007.12.18笔记)
- 存储过程(学习笔记)
- 一次网络严重丢包的故障处理过程 推荐
- JavaScript学习笔记2--表单只提交一次
- Think in java学习笔记-第5章 隐藏实施过程