rrdtool默认不指定locale,使用本地locale。乱码我估记是中文字体,由于操作系统最小化安装,本地没有中文字体,导致乱码。

1 安装中文字体

yum -y install wqy-zenhei-fonts wqy-zenhei-fonts-common
cd /usr/share/fonts
mkfontscale wqy-zenhei
fc-cache wqy-zenhei

另外一种方法是改动centreon程序,变更x轴格式,小于24小时,仅显示小时分钟 00:00,小于3天,显示日期+小时 02/01 00:00,小于3个月,显示日期 02/01,小于12个月,显示月,02

[-x|--x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM]

GTM:GST :控制次要格网线的位置。GTM 是一个时间单位,可以是 SECOND、MINUTE、HOUR、DAY 、WEEK、MONTH、YEAR 。

GST 则是一个数字,控制每隔多长时间放置一根次要格线。例如我们要画一个1天的图表,决定每15分钟一根次要网格线,则格式为 MINUTE:15

MTM:MST : 控制主要网格线的位置。MTM 同样是时间单位,MST 是一个数字。接上面的例子,决定一个小时1根主要网格线。则格式为 HOUR:1

LTM:LST :控制每隔多长时间输出一个label 。决定为1小时1个 label 。则格式为 HOUR:1

LPR:LFM :LTM:LST 只是决定了 label 的显示位置了,没有指定要显示什么内容。LPR 指的是如何放置 label 。如果LPR 为0,则数字对齐格线(适用于显示时间)。如果不为0,则会做一些偏移(适用于显示星期几、月份等)。至于LFM 则需要熟悉一下 date 命令的参数,常用的有 %a(星期几)、%b(月份)、%d(天)、%H(小时)、%M(分)、%Y(年)。显示小时和分,用 %H%M

/usr/share/centreon/www/class/centreonGraph.class.php

    ......

    public function displayImageFlow() {
$commandLine = ""; /*
* Send header
*/ $this->flushRrdcached($this->listMetricsId); $commandLine = " graph - "; if (isset($this->_RRDoptions["end"]) && isset($this->_RRDoptions["start"])) {
if ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 2160000
&& $this->_RRDoptions["end"] - $this->_RRDoptions["start"] < 12960000) {
if ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] < 10368000 - (86400*7))
$this->setRRDOption("x-grid", "DAY:1:DAY:7:DAY:7:0:%d/%m");
else
$this->setRRDOption("x-grid", "DAY:7:DAY:7:DAY:14:0:%d/%m");
}
} ......
if (isset($this->_RRDoptions["end"]) && isset($this->_RRDoptions["start"])) {
if ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 3600*1 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 3600*6) {
$this->setRRDOption("x-grid", "MINUTE:10:HOUR:1:HOUR:1:0:%H:%M");
} elseif ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 3600*6 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 3600*24) {
$this->setRRDOption("x-grid", "MINUTE:30:HOUR:2:HOUR:2:0:%H:%M");
} elseif ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 86400*1 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 86400*3) {
$this->setRRDOption("x-grid", "HOUR:2:HOUR:6:HOUR:6:0:%H:%M");
} elseif ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 86400*3 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 86400*7) {
$this->setRRDOption("x-grid", "HOUR:6:DAY:1:DAY:1:0:%d/%m");
} elseif ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 86400*7 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 86400*15) {
$this->setRRDOption("x-grid", "DAY:1:DAY:2:DAY:2:0:%d/%m");
} elseif ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 86400*15 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 86400*31*2) {
$this->setRRDOption("x-grid", "DAY:1:WEEK:1:WEEK:1:0:%d/%m");
} elseif ($this->_RRDoptions["end"] - $this->_RRDoptions["start"] > 86400*31*2 && $this->_RRDoptions["end"] - $this->_RRDoptions["start"] <= 86400*31*6) {
$this->setRRDOption("x-grid", "WEEK:1:WEEK:4:WEEK:4:0:%m/%Y");
} else {
$this->setRRDOption("x-grid", "MONTH:1:MONTH:2:MONTH:2:0:%m/%Y");
}
}

centreon 画图x轴乱码的更多相关文章

  1. python3 使用matplotlib画图出现中文乱码的情况

    python3使用matplotlib画图,因python3默认使用中unicode编码,所以在写代码时不再需要写 plt.xlabel(u’人数’),而是直接写plt.xlabel(‘人数’). 注 ...

  2. Python 3下Matplotlib画图中文显示乱码的解决方法

    解决办法: 因为乱码是Matplotlib缺少中文配置所导致的,所以我们只需要在程序中说明使用中文字体即可. 先选一个字体.在计算机中找到字体,选择一种中文字体,比如我这里用的是楷体 右键可以查看其属 ...

  3. graphviz画图与中文乱码等问题总结

    最近想写一些文档,画一些程序的逻辑图,用了vision,markdown等软件感觉不怎么好用,于是找到graphviz,这款强大的软件.下面介绍一些入门,还有自己在用的过程中遇到的问题 1.中文乱码的 ...

  4. python matplotlib.plot画图显示中文乱码的问题

    在matplotlib.plot生成的统计图表中,中文总是无法正常显示.在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图 ...

  5. Jupyter Notebook里面使用Matplotlib画图 图表中文乱码问题

    可查看以下链接: https://blog.csdn.net/ccblogger/article/details/79613335

  6. linux下python中文乱码解决方案

    1. 场景描述 linux服务器下安装了Anaconda3,执行Pyhton的K-means算法,结果出现如下图的中文字符乱码.上次已经解决了,忘记记录解决流程了,这次配置了一台新的服务器,又出现,默 ...

  7. python基础全部知识点整理,超级全(20万字+)

    目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...

  8. 巩固复习(Hany驿站原创)_python的礼物

    Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www ...

  9. Rational Rose 7.0的使用(转)

    1.Rose如何隐藏类的属性和操作? 右击类图,选择Options->Suppress Attributes/Suppress Operations 2.Rose中如何表示双向关联? 右击关联线 ...

随机推荐

  1. Web上传文件

      客户端      相对于FTP文件上传,Web文件上传速度慢一些,但使用方便,不需要客户端,而且权限比FTP容易控制. Web文件上传采用POST方式,上传文件需要设置FORM的entype属性为 ...

  2. SQL语句的Select部分只写必要的列

    如果Select部分包含不需要的列,这会强制DB2必须进入数据页来得到所请求的特定列,这就要求更多的I/O操作.另外,如果再对这个不需要的列进行排序,就需要创建和传递一个更大的排序文件,相应地会使排序 ...

  3. gridView--GridView关于间距的属性值介绍

    android:columnWidth  设置列的宽度.关联的方法为:setColumnWidth(int) android:gravity  设置此组件中的内容在组件中的位置.可选的值有:top.b ...

  4. 加入ScrollView后OnGestureListener无效的解决办法

    android中,ViewFlipper+OnGestureListener可以实现左右滑动效果. 但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了…… 这里其实只需 ...

  5. MySql 存储过程实例(附完整注释)

    将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例:                                                       ...

  6. java网络编程之TCP实例

    Dgram类 package Socket; import java.net.DatagramPacket; import java.net.InetAddress; public class Dgr ...

  7. 计算webView的 高度 和自适应屏幕大小

    - (void)webViewDidFinishLoad:(UIWebView *)webView{ [webView stringByEvaluatingJavaScriptFromString: ...

  8. vacabulary1

    The hard hat is rigid,so nothing will hurt my head. glue 胶水vegetarian 素食者: 素食主义者:素食的 North Korea 朝鲜S ...

  9. arm-linux-gcc 常用参数讲解 gcc编译器使用方法

    我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc.下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家.在此之前首先介绍下编译器的工作过程,在使 ...

  10. Java SE 第十六讲----面向对象特征之多态

    1.多态:polymorphism:我们说的子类就是父类(玫瑰是花,男子是人),因此多态的意思就是:父类型的引用可以指向子类的对象 public class PolyTest { public sta ...