監控客戶機-配置觸發器php
打開zabbix監控界面,發現上一次配置的監控出現報錯以下:mysql
在服務器zabbix-server上測試也報該錯誤web
[root@wangzb01 ~]# zabbix_get -s 192.168.1.35 -p 10050 -k "system.cpu.load[all,avg1]" zabbix_get [7582]: Get value error: cannot connect to [[192.168.1.35]:10050]: [113] No route to host
緣由是zabbix-agent上的防火牆所致,須要關掉zabbix-agent上的防火牆sql
切換到zabbix-agent客戶端所在機器192.168.1.35 [root@wangzb01 ~]# systemctl stop firewalld.service //中止firewall [root@wangzb02 ~]# systemctl disable firewalld.service //關閉防火牆開啓啓動 [root@wangzb02 ~]# systemctl status firewalld.service //看防火牆狀態 再次測試就能夠成功了 [root@wangzb01 ~]# zabbix_get -s 192.168.1.35 -p 10050 -k "system.cpu.load[all,avg1]" 0.000000
配置觸發器數據庫
在configuration——hosts中,trigger就是觸發器,點擊trigger進入觸發器配置express
點擊create triggervim
name如今只支持輸入英文名稱,點擊ADD添加條件瀏覽器
添加完成後回到trigger界面,能夠看到剛剛添加的trigger:net if in服務器
解決中文名稱不能寫數據庫的問題測試
對於中文名稱不能輸入,寫入數據庫的問題,若是輸入中文,會報錯以下:
緣由是由於數據庫的字符集不對,在數據庫中默認字符集是latin1
[root@wangzb01 ~]# mysql -uroot -pmysql zabbix MariaDB [zabbix]> show create table triggers; triggers | CREATE TABLE `triggers` ( `triggerid` bigint(20) unsigned NOT NULL, `expression` varchar(2048) NOT NULL DEFAULT '', `description` varchar(255) NOT NULL DEFAULT '', `url` varchar(255) NOT NULL DEFAULT '', `status` int(11) NOT NULL DEFAULT 0, `value` int(11) NOT NULL DEFAULT 0, `priority` int(11) NOT NULL DEFAULT 0, `lastchange` int(11) NOT NULL DEFAULT 0, `comments` text NOT NULL, `error` varchar(2048) NOT NULL DEFAULT '', `templateid` bigint(20) unsigned DEFAULT NULL, `type` int(11) NOT NULL DEFAULT 0, `state` int(11) NOT NULL DEFAULT 0, `flags` int(11) NOT NULL DEFAULT 0, `recovery_mode` int(11) NOT NULL DEFAULT 0, `recovery_expression` varchar(2048) NOT NULL DEFAULT '', `correlation_mode` int(11) NOT NULL DEFAULT 0, `correlation_tag` varchar(255) NOT NULL DEFAULT '', `manual_close` int(11) NOT NULL DEFAULT 0, PRIMARY KEY (`triggerid`), KEY `triggers_1` (`status`), KEY `triggers_2` (`value`,`lastchange`), KEY `triggers_3` (`templateid`), CONSTRAINT `c_triggers_1` FOREIGN KEY (`templateid`) REFERENCES `triggers` (`triggerid`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1
能夠看到最後的DEFAULT CHARSET=latin1,其實其餘的表默認字符集也都是Latin1,須要支持中文,name就須要將字符集Latin1該問utf8
MariaDB [zabbix]> show variables like 'character%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+ 8 rows in set (0.003 sec)
查看數據庫變量,character_set_server =latin1 須要將全部表的字符集修改成utf8
[root@wangzb01 ~]# mysqldump -uroot -pmysql --default-character-set=utf8 zabbix > zabbix.sql //導出表的同事修改字符集爲utf8 [root@wangzb01 ~]# vim !$ 通常模式下輸入:1,$s/latin1/utf8/g 按回車將文檔中全部字符集字段進行替換,並保存退出 [root@wangzb01 ~]# mysql -uroot -pmysql --default-character-set=utf8 zabbix < zabbix.sql //從新導入表 [root@wangzb01 ~]# mysql -root -pmysql zabbix //進入數據庫 MariaDB [zabbix]> show create table trigger; 查詢表發現字符集DEFAULT CHARSET=utf8已更新 MariaDB [zabbix]> show variables like 'character%'; +--------------------------+----------------------------------+ | Variable_name | Value | +--------------------------+----------------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | /usr/local/mysql/share/charsets/ | +--------------------------+----------------------------------+ 8 rows in set (0.002 sec)
再回到瀏覽器輸入中文名稱點擊update,就能夠成功添加設置中文了,其餘的hosts等表也能夠
解決圖形中中文亂碼的問題
圖形中有中文亂碼主要緣由是,沒有支持中文文字的字體。
[root@wangzb01 ~]# cd /usr/share/zabbix/ [root@wangzb01 zabbix]# vim include/defines.inc.php define('ZBX_FONTPATH', realpath('fonts')); // where to search for font (GD > 2.0.18) define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name 能夠看到字體的路徑在fonts/下 ll /usr/share/zabbix/fonts/graphfont.ttf lrwxrwxrwx 1 root root 33 2月 27 21:57 fonts/graphfont.ttf -> /etc/alternatives/zabbix-web-font
該路徑下無中文字體對應的文件,能夠從Windows的C:\Windows\Fonts路徑下選擇一個想要的字體文件拷貝到桌面上。
[root@wangzb01 zabbix]# cd /usr/share/zabbix/fonts/ [root@wangzb01 fonts]# rz //上傳文件到fonts目錄下 [root@wangzb01 fonts]# mv graphfont.ttf graphfont.ttf.bak [root@wangzb01 fonts]# ln -s simsun.ttc graphfont.ttf
這樣中文字體配置完成,圖形界面就能夠支持中文了。