整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          Zabbix6.0安裝后初步使用碰到的中文字符亂碼和圖標時間顯示問題

          景&環境:

          操作系統:CentOS7

          Zabbix版本:6.0.1

          遇到的問題:

          Question One:Graph圖表部分中文字符顯示亂碼,主要表現為方括號,具體位置在圖表下方。

          詳見下圖:


          針對這個問題,主要問題點就是字符顯示,Zabbix中沒有合適的中文字體,我們就給他一個合適的字體即可。

          解決辦法:

          1.在自己的個人電腦中找到字體庫,本人的是WIN10系統:找到的是微軟雅黑

          打開C:\Windows\Fonts

          搜索微軟雅黑



          拷貝出來到另外的文件夾,是三個文件,分別是msyh.ttc、msyhbd.ttc、msyhl.ttc



          上傳至zabbix服務器指定位置。我使用的Xshell的自帶Xftp,不管用什么工具,能夠正確上傳即可



          這個比較關鍵,網上有些是錯的,Zabbix相關字體所在的真正位置是在

          /var/www/html/assets/fonts


          將DejaVuSans.ttf 文件進行備份 使用mv DejaVuSans.ttf DejaVuSans.ttf.bk

          在linux系統中或者說在其他系統中要進行配置變更時,最好將原始配置文件進行保存,常見的就是move然后更改文件后綴名為.bk或者.backup

          然后把msyhbd.ttc 改為 DejaVuSans.ttf

          使用命令mv msyhbd.ttc DejaVuSans.ttf

          這個時候刷新頁面應該就OK了,保險起見,可以進行systemctl restart httpd

          效果就是這樣,中文字體就出來了。


          ---------------------------------------------分割線-------------------------------------------

          Question Two:


          時間不一致問題,就是圖表上的時間和實際時間不一致,引發這個問題有幾點原因:

          第一,zabbix服務器的時間

          第二,mysql數據庫的時間

          第三,PHP設置時間

          服務器時區有問題



          第一 使用 ntpdate 0.asia.pool.ntp.org 校準時間 首先要確保你的時區是你所想要的


          但是RTC時間未變,我們要把時間同步到硬件時鐘,避免下次重啟改變

          使用命令hwclock --systohc


          這下操作系統時間都OK了,但是我的Zabbix的圖表時間依然未變,查詢了mysql,時區正常。(select sysdate();

          接下里就是比較重要的了,是PHP中設置的時間。

          使用find命令查找linux中相關配置文件

          find / -name defines.inc.php

          顯示兩條,我的相關的路徑是/var/www/html/include/defines.inc.php

          使用VI編輯

          vi /var/www/html/include/defines.inc.php

          使用 /date.timezone 查找到時區 補上Asia/Shanghai

          記得刪除前面的;符號這是配置文件的注釋符號


          然后:wq!保存退出

          然后保險起見,重啟http和zabbix服務

          systemctl restart httpd

          systemctl restart zabbix-server

          結果就一切OK

          : 剛部署完zabbix后的正常狀態,左下角標注的位置是中文亂碼。

          2:中文亂碼問題

          3:找到windows控制面板復制其中的字體文件,黑體為佳:simhei.ttf

          4:服務器搜索zabbix的fonts目錄


          [root@hlying fonts]# find / -name fonts

          /app/jdk1.8.0_291/jre/lib/fonts

          /boot/grub2/fonts

          /etc/fonts

          /usr/share/fonts

          /usr/share/httpd/noindex/css/fonts

          /usr/share/zabbix/assets/fonts

          /mnt/dvd/EFI/BOOT/fonts

          /mnt/cdrom/EFI/BOOT/fonts

          [root@hlying fonts]# cd /usr/share/zabbix/assets/fonts/

          [root@hlying fonts]# ls

          graphfont.tt


          5:將本機自己選好的字體上傳


          [root@hlying fonts]# ls

          graphfont.ttf simhei.ttf


          6: 將原有的文件進行移動重命名備份,將上傳的字體改為跟原有文件名一樣,并重啟服務

          [root@hlying fonts]# mv graphfont.ttf graphfont.ttf.bak

          [root@hlying fonts]# mv simhei.ttf graphfont.ttf

          [root@hlying fonts]# systemctl restart zabbix-server.service

          [root@hlying fonts]# ls

          graphfont.ttf graphfont.ttf.bak


          7: 刷新zabbix的web頁面可以看到正常了

          zabbix監控配置詳程

          zabbix郵件報警

          KVM虛擬機的安裝\擴容\遷移\克隆\配置

          nginx

          用 python2 抓取網頁的時候,經常會遇到抓下來的內容顯示出來是亂碼。

          發生這種情況的最大可能性就是編碼問題: 運行環境的字符編碼和網頁的字符編碼不一致。

          比如,在 windows 的控制臺(gbk)里抓取了一個 utf-8 編碼的網站。或者,在 Mac / Linux 的終端(utf-8)里抓取了一個 gbk 編碼的網站。因為多數網站采用 utf-8 編碼,而不少人又是用 windows,所有這種情況相當常見。

          如果你發現你抓下來的內容,看上去英文、數字、符號都是對的,但中間夾雜了一些亂碼,那基本可以斷定是此情況。

          私信小編007即可獲取小編精心準備的教程以及大量的PDF哦!

          解決這個問題的辦法就是,把結果先按網頁的編碼方式 decode 解碼成 unicode,再輸出。如果不確定網頁的編碼,可參照以下代碼:

          import urllib
          req = urllib.urlopen("http://some.web.site")
          info = req.info()
          charset = info.getparam('charset')
          content = req.read()
          print content.decode(charset, 'ignore')
          復制代碼
          

          'ignore' 參數的作用是忽略掉無法解碼的字符。

          不過這種方法不總是有效。還有種方式就是通過正則直接匹配網頁代碼中的編碼設置:

          <meta http-equiv=Content-Type content="text/html;charset=utf-8">
          復制代碼
          

          除了編碼問題造成亂碼之外,還有種常被忽視的情況,就是 目標網頁啟用了 gzip 壓縮 。壓縮后的網頁傳輸數據少了,打開速度更快。在瀏覽器中打開時,瀏覽器會根據網頁的 header 信息自動做解壓。但直接用代碼抓取則不會。因此很可能就被搞糊涂了,為什么明明打開網頁地址是對的,但程序抓取就不行。連我自己也曾經被這個問題坑過。

          這種情況的表現是抓取的內容幾乎全是亂碼,甚至無法顯示。

          要判斷網頁是否啟用了壓縮并對其解壓,可參考以下代碼:

          import urllib
          import gzip
          from StringIO import StringIO
          req = urllib.urlopen("http://some.web.site")
          info = req.info()
          encoding = info.getheader('Content-Encoding')
          content = req.read()
          if encoding == 'gzip':
           buf = StringIO(content)
           gf = gzip.GzipFile(fileobj=buf)
           content = gf.read()
          print content
          復制代碼
          

          在我們教室的編程實例查天氣系列(點擊查看) 中,這兩個問題困擾了相當多人。在此特別講解一下。

          最后,還有個“利器”要介紹一下。如果一開始就用它,你甚至不知道還有上述兩個問題的存在。

          這就是 requests 模塊。

          同樣抓取網頁,只需要:

          import requests
          print requests.get("http://some.web.site").text
          復制代碼
          

          沒有編碼問題,沒有壓縮問題。

          This is why I love Python.

          至于如何安裝 requests 模塊,請參考之前的文章:

          如何安裝 Python 的第三方模塊 -


          主站蜘蛛池模板: 国精产品一区二区三区糖心| 亚洲乱码一区二区三区在线观看 | 一区二区三区视频在线| AV天堂午夜精品一区| 国产成人片视频一区二区| 国偷自产av一区二区三区| 夜夜添无码试看一区二区三区| 久久精品国产一区二区三区肥胖| 91一区二区视频| 九九无码人妻一区二区三区| 国产综合精品一区二区| 亲子乱AV视频一区二区| 日韩爆乳一区二区无码| 国产麻豆媒一区一区二区三区 | 99国产精品一区二区| 91久久精品国产免费一区| 日韩精品午夜视频一区二区三区| 一区二区三区在线视频播放| 免费视频一区二区| 春暖花开亚洲性无区一区二区| 日本夜爽爽一区二区三区| 中文字幕亚洲乱码熟女一区二区 | 亚洲av无码成人影院一区| 风流老熟女一区二区三区| 亚洲成在人天堂一区二区| 国产精品美女一区二区| 国产AV一区二区三区无码野战| 亚洲AV无码一区二区三区久久精品| 一区视频免费观看| 亚洲AV无码一区二区三区网址 | 亚洲国产精品一区二区三区在线观看| 国产suv精品一区二区6| 亚洲一区精品视频在线| 一区二区精品在线观看| 日韩精品一区二区三区老鸭窝| 精品一区二区三区高清免费观看| 亚洲色偷偷偷网站色偷一区| 国产乱码伦精品一区二区三区麻豆| 亚洲熟女综合色一区二区三区| 国产乱码精品一区二区三区中文 | 玩弄放荡人妻一区二区三区|