監控客戶機-配置觸發器

監控客戶機-配置觸發器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

這樣中文字體配置完成,圖形界面就能夠支持中文了。

相關文章
相關標籤/搜索