目录
2.12 修改zabbix.conf.ph 文件
4.2 安装zabbix-agent
4.6 在web 页面中添加zabbix-agent
5.1 下载zabbix_agentd监控客户端软件安装包(windows操作系统客户端)
7.1 复制已经安装好zabbix-server节点的centos安装包
6.5 浏览器访问zabbix页面并进行初始化
一、概述
1.1 简介
Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持,是一个企业级的分布式开源监控方案。
Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。
Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。
1.2 Zabbix结构
Server
Zabbix server 是监控代理程序报告系统可用性、系统完成整性和统计信息的核心组件。Zabbix Server是所有配置信息、统计信息和操作数据的核心存储器。
数据库存储
所有配置信息和Zabbix收集到的数据都被存储在数据库中。
Web界面
为了从任何地方和任何平台都轻松的访问Zabbix,Zabbix提供了基于Web的界面。该界面是Zabbix Server的一部分,通常(但不一定)跟Zabbix Server运行在同一台物理机器上。
Proxy代理服务器
Zabbix proxy 可以替Zabbix Server收集性能和可用性数据。Proxy代理服务器是Zabbix软件可选择部署的一部分;当然,Proxy代理服务器可以帮助单台Zabbix Server分担负载压力。
Agent监控代理
Zabbix agents监控代理 部署在监控目标上,能够主动监控本地资源和应用程序,并将收集到的数据报告给Zabbix Server。
1.3 安装规划
本次安装采用yum在线方式安装,计划安装zabbix server一台和zabbix agent一台,以做演示:
192.168.0.125 zabbix.server
192.168.0.126 zabbix.agent01
二、Zabbix Server安装
2.1 禁用SELinux
在所有节点执行sudo setenforce 0 命令
# sudo setenforce 0
修改集群所有节点的/etc/selinux/config文件,内容如下:
# vim /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
2.2 关闭防火墙
在集群所有节点执行如下操作,并永久关闭防火墙
# service iptables stop
# chkconfig iptables off
2.3 引导zabbix3.4的yum源
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
2.4 安装mysql5.6
由于Centos6.9默认安装的版本是5.1的,故要先卸载再安装5.6版本的
卸载mysql5.1
# yum -y remove mysql*
引导mysql5.6的yum源
# vim /etc/yum.repos.d/mysql.repo
加入以下内容:
[mysql56]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
导入gpgcheck文件,去官网复制然后粘贴,由于内容太长这里就不列出来了,下载地址:gpgcheck文件下载地址
复制内容,粘贴到RPM-GPG-KEY-mysql中
# vim /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
安装mysql5.6
# yum -y install mysql-community-server
若有报错:warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY ,执行:
# gpg --import /etc/pki/rpm-gpg/RPM*
# rpm --import /etc/pki/rpm-gpg/RPM*
编辑mysql的配置文件并添加一下内容:
# vim /etc/my.cnf
[mysqld]
innodb_file_per_table=1
2.5 创建zabbix数据库并把导入一些sql表
将mysqld加入系统自启动服务并设置开机启动
# chkconfig --add mysqld
# chkconfig mysqld on
启动并配置Mysql
# service mysqld start
初始化MySQL
# mysql_secure_installation
参照以下步骤进行设置:
进入mysql,更改成任何机器都能够连接到MySQL
# mysql -uroot -p
mysql> use mysql;
mysql> update user set Host='%' where User='root' and Host='localhost';
mysql> select User,host,password from user;
+------+------------+-------------------------------------------+
| User | host | password |
+------+------------+-------------------------------------------+
| root | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| root | localhost1 | *AD54E24B2516DA73E6C0484080B90AB51D828747 |
| root | feiwei01.com| *AD54E24B2516DA73E6C0484080B90AB51D828747 |
| root | ::1 | *AD54E24B2516DA73E6C0484080B90AB51D828747 |
+------+------------+-------------------------------------------+
4 rows in set (0.00 sec)
删除 localhost1 & 127.0.0.1 & ::1
mysql> delete from user where User='root' and Host='localhost1';
Query OK, 1 row affected (0.00 sec)
mysql> delete from user where User='root' and Host='127.0.0.1';
Query OK, 1 row affected (0.00 sec)
mysql> delete from user where User='root' and Host='::1';
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges;
mysql> select User,host,password from user;
+------+------+-------------------------------------------+
| User | host | password |
+------+------+-------------------------------------------+
| root | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
+------+------+-------------------------------------------+
1 row in set (0.00 sec)
创建zabbix数据库
mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';
Query OK, 0 rows affected (0.01 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
2.6 安装php5.6和Apache服务
获取yum源:
# rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
安装下面所有的包:
# yum -y install httpd php56w php56w-gd php56w-mysqlnd php56w-bcmath php56w-mbstring php56w-xml php56w-ldap
编辑php的ini文件(vim /etc/php.ini)并修改一下内容,注意date.timezone一定要写对,否则在配置完zabbix后,显示的界面全部报错
# vim /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1
配置/etc/httpd/conf/httpd.conf,修改以下内容
# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/zabbix"
<Directory "/var/www/html/zabbix">
ServerName 192.168.0.125
DirectoryIndex index.html index.html.var index.php
2.7 创建zabbix用户和组
# groupadd zabbix
# useradd -g zabbix zabbix
2.8 yum安装zabbix
安装zabbix server:
# yum install zabbix zabbix-get zabbix-server zabbix-server-mysql zabbix-sender -y
安装zabbix web server:
# yum install zabbix-web zabbix-web-mysql -y
2.9 往数据库中导入一些数据
# zcat /usr/share/doc/zabbix-server-mysql-3.4.8/create.sql.gz | mysql -uzabbix -pzabbix zabbix
2.10 修改zabbix配置
# vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.0.125
设置数据库用户名和密码,可自己在数据库中设置用户和密码
DBUser=zabbix
DBPassword=zabbix
2.11 复制zabbix到站点目录下
# \cp -R /usr/share/zabbix/ /var/www/html/
2.12 修改zabbix.conf.ph 文件
# cd /var/www/html/zabbix/
# cp zabbix.conf.php.example zabbix.conf.php
# vim zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB, $HISTORY;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = '192.168.0.125';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = '192.168.0.125';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
2.13 启动所有服务,并设置开机自启
添加到系统服务
# chkconfig --add httpd
# chkconfig --add mysqld
# chkconfig --add /etc/init.d/zabbix-server
设置开机自启
# chkconfig httpd on
# chkconfig mysqld on
# chkconfig zabbix-server on
启动服务
# service httpd start
# service mysqld start
# service zabbix-server start
三、浏览器访问zabbix页面并进行初始化
访问:http://192.168.0.125/setup.php
所有检查项都正确
填写数据库连接四要素
配置zabbix server信息
配置zabbix server信息
检查配置项是否正确
初始化成功
登录zabbix,初始帐号密码为:Admin/zabbix
修改中文字体
点击Admin(即主页右上角人形头像的图标)
选择Chinese(zh_CN),然后点击Update即可
四、Zabbix agent安装
4.1 引导zabbix3.4的yum源
# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
4.2 安装zabbix-agent
# yum install zabbix zabbix-agent zabbix-get zabbix-sender -y
4.3 修改agent配置
# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.0.125 #填写Server的IP地址
ServerActive=192.168.0.125 #修改为Server的IP地址
Hostname=zabbix.agent01 #填写本机的HostName,注意Server端要能解析
UnsafeUserParameters=1 #是否允许自定义的key,1为允许,0为不允许
#Include= etc/zabbix/zabbix_agentd.conf.d/ 这个选项不要配置,否则会造成agent 查找conf 出现递归,无法启动。
4.4 服务端添加agent主机映射
# vim /etc/hosts
192.168.0.126 zabbix.agent01 //添加
4.5 启动zabbix agent 服务,并设置开机自启
# chkconfig --add /etc/init.d/zabbix-agent
# chkconfig zabbix-agent on
# service zabbix-agent start
4.6 在web 页面中添加zabbix-agent
选择 配置===》主机 ===》创建主机
五、Windows下安装zabbix客户端
5.1 下载zabbix_agentd监控客户端软件安装包(windows操作系统客户端)
官方下载地址:Zabbix 3.4 Download
5.2 关闭防火墙
打开控制面板:
选择windows防火墙:
选择打开或关闭windows防火墙:
关闭windows防火墙:
5.3 安装zabbix客户端
解压安装包
下载后解压zabbix_agents_3.4.0.win.zip 压缩包,里面有两个文件夹,一个是bin文件夹,另一个是conf文件夹。
Bin文件夹里面有两个文件夹,一个是win32文件夹里存放zabbix_agentd安装程序应用于windows 32位操作系统,
一个是win64文件夹里存放zabbix_agentd安装程序应用于windows 64位操作系统。
Conf文件夹里存放是配置文件zabbix_agentd.win.conf
创建安装目录
在windows操作系统C盘目录下创建一个zabbix文件夹,把刚下载的zabbix_agentd压缩包里的win64位文件夹的zabbix_agentd.exe、zabbix_get.exe、zabbix_sender.exe、dev文件夹复制到zabbix文件夹里
安装程序和conf文件夹zabbix_agentd.win.conf复制到windows 操作系统C盘创建的zabbix文件夹里。(文件夹创建路径可以自定义,
但后面zabbix_agentd客户端运行安装命令需要根据创建的路径运行)
修改配置文件
右键以文本格式编辑zabbix_agentd.win.conf 配置文件。
EnableRemoteCommands=1 #允许在本地执行远程命令
Server = 192.168.0.125 #填写zabbix服务器IP地址
ServerActive=192.168.0.125 #修改为Server的IP地址
Hostname=192.168.0.74 #zabbix_agent客户端计算机名(被监控主机)
安装agent
桌面 ---- 开始 ---- 运行 ----- 输入cmd 打开DOS命令窗口---- 输入以下两条命令进行zabbix客户端安装。(必须要以管理员身份运行打开DOS命令窗口)
安装zabbix客户端:
C:\zabbix\zabbix_agentd.exe -i -c C:\zabbix\zabbix_agentd.win.conf
启动zabbix服务
C:\zabbix\zabbix_agentd.exe -s -c C:\zabbix\zabbix_agentd.win.conf
zabbix_agentd.exe命令说明
-c 制定配置文件所在位置
-i 安装客户端
-s 启动客户端
-x 停止客户端
-d 卸载客户端
六、异常解决
6.1 Zabbix解决图片字体乱码问题
当部署完Zabbix Server以后,点击筛选,看到监控项里面图片中的字体会有乱码情况
解决方法:
在Windows-控制面板-字体中选择自己喜欢的,并copy到/var/www/html/zabbix/fonts/下面。
编辑 vim /var/www/html/zabbix/include/defines.inc.php
将字体名称修改为front目录下的文件名,省去ttf后缀即可。
('ZBX_FONT_NAME', 'graphfont'); #修改前
('ZBX_GRAPH_FONT_NAME', 'graphfont'); #修改前
('ZBX_FONT_NAME', 'simkai'); #修改后
('ZBX_GRAPH_FONT_NAME', 'simkai'); #修改后
现在刷新页面即可看到字体已经转换
七、打包zabbix server
如果再没有外网的环境中,可以先在有外网的环境下安装,然后整体打包迁移。
7.1 复制已经安装好zabbix-server节点的centos安装包
7.2 在VMware上选择打开虚拟机
选择zabbix_server.vmx
点击开启此虚拟机
选择我已复制虚拟机
6.3 修改系统配置
使用root/123456登录
先停止httpd mysqld zabbix-server 服务
# service httpd stop
# service mysqld stop
# service zabbix-server stop
执行以下步骤:
# cd /etc/sysconfig/network-scripts/
# mv ifcfg-eth0 ifcfg-eth1
# ifconfig -a
eth1 Link encap:Ethernet HWaddr 00:0C:29:00:F8:E7
# vim ifcfg-eth1
DEVICE=eth1 修改为eth1
HWADDR=00:0C:29:00:F8:E7 修改为上面的HWaddr
BOOTPROTO=static
IPADDR=192.168.0.130 修改为新的ip
NETMASK=255.255.255.0 修改为新的子网掩码
NAME="System eth1" 修改为System eth1
重启网络,显示成功即可
# service network restart
6.4 修改服务配置
修改zabbix_server.conf配置
# vim /var/www/html/zabbix/conf/zabbix.conf.php
修改以下两个参数为新的主机名
$DB['SERVER'] = '192.168.0.130';
$ZBX_SERVER = '192.168.0.130';
修改zabbix_agent.conf配置
# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.0.125 #填写Server的IP地址
ServerActive=192.168.0.125 #修改为Server的IP地址
Hostname=zabbix.agent01 #填写本机的HostName,注意Server端要能解析,或者直接填写ip也可以
修改/etc/zabbix/web/zabbix.conf.php 配置
# vim /etc/zabbix/web/zabbix.conf.php
$DB['SERVER'] = '192.168.0.130'; //修改为新的ip
6.5 浏览器访问zabbix页面并进行初始化
启动过httpd mysqld zabbix-server 服务
初始化过程参见3