跳转至

cacti Thold-0.4.2报警邮件中文乱码

cacti发出的报警邮件是乱码

显示乱码

解决办法

1、修改thold_functions.php

vim /var/www/html/plugins/thold/thold_functions.php

PHP
1
2
3
$message = str_replace('<SUBJECT>', $subject, $message);
# 在这行下边添加一行
$subject = "=?UTF-8?B?".base64_encode($subject)."?=";

这样主题就可以支持中文了

2、修改polling.php

vim /var/www/html/plugins/thold/includes/polling.php

查找if ($host['status'] == HOST_UP) {

修改下边两段信息

PHP
/*$subject = 'Host Notice: <DESCRIPTION> (<HOSTNAME>) returned from DOWN state';*/
$subject = '主机通知:' . $host['description'] . ' 从宕机状态恢复';
/*$msg = '<br>System <DESCRIPTION> (<HOSTNAME>) status: <DOWN/UP><br><br>Current ping response: <CUR_TIME> ms<br>Average system response : <AVG_TIME> ms<br>System availability: <AVAILABILITY><br>Total Checks Since Clear: <TOT_POLL><br>Total Failed Checks: <FAIL_POLL><br>Last Date Checked UP: <LAST_FAIL><br>Host Previously DOWN for: <DOWNTIME><br><br>Snmp Info:<br>Name - <SNMP_HOSTNAME><br>Location - <SNMP_LOCATION><br>Uptime - <UPTIMETEXT> (<UPTIME> ms)<br>System - <SNMP_SYSTEM><br><br>NOTE: <NOTES>';*/
$msg = '主机通知:' . $host['description'] . ' (' . $host['hostname'] . ') 从宕机状态恢复';
$msg = iconv("UTF-8", "GB2312//IGNORE", $msg);
/*$subject = 'Host Error: <DESCRIPTION> (<HOSTNAME>) is DOWN';*/
$subject = '主机错误:' . $host['description'] . ' 宕机';
/*$msg = 'System Error : <DESCRIPTION> (<HOSTNAME>) is <DOWN/UP><br>Reason: <MESSAGE><br><br>Average system response : <AVG_TIME> ms<br>System availability: <AVAILABILITY><br>Total Checks Since Clear: <TOT_POLL><br>Total Failed Checks: <FAIL_POLL><br>Last Date Checked DOWN : <LAST_FAIL><br>Host Previously UP for: <DOWNTIME><br>NOTE: <NOTES>';*/
$msg = '主机错误:' . $host['description'] . ' (' . $host['hostname'] . ') 宕机<br>错误信息:' . $host['status_last_error'];
$msg = iconv("UTF-8", "GB2312//IGNORE", $msg);

保存后重启http

/etc/init.d/httpd restart

解决

正常显示