1. 程式人生 > >Zabbix 3.2.6使用註意事項

Zabbix 3.2.6使用註意事項

ash x server con linux allow mail 顯示 files require

1、如果需要使用zabbix自帶的SMTP發送郵件,需要在安裝前升級系統的curl到7.20版本以上 2、zabbix對接PHP 7.1版本,因為PHP 7.1類型強化,會在安裝完成zabbix,登錄之後monitor頁面顯示:
1 A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → make_status_of_zbx() → CFrontendSetup->checkRequirements() → CFrontendSetup->checkPhpMemoryLimit() → str2mem() in
include/func.inc.php:410] 2 A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → make_status_of_zbx() → CFrontendSetup->checkRequirements() → CFrontendSetup->checkPhpPostMaxSize() → str2mem() in
include/func.inc.php:410] 3 A non well formed numeric value encountered [zabbix.php:21 → require_once() → ZBase->run() → ZBase->processRequest() → CView->getOutput() → include() → make_status_of_zbx() → CFrontendSetup->checkRequirements() → CFrontendSetup->checkPhpUploadMaxFilesize() → str2mem() in
include/func.inc.php:410]
解決方案:
sed -i /$last = strtolower(substr($val, -1));/a$val = substr($val,0,-1); /home/www/zabbix/include/func.inc.php
/home/www/zabbix/include/func.inc.php文件路徑各根據各http服務不同有所差異。 3、zabbix 3.0版本之後,使用自定義腳本發送郵件時,需要手動傳遞腳本參數 {ALERT.SENDTO} 收件人:對應用戶郵箱 {ALERT.SUBJECT} 郵件主題:問題狀態+對應的trigger名稱 技術分享技術分享 {ALERT.MESSAGE} 郵件正文:action中配置的郵件內容技術分享

以上參數按照順序分別對應自定義腳本中的$1,$2,$3 4、使用自定義腳本發送的郵件,接收到的郵件正文為附件 技術分享 該問題原因是由windws和linux文本格式導致,需要使用dos2unix將郵件內容進行轉換
1 #!/bin/bash
2  
3 echo "$3" > /tmp/zabbix_alert_message
4 /usr/bin/dos2unix -k /tmp/zabbix_alert_message
5 /bin/mail -s "$2" $1 < /tmp/zabbix_alert_message
中轉文件/tmp/zabbix_alert_message,需要事先創建,並更屬主屬組為zabbix,否則zabbix服務器以zabbix用戶身份執行自定義腳本時,無權限訪問該中轉文件,導致格式轉換失敗 5、執行remote command時需要做的事情:
  •   agent端打開remote command支持
1 [[email protected] ~]# grep -i remote /etc/zabbix/zabbix_agentd.conf
2 ### Option: EnableRemoteCommands
3 #    Whether remote commands from Zabbix server are allowed.
4 EnableRemoteCommands=1
5 1為開啟,0為關閉,默認為0
  • 配置遠程命令時,若該命令需要使用root身份執行,在命令前增加sudo命令。
技術分享

  • 在客戶端,使用visudo編輯sudo的配置文件,給zabbix用戶增加sudo權限,並關閉tty登錄限制新增下面兩行:
 1 zabbix  ALL=(ALL)       NOPASSWD: /etc/rc.d/init.d/httpd restart        #增加權限
 2 Defaults:zabbix !requiretty                                                                  #關閉TTY登錄限制
 3  
 4 若為關閉tty登錄限制,無法成功使用sudo命令,可在visudo中打開sudo使用日誌:
 5 Defaults logfile=/var/sudo.log
 6 Defaults !syslog
 7  
 8 [[email protected] ~]# more /var/sudo.log
 9 6月 22 16:41:21 : zabbix : sorry, you must have a tty to run sudo ; TTY=unknown
10     ; PWD=/ ; USER=root ; COMMAND=/etc/rc.d/init.d/httpd restart

Zabbix 3.2.6使用註意事項