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. C#动态调用C++编写的DLL函数

    C#动态调用C++编写的DLL函数 动态加载DLL需要使用Windows API函数:LoadLibrary.GetProcAddress以及FreeLibrary.我们可以使用DllImport在C ...

  2. C和C++混合编程

    extern "C"表示编译生成的内部符号名使用C约定.C++支持函数重载,而C不支持,两者的编译规则也不一样.函数被C++编译后在符号库中的名字与C语言的不 同.例如,假设某个函 ...

  3. PO_PO系列 - 请购单系统分析(案例)

    2014-07-01 Created By BaoXinjian

  4. Java8之默认方法和静态接口方法

    前言 上一篇文章30分钟入门Java8之lambda表达式,我们学习了lambda表达式.现在继续Java8新语言特性的学习,今天,我们要学习的是默认方法和静态接口方法. 这一Java8的新语言特性, ...

  5. volatile适用场景

    1.volatile最适用一个线程写,多个线程读的场合. 如果有多个线程并发写操作,仍然需要使用锁或者线程安全的容器或者原子变量来代替.(摘自Netty权威指南) 疑问:如果只是赋值的原子操作,是否可 ...

  6. Python标准库07 信号 (signal包,部分os包)

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在了解了Linux的信号基础之后,Python标准库中的signal包就很容易学习 ...

  7. Dynamics CRM 2011 权限管理(转)

    http://www.cnblogs.com/LeoTang/p/3344265.html Dynamics CRM 2011 权限管理 CRM系统基于角色的权限主要通过部门.角色.用户.团队来 进行 ...

  8. python matplotlib plot 数据中的中文无法正常显示的解决办法

    转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool python matplotlib pl ...

  9. 微信消息接收 验证URL有效性 C#代码示例

    官方文档只给出了PHP的示例代码 开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数: 参数 描述 signature 微信加密签名,signature结合了开发者填 ...

  10. 算法库:clapack安装配置

    类似于opencv.jpeglib和pnglib的安装配置. opencv安装配置见:http://www.cnblogs.com/dzyBK/p/4954945.html jpeglib和pngli ...