zabbix图形中文乱码的问题

作者: Frank_a537 | 来源:发表于2020-01-20 21:46 被阅读0次

zabbix版本: 4.0

zabbix图形中文乱码的问题

默认情况下zabbix图形中的中文显示方块,只要修改zabbix的字体就能解决

  1. 上传一个中文字体文件.在C:\Windows\Fonts找到楷体文件simkai.ttf,其他字体也可以.上传到zabbix-web的fonts目录中.我的路径是

    /usr/share/zabbix/fonts
    
  2. 找到zabbix的web目录.修改defines.inc.php文件.我的路径是

    /usr/share/zabbix/include/defines.inc.php
    
  3. 文件中找到下面这行中的graphfont改成simkai

    define('ZBX_GRAPH_FONT_NAME',                'graphfont');
    

监控项数字大于1000后变成 1k 1m的问题

  1. 编辑/usr/share/zabbix/include/func.inc.php文件,在下面数组里增加一个新的单位.这里条就是我加的
    $blackList = ['%', 'ms', 'rpm', 'RPM', '条'];
    
  2. 在zabbix后台修改监控项的单位为: 条即可.

自定义业务监控项

  1. 新建监控项类型为: zabbix采集器
  2. 编写脚本使用zabbix_sender发送数据.下面是一个python写的例子
    import os
    import logging
    
    logging.basicConfig(level=logging.INFO,
                        filename='./log.txt',
                        filemode='a',
                        format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
    
    ZABBIX_SENDER = 'C:/zabbix/bin/zabbix_sender.exe'
    ZABBIX_SERVER = '127.0.0.1'
    ZABBIX_HOSTNAME = 'test'
    
    
    class CrawlerMonitor:
        def get_total(self) -> int:
            return 1
    
        def get_all(self) -> dict:
            total = self.get_total()
            return {
                'total': total
            }
    
    
    def zabbix_send_value(key: str, value: object) -> None:
        cmd_line = '{0} -z {1} -s {2} -k {3} -o {4}'.format(ZABBIX_SENDER, ZABBIX_SERVER, ZABBIX_HOSTNAME, key, value)
        os.system(cmd_line)
    
    
    if __name__ == '__main__':
        logger = logging.getLogger()
    
        try:
            monitor = CrawlerMonitor()
            info = monitor.get_all()
            logger.info(info)
            zabbix_send_value('total', info['total'])
        except Exception as e:
            logger.fatal(e)
    
    

相关文章

网友评论

    本文标题:zabbix图形中文乱码的问题

    本文链接:https://www.haomeiwen.com/subject/htrszctx.html