一、zabbix官方地址:https://zabbix.com (官方参考一下,部分教程不全)![](https://img-blog.csdnimg.cn/direct/9db934ba840b48879f833b8522d0f474.png)
二、准备2台服务器![](https://img-blog.csdnimg.cn/direct/d653f7123098461eaef0b20d74315889.png)
一台安装zabbix-server,另外一台安装zabbix-agent
一、安装zabbix-server
一、配置zabbix官方yum源仓库
[root@zabbix-server ~]# yum install -y https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[root@zabbix-server ~]# yum clean all
[root@zabbix-server ~]# yum makecache fast
二、安装相关软件包
# 这里我安装了比较多的包
[root@zabbix-server ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql
三、数据库安装配置
###因为官方的数据库下载有点问答题,这里我配置的mariadb数据库yum源
[root@zabbix-server ~]# vim /etc/yum.repos.d/mariadb.repo
#写入以下内容:
[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1
# 安装
[root@zabbix-server ~]# yum install MariaDB-server MariaDB-client
# 修改配置文件
[root@zabbix-server ~]# 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 #开启二进制日志
# 启动数据库
[root@zabbix-server ~]# systemctl restart mariadb
[root@zabbix-server ~]# mysql -uroot -p #mariadb默认不需要账号和密码,也可自行设置
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> flush privileges;
mysql> quit;
四、数据导入
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p -h192.168.249.141 zabbix
#zcat 用于显示压缩包中文件的内容
#-h 指定你导入的数据库地址,例如192.168.249.141
# 同时可以查看一下zabbix-server-mysql 这个包为我们安装了哪些内容
[root@zabbix-server ~]# 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.10
/usr/share/doc/zabbix-server-mysql-5.0.10/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.10/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.10/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.10/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.10/README
/usr/share/doc/zabbix-server-mysql-5.0.10/create.sql.gz # 这个就是初始化数据库的包
/usr/share/doc/zabbix-server-mysql-5.0.10/double.sql
/usr/share/man/man8/zabbix_server.8.gz
/var/log/zabbix
/var/run/zabbix
五、安装zabbix前端软件包
[root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend] # 将这个软件源设置为启动
...
enabled=1
# 这是5.0的新特性,将nginx和php进行了封装,这里安装后我们就可以直接使用了
[root@zabbix-server ~]# yum install centos-release-scl
[root@zabbix-server ~]# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
# php 位置: /etc/opt/rh/rh-php72
# nginx位置:/etc/opt/rh/rh-nginx116
# 修改php-fpm服务启动用户和时区
[root@zabbix-server ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
[zabbix]
user = nginx
group = nginx
listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = nginx
listen.allowed_clients = 127.0.0.1
php_value[date.timezone] = Asia/Shanghai
[root@zabbix-server ~]# chown .nginx /var/opt/rh/rh-php72/lib/php/session/
[root@zabbix-server ~]# chown nginx.nginx -R /etc/zabbix/web/
[root@zabbix-server ~]# vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf
#将配置文件中的server模块删除掉
server {
...
} # 删除
# 启动服务
[root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
六、修改配置,启动服务
[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{,.bak} # 备份配置文件
[root@zabbix-server zabbix]# vim zabbix_server.conf # 修改一下内容,
ListenPort=10051 #默认监听端口
SourceIP=192.168.126.129 #发采样数据请求的IP
DBHost=192.168.126.129 #数据库对外的主机
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户
DBPassword=keer #数据库密码
DBPort=3306 #数据库启动端口
####如果启动报错,显示文件配置问题,直接在配置文件里面添加数据库的地址和密码就ok,其他不用修改
# 开启服务并检查
[root@zabbix-server zabbix]# systemctl start zabbix-server.service
[root@zabbix-master zabbix]# ss -nutl |grep 10051
tcp LISTEN 0 128 *:10051 *:*
tcp LISTEN 0 128 :::10051 :::*
七、浏览器访问
http:192.168.249.141 ##具体IP地址根据自己的主机查看
至此zabbix-server搭建完成,稍后搭建zabbix-agent
二、安装zabbix-agent
###使用主机192.168.249.148
一、配置yum源
同样的,我们先来安装zabbix。下载包,注释epel源,安装所需的包。具体步骤如下:
下载安装官方yum源
[root@zabbix-slave1 ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmrelease-4.4-1.el7.noarch.rpm
[root@zabbix-slave1 ~]# yum clean all
[root@zabbix-slave1 ~]# yum makecache fast
已加载插件:fastestmirror
正在清理软件源: base extras updates zabbix zabbix-non-supported
# yum 下载
[root@zabbix-slave1 ~]# yum install zabbix-agent zabbix-sender -y
二、修改配置文件
一样的,我们先查一下包内有什么:
[root@zabbix-slave zabbix]# rpm -ql zabbix-agent
/etc/logrotate.d/zabbix-agent
/etc/zabbix/zabbix_agentd.conf
/etc/zabbix/zabbix_agentd.d
/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
/usr/lib/systemd/system/zabbix-agent.service
/usr/lib/tmpfiles.d/zabbix-agent.conf
/usr/sbin/zabbix_agentd
/usr/share/doc/zabbix-agent-4.4.4
/usr/share/doc/zabbix-agent-4.4.4/AUTHORS
/usr/share/doc/zabbix-agent-4.4.4/COPYING
/usr/share/doc/zabbix-agent-4.4.4/ChangeLog
/usr/share/doc/zabbix-agent-4.4.4/NEWS
/usr/share/doc/zabbix-agent-4.4.4/README
/usr/share/man/man8/zabbix_agentd.8.gz
/var/log/zabbix
/var/run/zabbix
对配置文件做一个备份,然后去修改配置文件:
[root@zabbix-slave1 ~]# cd /etc/zabbix/
[root@zabbix-slave1 ~]# cd /etc/zabbix/
[root@zabbix-slave1 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@zabbix-slave1 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@zabbix-slave1 zabbix]# vim zabbix_agentd.conf
Server=172.16.147.153 #指明服务器是谁
ListenPort=10050 #自己监听的端口
ListenIP=0.0.0.0 #自己监听的地址,0.0.0.0表示本机所有地址
StartAgents=3 #优化时使用的
ServerActive=172.16.147.153 #主动监控时的服务器
Hostname=node1.keer.com #自己能被server端识别的名称,zabbix-agent主机名称
修改完成之后,我们保存退出。然后就可以启动服务了:
[root@zabbix-slave1 zabbix]# systemctl start zabbix-agent.service
照例查看端口是否已开启:
[root@zabbix-slave1 zabbix]# ss -ntul |grep 10050
tcp LISTEN 0 128 *:10050 *:*
已经开启成功。接着,我们就可以去server端添加了,添加主机,创建主机群组