#一、实验准备
两台虚拟机、 一台作为监控服务器, 一台作为被监控节点, 配置好yum源、 防火墙关闭、 各节点时钟服务同步、 各节点之间可以通过主机名互相通信。
###1. 全部关闭防火墙和SELinux
setenforce 0 && systemctl stop firewalld
###2. 根据架构图,实验基本设置如下:
机器名称 | IP配置 | 服务角色 | 备注 |
zabbix-server | 192.168.19.129 | zabbix-server | 开启监控功能 |
zabbix-client | 192.168.19.130 | zabbix-client | 开启 |
#二、Zabbix的安装,安装server端
###1. 更新yum仓库
我们去官网下载一个包zabbix-release-3.4-2.el7.noarch.rpm
,本地安装至我们的虚拟机,这样,我们本地就有了新的yum源,可以直接安装zabbix服务:
[root@zabbix-server ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
然后更新我们的yum仓库:
[root@zabbix-server ~]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.cn99.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 - Base 10,097
extras/7/x86_64 CentOS-7 - Extras 335
updates/7/x86_64 CentOS-7 - Updates 1,774
zabbix/x86_64 Zabbix Official Repository - x86_64 236
zabbix-non-supported/x86_64 Zabbix Official Repository non-supported - x86_64 4
repolist: 12,446
安装:
[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent -y
[root@zabbix-server ~]# yum install -y zabbix-get-3.4.0-1.el7.x86_64
zabbix-server-mysql数据库是用来存放采集到的数据,而zabbix-web-mysql的作用是Zabbix的web端会通过这些数据,来展示绘图
###2. 安装设置数据库:
#####2.1 安装 mariadb.repo
[root@zabbix-server ~]# yum install -y mariadb mariadb-server
#####2.2 重启我们的数据库服务:
[root@zabbix-server ~]# systemctl restart mariadb
[root@zabbix-server ~]# systemctl enable mariadb
[root@zabbix-server ~]# mysqladmin -u root password 'zabbix' #设置root密码为'zabbix'
#####2.3 创建数据库并授权账号
[root@zabbix-server ~]# mysql -uroot -p'zabbix'
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin; # 创建zabbix数据库
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; # 注意授权网段
MariaDB [(none)]> flush privileges; # 刷新授权
MariaDB [(none)]> \q #退出
Bye
#####2.4 导入表
我们直接把表导入至我们的数据库即可:
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: #输入设置的密码
导入以后,我们进去数据库查看一下:
[root@zabbix-server ~]# mysql -uzabbix -p
Enter password:
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| test |
| zabbix |
+--------------------+
3 rows in set (0.01 sec)
MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
.....
| proxy_dhistory |
| proxy_history |
| regexps |
| rights |
| screen_user |
+----------------------------+
140 rows in set (0.001 sec)
可以看出来,我们的数据已经导入成功了。
###3. 配置 server 端
我们的数据库准备好了以后,我们要去修改server端的配置文件
[root@zabbix-server ~]# cd /etc/zabbix/
[root@zabbix-server zabbix]# ls
web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
[root@zabbix-server zabbix]# cp zabbix_server.conf zabbix_server.conf.bk #备份配置文件
[root@zabbix-server zabbix]# vim zabbix_server.conf
DBHost=localhost #数据库对外的主机
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户
DBPassword=zabbix #数据库密码
#这里的配置文件打开后:如果有的就不用添加了。如果是注释了的也不用取消注释。直接把内容复制粘贴过去就可以了。没有的添加上去
以上,我们的基本配置已经完成,可以开启服务了:
[root@zabbix-server zabbix]# systemctl start zabbix-server
[root@zabbix-server zabbix]# systemctl enable zabbix-server
开启服务以后,我们一定要去确认一下我们的端口有没有开启:
[root@zabbix-server zabbix]# netstat -lntp|grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 12717/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 12717/zabbix_server
###4. 配置 web GUI
有一个/etc/httpd/conf.d/zabbix.conf
文件,这个配置文件就是帮我们做映射的文件
[root@zabbix-server zabbix]# vim /etc/httpd/conf.d/zabbix.conf #设置时区
#里面基本不用动。只需要添加一行时区即可
php_value date.timezone Asia/Shanghai ---添加此行
接下来,我们就可以启动我们的httpd
服务了:
[root@zabbix-server zabbix]# systemctl start httpd
[root@zabbix-server zabbix]# systemctl status httpd
[root@zabbix-server zabbix]# netstat -lntp|grep 80
tcp6 0 0 :::80 :::* LISTEN 12812/httpd
我们的服务已经开启,接着我们就可以用浏览器来访问了
###5. 浏览器访问并进行初始化设置
我们使用浏览器访问192.168.246.228/zabbix
,第一次访问时需要进行一些初始化的设置,我们按照提示操作即可:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MapBZbjG-1585731227574)(https://upload-images.jianshu.io/upload_images/21294643-923b89c9ab24c074.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
登陆进来就可以看到我们的仪表盘了:
默认用户名为:Admin
,密码为:zabbix
。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L9c0TMQV-1585731227576)(https://upload-images.jianshu.io/upload_images/21294643-de89016f5205c361.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
###6. 配置 client 端
当我们把监控端配置启动以后,我们需要来设置一下我们的被监控端,我们在被监控的主机安装好agent,设置好他的server,并把他添加到server端,就能将其纳入我们的监控系统中去了。
#####6.1 安装 zabbix
[root@zabbix-client ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@zabbix-client ~]# yum install zabbix-agent zabbix-sender -y
#####6.2 修改配置文件
[root@zabbix-client ~]# cd /etc/zabbix/
[root@zabbix-client zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@zabbix-client zabbix]# cp zabbix_agentd.conf zabbix_agentd.conf.bk
[root@zabbix-client zabbix]# vim zabbix_agentd.conf
Server=192.168.19.129 #zabbix服务器的地址
ServerActive=192.168.19.129 #主动模式 zabbix服务器的地址
Hostname=zabbix-client #主机名称
UnsafeUserParameters=1 #是否限制用户自定义 keys 使用特殊字符 1是可以启用特殊字符 0是不可以启用特殊字符
EnableRemoteCommands=0 #是否允许别人执行远程操作命令,默认是禁用的,打开的话会有安全风险.
修改完成之后,我们保存退出。然后就可以启动服务了,查看端口是否已开启:
[root@zabbix-client zabbix]# systemctl start zabbix-agent
[root@zabbix-client zabbix]# systemctl enable zabbix-agent
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@zabbix-client zabbix]# netstat -lntp|grep 10050
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 11873/zabbix_agentd
tcp6 0 0 :::10050 :::* LISTEN 11873/zabbix_agentd
开启成功,我们就可以去server端添加了。