centreon 画图x轴乱码

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轴乱码的更多相关文章
- python3 使用matplotlib画图出现中文乱码的情况
python3使用matplotlib画图,因python3默认使用中unicode编码,所以在写代码时不再需要写 plt.xlabel(u’人数’),而是直接写plt.xlabel(‘人数’). 注 ...
- Python 3下Matplotlib画图中文显示乱码的解决方法
解决办法: 因为乱码是Matplotlib缺少中文配置所导致的,所以我们只需要在程序中说明使用中文字体即可. 先选一个字体.在计算机中找到字体,选择一种中文字体,比如我这里用的是楷体 右键可以查看其属 ...
- graphviz画图与中文乱码等问题总结
最近想写一些文档,画一些程序的逻辑图,用了vision,markdown等软件感觉不怎么好用,于是找到graphviz,这款强大的软件.下面介绍一些入门,还有自己在用的过程中遇到的问题 1.中文乱码的 ...
- python matplotlib.plot画图显示中文乱码的问题
在matplotlib.plot生成的统计图表中,中文总是无法正常显示.在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图 ...
- Jupyter Notebook里面使用Matplotlib画图 图表中文乱码问题
可查看以下链接: https://blog.csdn.net/ccblogger/article/details/79613335
- linux下python中文乱码解决方案
1. 场景描述 linux服务器下安装了Anaconda3,执行Pyhton的K-means算法,结果出现如下图的中文字符乱码.上次已经解决了,忘记记录解决流程了,这次配置了一台新的服务器,又出现,默 ...
- python基础全部知识点整理,超级全(20万字+)
目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...
- 巩固复习(Hany驿站原创)_python的礼物
Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www ...
- Rational Rose 7.0的使用(转)
1.Rose如何隐藏类的属性和操作? 右击类图,选择Options->Suppress Attributes/Suppress Operations 2.Rose中如何表示双向关联? 右击关联线 ...
随机推荐
- Web上传文件
客户端 相对于FTP文件上传,Web文件上传速度慢一些,但使用方便,不需要客户端,而且权限比FTP容易控制. Web文件上传采用POST方式,上传文件需要设置FORM的entype属性为 ...
- SQL语句的Select部分只写必要的列
如果Select部分包含不需要的列,这会强制DB2必须进入数据页来得到所请求的特定列,这就要求更多的I/O操作.另外,如果再对这个不需要的列进行排序,就需要创建和传递一个更大的排序文件,相应地会使排序 ...
- gridView--GridView关于间距的属性值介绍
android:columnWidth 设置列的宽度.关联的方法为:setColumnWidth(int) android:gravity 设置此组件中的内容在组件中的位置.可选的值有:top.b ...
- 加入ScrollView后OnGestureListener无效的解决办法
android中,ViewFlipper+OnGestureListener可以实现左右滑动效果. 但是在ViewFlipper加上了ScrollView就悲剧了,左右滑动事件无效了…… 这里其实只需 ...
- MySql 存储过程实例(附完整注释)
将下面的语句复制粘贴可以一次性执行完,我已经测试过,没有问题! MySql存储过程简单实例: ...
- java网络编程之TCP实例
Dgram类 package Socket; import java.net.DatagramPacket; import java.net.InetAddress; public class Dgr ...
- 计算webView的 高度 和自适应屏幕大小
- (void)webViewDidFinishLoad:(UIWebView *)webView{ [webView stringByEvaluatingJavaScriptFromString: ...
- vacabulary1
The hard hat is rigid,so nothing will hurt my head. glue 胶水vegetarian 素食者: 素食主义者:素食的 North Korea 朝鲜S ...
- arm-linux-gcc 常用参数讲解 gcc编译器使用方法
我们需要编译出运行在ARM平台上的代码,所使用的交叉编译器为 arm-linux-gcc.下面将arm-linux-gcc编译工具的一些常用命令参数介绍给大家.在此之前首先介绍下编译器的工作过程,在使 ...
- Java SE 第十六讲----面向对象特征之多态
1.多态:polymorphism:我们说的子类就是父类(玫瑰是花,男子是人),因此多态的意思就是:父类型的引用可以指向子类的对象 public class PolyTest { public sta ...