监控客户机-配置触发器

监控客户机-配置触发器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

这样中文字体配置完成,图形界面就能够支持中文了。

相关文章
相关标签/搜索