Zabbix安装配置过程小记

背景

本章节主要记述一次Zabbix Server的基础安装过程,并无记述含量,意在记录总结,老司机请绕道而行。

内容

先说个无比操蛋的事情,不知道是什么原因,访问zabbix的官方网站总是时好时坏,无论我是挂代理还是直接访问。关键是我访问其他网站都是OK的。 至今不知是什么操蛋的原因。这个暂时保留,后续如果找到原因了,会写出来。

1. 安装zabbix官方源

2. 安装相关依赖

3. 安装Zabbix-server

本来我想着已经安装了Zabbix的官方源,那么接下来就直接Yum命令安装,一路向西即可。 但没想到报错了:

咦,不对啊,按理来说即使报错也应该是3.2版本相关的啊,怎么出现了zabbix22啥的一大堆?  我立马就怀疑到了应该是zabbix的源没有起作用,于是查看repo配置文件,果然发现了问题:

如上,将图中标红的部分修改为1,默认安装后是0。再试试果然就好了。

至此就成功安装了zabbix-server:

4. 安装MySQL并配置zabbix相关

MySQL的具体安装和配置这里就不再详述,详情可参考之前的博文http://www.foreverlakers.com/2016/11/linux搭建mysql5-7-gtid-主从复制环境/  。 这里说一下安装好mysql之后的配置:

5. 配置Zabbix Server相关 

启动后直接访问外网zabbix地址:http://46.92.76.41/zabbix,竟然报500错误,查看httpd的错误日志如下:

网上搜查后发现是php版本过低导致的问题,于是升级了php的版本为5.6,详细过程如下:

升级完之后重启httpd

这时候再访问页面就出现了如下:

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-11-%e4%b8%8b%e5%8d%885-15-23

6. zabbix的配置

在上面的那个页面点击 Next step 之后出现错误:

PHP bcmath extension missing,   php configuration parameter –enable-bcmath  在页面也可以看到错误提示

解决起来也很简单:

然后刷新页面就好了,继续 Next step:

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-11-%e4%b8%8b%e5%8d%885-30-11

很明显,是因为本地连接要走socket的缘故:

然后就可以正常执行了。等待最后执行成功后,就可以访问zabbix server的登录页了,如下:默认的用户名和密码是

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-11-%e4%b8%8b%e5%8d%889-55-05

登录以后做的第一件事情就是修改Admin密码,并禁用系统默认存在的guest用户。

监控Agent部署配置

到上面为止,我们的Zabbix Server已经能够正常运行了。 此时,我有如下两台数据库服务器想要纳入此zabbix监控,具体该怎么做呢 ?

Agent1: 10.67.239.22

Agent2: 10.67.239.23

1. 先将zabbix server本身纳入监控 

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-12-%e4%b8%8b%e5%8d%884-17-47

2. 在两台agent上安装zabbix agent 

3. 在两台agent上配置zabbix agent 并启动

4. 配置自动发现规则

在第三部结束后,我们通过zabbix web依然无法看到对应的两个zabbix agent,只有手动添加hosts配置后才行。但是这样似乎很低效,如果我有20台数据库服务器,我还得手动去添加20次hosts ? 为了解决这个问题我们添加自动发现规则。

首先,在如下页面打开 auto discovery 配置:

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-12-%e4%b8%8b%e5%8d%885-12-19

然后再在如下页面配置discovery的规则:

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-12-%e4%b8%8b%e5%8d%886-06-30

这样配置后,我们的zabbix server只要收到符合上面配置规则的agent,就会自动将它纳入Discovered Hosts组,如下

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-12-%e4%b8%8b%e5%8d%886-10-05

这样我们就将所要监控的机器纳入zabbix server的监控之下了。 并且已经默认具备了基本的内存和CPU、磁盘等监控能力了。

配置MySQL监控项

我的两台zabbix agent是数据库服务器,所以想要将上面运行的数据库监控起来。具体操作如下:

1. 在zabbix agent创建配置文件和目录

如果你有多实例,可以添加多个配置文件和zabbix home,比如还有3308端口的mysql:

2. 在zabbix web进行配置

在zabbix默认的存在一个 Template App MySQL 模板,只需要将此模板稍作修改即可,如下,我在此模板中新添加了四个item:

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-13-%e4%b8%8a%e5%8d%881-24-04

这里注意,如果你用的是MySQL的5.7版本,那么无法获取Slave_running信息,需要进行如下操作:

3. 照着模板再生成一个其他端口的模板

%e5%b1%8f%e5%b9%95%e5%bf%ab%e7%85%a7-2017-06-13-%e4%b8%8a%e5%8d%881-29-33

到此我们就完成了zabbix server的基本配置,并成功监控mysql server系统。


Install At Centos 7

隔了一段时间,我又有一次安装zabbix server的任务,本以为可以淡淡的拿下,却没想到成了淡淡的忧伤,只因本次安装在Centos 7 下,于是又踩了一些坑,特此记录:

1. 安装Zabbix官方源

注意这次是Centos7的源哦。

2. 安装相关依赖

3. 安装PHP环境

4. 安装Zabbix-server

此处省去启动过程。。。。

配置完httpd后启动(与centos6的方法一致),发现访问web报如下错误:

需要在http的配置中注释掉下面这个:

 

发表评论