一.实验环境准备
- centos7.5 系统服务器3台、 一台作为监控服务器, 两台台作为被监控节点, 配置好yum源、 防火墙关闭、 各节点时钟服务同步、
各节点之间可以通过主机名互相通信。
二.zabbix的安装
1.修改主机名
[root@localhost ~]# hostnamectl --static set-hostname zabbix
2.关闭防火墙和Selinux
[root@zabbix ~]# systemctl stop iptables firewalld
[root@zabbix ~]# systemctl disable iptables firewalld
[root@zabbix ~]# sed -ri '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@zabbix ~]# setenforce 0 # 临时关闭SELinux
[root@zabbix ~]# reboot
3.开启邮件服务
[root@zabbix ~]# systemctl start postfix
[root@zabbix ~]# systemctl enable postfix
4.添加hosts
[root@zabbix ~]# vim /etc/hosts
5.安装yum仓库
- 这个是国外的源,正常下载或者网络不好都会下载失败几次,多下几次,不报错就下载完成了。
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
6.更新yum仓库
[root@zabbix ~]# yum repolist
7.安装zabbix server和agent
[root@zabbix ~]# yum -y install epel-release.noarch
[root@zabbix ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql
8.安装zabbix前端
[root@zabbix ~]# yum -y install centos-release-scl
- 开启前端安装源仓库配置
[root@zabbix ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
…
enabled=1
…
- 安装 zabbix 前端
[root@zabbix ~]# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl
三.安装设置数据库
1.创建mariadb.repo
[root@zabbix ~]# vim /etc/yum.repos.d/mariadb.repo
添加以下内容
[mariadb]
name = MariaDB
baseurl =https://mirrors.ustc.edu.cn/mariadb/yum/10.5/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
2.yum 安装最新版本 mariadb
[root@zabbix ~]# yum install -y MariaDB-server MariaDB-clien
3.修改配置文件
找到[mysqld],在下面添加
[root@zabbix ~]# vim /etc/my.cnf.d/server.cnf
[mysqld]
skip_name_resolve = ON
innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
max_connections = 2000
log-bin = master-log
4.重启数据库服务
[root@zabbix ~]# systemctl restart mariadb
[root@zabbix ~]# mysql_secure_installation # 初始化mariadb
5.创建数据库并授权账号
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'192.168.152.%' identified by '1234.com';
MariaDB [(none)]> flush privileges;
6.导入 Zabbix 服务表
- 查看 zabbix-server-mysql 这个包提供了什么
[root@zabbix ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server /etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf /usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts /usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-5.0.2
/usr/share/doc/zabbix-server-mysql-5.0.2/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.2/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.2/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.2/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.2/README
/usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz # 生成表的各种脚本
/usr/share/doc/zabbix-server-mysql-5.0.2/double.sql
/usr/share/man/man8/zabbix_server.8.gz /var/log/zabbix /var/run/zabbix
- 安装gzip
[root@zabbix ~]# gzip -d /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz
[root@zabbix ~]# ls
anaconda-ks.cfg
7.导入信息(两种方式)
①进入数据库
sorce /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql
②
[root@zabbix ~]# mysql -uzabbix -h192.168.37.111 -p'1234.com' zabbix < /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql
- 导入成功
四.配置server端
1.
[root@zabbix ~]# cd /etc/zabbix/
[root@zabbix zabbix]# ls
web zabbix_agentd.conf zabbix_agentd.d zabbix_server.conf
#为了方便我们以后恢复,我们把配置文件备份一下
[root@zabbix zabbix]# cp zabbix_server.conf{,.bak}
[root@zabbix zabbix]# vim zabbix_server.conf
ListenPort=10051 # 默认监听端口
SourceIP=192.168.37.111 # 发采样数据请求的 IP
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0 #日志滚动
DebugLevel=3 #日志级别
DBHost=192.168.49.170 #本机ip
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户
DBPassword=123.com #数据库密码
DBPort=3306 #数据库端口
启动服务
[root@zabbix zabbix]# systemctl start zabbix-server.service
确认服务端口开启
四.配置web GUI
1.配置php前端
- php 监听用户增加nginx,设置时区
[root@zabbix ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
2.启动http服务
[[email protected] ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[[email protected] ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
3.浏览器访问并进行初始化设置
- 浏览器输入ip/zabbix访问
- 默认用户名为:Admin ,密码为:zabbix ,登录后进入仪表盘:
五.配置agent端
- 在被监控的主机安装好agent,设置好 server,并添加到 server 端,将其纳入监控系统中。
1.安装zabbix安装源
[root@node1 ~]# wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#######yum -y localinstall zabbix-release-5.0-1.el7.noarch.rpm #本地安装
[root@node1 ~]# rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm
[root@node1 ~]# yum -y install epel-release.noarch
[root@node1 ~]# yum install zabbix-agent zabbix-sender -y
2.编辑配置文件
- 先备份一份,以防万一
[root@node1 ~]# cd /etc/zabbix/
[root@node1 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@node1 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@node1 zabbix]# vim zabbix_agentd.conf
[root@node1 zabbix]# grep -Ev ‘^$|#’ zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid LogType=file
LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 DebugLevel=3
SourceIP=192.168.49.171 Server=192.168.49.170 ListenPort=10050
ListenIP=192.168.49.171 StartAgents=3 ServerActive=192.168.49.170
Hostname=node1 Include=/etc/zabbix/zabbix_agentd.d/*.conf
- 启动服务
[root@node1 zabbix]# systemctl start zabbix-agent.service
- 查看端口是否开启
六.监控过程详解
1.修改中文版
2.创建主机群组
3.添加主机