zabbix版本: 4.0
zabbix图形中文乱码的问题
默认情况下zabbix图形中的中文显示方块,只要修改zabbix的字体就能解决
-
上传一个中文字体文件.在C:\Windows\Fonts找到楷体文件simkai.ttf,其他字体也可以.上传到zabbix-web的fonts目录中.我的路径是
/usr/share/zabbix/fonts
-
找到zabbix的web目录.修改defines.inc.php文件.我的路径是
/usr/share/zabbix/include/defines.inc.php
-
文件中找到下面这行中的graphfont改成simkai
define('ZBX_GRAPH_FONT_NAME', 'graphfont');
监控项数字大于1000后变成 1k 1m的问题
- 编辑/usr/share/zabbix/include/func.inc.php文件,在下面数组里增加一个新的单位.这里条就是我加的
$blackList = ['%', 'ms', 'rpm', 'RPM', '条'];
- 在zabbix后台修改监控项的单位为: 条即可.
自定义业务监控项
- 新建监控项类型为: zabbix采集器
- 编写脚本使用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)