Zabbix安装部署

发布时间 2023-08-11 03:42:58作者: Junwu’sblog

zabbix官方文档

https://www.zabbix.com/documentation/5.4/zh/manual

zabbix程序组件

  • Zabbix_server,服务端守护进程
  • Zabbix_agentd,agent守护进程
  • zabbix_proxy,代理服务器
  • zabbix_database,存储系统,mysql,pgsql
  • Zabbix_web,web GUI图形化界面
  • Zabbix_get,命令行工具,测试向agent发起数据采集请求
  • Zabbix_sender,命令行工具,测试向server发送数据
  • Zabbix_java_gateway,java网关

准备并配置好机器

[root@zabbix-server ~]# hostname 
zabbix-server
[root@zabbix-server ~]# ifconfig | awk 'NR==2{print $2}'
10.0.0.100
[root@zabbix-server ~]# systemctl stop firewalld
[root@zabbix-server ~]# systemctl disable firewalld
[root@zabbix-server ~]# setenforce 0
setenforce: SELinux is disabled

二进制包安装

1.获取官方rpm包源
[root@zabbix-server ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.5/rhel/7/x86_64/zabbix-release-5.5-1.el7.noarch.rpm
2.此时yum.repo源目录下会多出一个zabbix.repo源地址仓库
##将下载源更改使用为阿里源
[root@zabbix-server ~]# sed -i.ori 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo 
[root@zabbix-server ~]# ls /etc/yum.repos.d/
CentOS-Base.repo       CentOS-fasttrack.repo  CentOS-Vault.repo          zabbix.repo.ori
CentOS-CR.repo         CentOS-Media.repo      CentOS-x86_64-kernel.repo
CentOS-Debuginfo.repo  CentOS-Sources.repo    zabbix.repo
##配置epel源
[root@zabbix-server yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@zabbix-server ~]# yum clean all
2.安装zabbix server和agent
[root@zabbix-server ~]# yum install -y zabbix-server-mysql zabbix-agent
3.安装 Software Collections,SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
软件包会安装在/opt/rh目录下
[root@zabbix-server ~]# yum install centos-release-scl -y
4.修改zabbix前端源
[root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.5/rhel/7/$basearch/debuginfo/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
5.安装zabbix前端环境
[root@zabbix-server ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
No package zabbix-web-mysql-scl available. 
No package zabbix-apache-conf-scl available.
此时安装提示没有软件包可获得
检测所有配置均没有问题,考虑可能是版本原因

卸载zabbix

[root@zabbix-server ~]# yum list installed |grep zabbix
[root@zabbix-server ~]# yum remove zabbix*
[root@zabbix-server ~]# yum list installed

重新进行二进制安装

 

##安装zabbix存储库
[root@zabbix-server ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
##更改zabbix官方源为阿里源,下载速度更快
[root@zabbix-server ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@zabbix-server ~]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base centos-sclo-rh centos-sclo-sclo epel extras updates zabbix zabbix-frontend
              : zabbix-non-supported
Cleaning up list of fastest mirrors
Other repos take up 1.6 M of disk space (use --verbose for details)
##安装zabbix-server,web前端,agent
[root@zabbix-server ~]# yum install zabbix-server-mysql zabbix-agent -y
##安装SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。
软件包会安装在/opt/rh目录下
[root@zabbix-server ~]# yum install centos-release-scl -y
##修改zabbix.repo源文件
[root@zabbix-server ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1    ##开启zabbix前端存储库
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
在zabbix5.0版本下,又能安装scl版本的前端软件包了
[root@zabbix-server ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * centos-sclo-rh: mirrors.ustc.edu.cn
 * centos-sclo-sclo: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Package zabbix-web-mysql-scl-5.0.36-1.el7.noarch already installed and latest version
Package zabbix-apache-conf-scl-5.0.36-1.el7.noarch already installed and latest version
##安装zabbix所需的数据库,直接用centos7自带的mariadb
[root@zabbix-server ~]# yum install mariadb-server -y
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.ustc.edu.cn
 * centos-sclo-rh: mirrors.ustc.edu.cn
 * centos-sclo-sclo: mirrors.ustc.edu.cn
 * extras: mirrors.ustc.edu.cn
 * updates: mirrors.ustc.edu.cn
Package 1:mariadb-server-5.5.68-1.el7.x86_64 already installed and latest version
Nothing to do
##启动数据库,且配置开机启动
[root@zabbix-server ~]# systemctl enable --now mariadb
##初始化mariadb,设置root密码,123456
[root@zabbix-server ~]# mysql_secure_installation
##使用root用户登录mariadb,建立zabbix数据库,这里的编码设置,非常重要,否则zabbix无法安装
[root@zabbix-server ~]# mysql -uroot -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> create user zabbix@localhost identified by '1234567';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
##使用 MySQL 来导入 Zabbix server 的初始数据库 schema 和数据,数据库用户-u为 zabbix,-p数据库名zabbix,密码为123456
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: 
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)
发现被拒绝访问,应该是在给zabbix用户赋权出现的问题,重新赋权
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)
##再次导入数据库
[root@zabbix-server ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
Enter password: 
##修改 zabbix server 配置文件/etc/zabbix/zabbix_server.conf 里的数据库密码
[root@zabbix-server ~]# grep "^DBPassword" /etc/zabbix/zabbix_server.conf 
DBPassword=123456
修改 zabbix 的 php 配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 里的时区
timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
php_value[date.timezone] = Asia/Shanghai
##启动相关服务
[root@zabbix-server ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@zabbix-server ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
##可以访问zabbix了

 

 这是Zabbix的“欢迎”界面。输入用户名 Admin 以及密码 zabbix 以作为 Zabbix超级用户登陆。

默认zabbix5.0已经监控了自己

##检查zabbix服务器上的agent默认配置文件
[root@zabbix-server ~]# grep -Ev "^$|^#" /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1    #默认检测本机服务器IP
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf

部署zabbix客户端

##安装zabbix存储库
[root@cobbler ~]#  rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
##更改zabbix官方源为阿里源,下载速度更快
[root@cobbler ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
##安装
[root@cobbler ~]# yum install zabbix-agent
默认配置文件为 /etc/zabbix/zabbix_agentd.conf

默认二进制文件为 /usr/sbin/zabbix_agentd
##启动agent
[root@cobbler ~]# systemctl enable --now zabbix-agent
##检查端口
[root@cobbler ~]# netstat -tunlp | grep zabbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      1498/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      1498/zabbix_agentd  
##查看systemctl管理的单元文件
[root@cobbler ~]# cat /lib/systemd/system/zabbix-agent.service 

修改agent配置文件,修改如下,填写zabbix-server主机ip和agent主机名

[root@cobbler ~]# vim /etc/zabbix/zabbix_agentd.conf 
[root@cobbler ~]# grep -Ev '^$|^#' /etc/zabbix/zabbix_agentd.conf 
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.0.0.100    #修改为server端主机IP
ServerActive=10.0.0.100     #修改为server端主机IP
Hostname=cobbler    ##修改为本机agent主机名
Include=/etc/zabbix/zabbix_agentd.d/*.conf

修改配置文件后,重启agent

[root@cobbler ~]# systemctl restart zabbix-agent

检测server-agent连通性

在zabbix-server机器上

[root@zabbix-server ~]# yum install zabbix-get -y
[root@zabbix-server ~]# zabbix_get -s '10.0.0.50' -p 10050 -k "agent.ping"
1
[root@zabbix-server ~]# zabbix_get -s '10.0.0.50' -p 10050 -k "agent.hostname"
cobbler

添加agent主机