监控客户机-配置触发器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
这样中文字体配置完成,图形界面就能够支持中文了。