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主机