百度百科:
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
本文主要内容:CentOS 7下的Zabbix的离线安装部署流程及基本监控设置。
注意事项
●系统要求:两台一模一样(安装镜像和安装方式相同)的CentOS 7服务器(一台连公网,一台内网)
●拟安装版本:Zabbix 5.0.10、MySQL 5.7.32、PHP 7.2
●其他:
1)准备好与系统一致的镜像,用于挂载yum源(如有内网yum源,可忽略)
2)如果zabbix服务端所在的服务器可以连接公网,那么请您自行对教程内容进行筛选再部署
3)以下的操作内容以x86_64架构为前提,如果服务器架构并不相同,请使用源码安装方式:zabbix源码下载网页(此方式的服务端安装教程请在网上查找,客户端安装方式请继续往下看客户端源码安装步骤)
4)建议大家使用最新版进行安装,不规定使用5.0.10版本。复制粘贴本教程中的命令时,请注意修改涉及到的具体版本号
5)本教程编写时间:2021-04-06,因软件更新等因素,所有的教程都有时效性,请自行判别
●可能出现的致命错误:yum安装zabbix过程中连接出错(建议先试一下此步骤)
—–欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达—–
软件下载及安装(公网机操作)
下载并安装mysql
下载mysql
1.在自己电脑上访问mysql官方下载页
2.选择以下选项 (建议选择5.7系列最新版本(如有))
3.下载PRM Bundle,文件名:mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
安装mysql并配置
1.创建目录mkdir -p /home/zjhcofi/mysql && cd /home/zjhcofi/mysql
将mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar放在/home/zjhcofi/mysql下
2.解压tar -xf mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar
3.检查服务器有无安装其他数据库
1 | rpm -qa|grep -i mysql |
4.如果有安装,记录并使用 yum remove -y 卸载全部显示出来的包yum remove -y mariadb-libs-5.5.56-2.el7.x86_64
5.安装数据库(按顺序执行)
1 | rpm -ivh mysql-community-common-5.7.32-1.el7.x86_64.rpm |
6.启动mysql并查看启动情况service mysqld start && systemctl status mysqld
7.把mysql加到开机自启动chkconfig mysqld on
8.修改数据库配置文件vi /etc/my.cnf
在最底下新增
character-set-server=utf8
9.重启mysqlservice mysqld restart
10.查看mysql的root用户初始密码grep password /var/log/mysqld.log
11.登录数据库mysql -uroot -p
12.更新mysql的root密码(比如改为Bili@233)
mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Bili@233';
13.创建zabbix数据库
mysql>create database zabbix character set utf8 collate utf8_bin;
14.设置新的mysql用户并授权(例如:用户名:zabbix;密码:Zabbix@123;允许所有ip登录;给予zabbix数据库的操作权限)
mysql>create user 'zabbix'@'%' identified by 'Zabbix@123';
mysql>grant all on zabbix.* to 'zabbix'@'%';
15.刷新权限
mysql>flush privileges;
16.退出数据库
mysql>quit
下载并安装php
1 | mkdir -p /home/zjhcofi/php && cd /home/zjhcofi/php |
下载并安装zabbix
1.安装
1 | mkdir -p /home/zjhcofi/zabbix && cd /home/zjhcofi/zabbix |
如果此步骤出现“Failed to connect to 2604:a880:2:d0::2062:d001: Network is unreachable”错误,抱歉,被墙了,爱莫能助,一般来说等一会儿就好了。
2.启用源
1 | cd /home/zjhcofi/zabbix |
3.修改yum源文件vi /etc/yum.repos.d/zabbix.repo
将[zabbix-frontend]下的enabled=0改成enabled=1
[zabbix-frontend]
…
enabled=1
…
4.继续安装
1 | yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl --downloadonly --downloaddir=/home/zjhcofi/zabbix |
将软件压缩上传到内网机
1.压缩
1 | cd /home/zjhcofi |
2.将 /home/zjhcofi/php_zabbix.zip 和 mysql-5.7.32-1.el7.x86_64.rpm-bundle.tar 传到内网机
内网zabbix服务端安装部署
环境配置
1.关闭selinuxvi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
SELINUX=disabled
生效配置setenforce 0
2.关闭防火墙并禁止开机启动
1 | systemctl stop firewalld |
挂载yum源(如有内网yum源,可忽略)
1.备份原有的yum源
1 | mkdir -p /etc/yum.repos.d/bak && mv /etc/yum.repos.d/*repo /etc/yum.repos.d/bak |
2.创建目录,上传镜像至此目录下mkdir -p /home/zjhcofi/iso
3.挂载镜像
1 | mkdir -p /opt/centos |
4.编写repo文件并指向镜像的挂载目录vi /etc/yum.repos.d/local.repo
添加以下内容:
[local]
name=local
baseurl=file:///opt/centos
enabled=1
gpgcheck=0
5.清除缓存及建立缓存
1 | yum clean all |
6.开机自动挂载vi /etc/fstab
最底下添加以下内容:
/home/zjhcofi/iso/CentOS-7-x86_64-DVD-1708.iso /opt/centos iso9660 loop 0 0
安装mysql并配置
rpm包解压并安装
1.将php_zabbix.zip放到 /home/zjhcofi目录下,解压
1 | cd /home/zjhcofi |
2.安装php
1 | cd /home/zjhcofi/php |
3.安装zabbix
1 | cd /home/zjhcofi/zabbix |
配置zabbix
1.导入数据库,输入密码(文件路径问题:因官方已经更新版本,修改路径中的版本号即可找到文件)
1 | zcat /usr/share/doc/zabbix-server-mysql-5.0.10/create.sql.gz | mysql -uzabbix -p zabbix |
2.配置文件修改vi /etc/zabbix/zabbix_server.conf
将以下字段改为:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@123
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
3.核对配置文件grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
4.配置phpvi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
将”; php_value[date.timezone] = Europe/Riga”改为”php_value[date.timezone] = Asia/Shanghai”
php_value[date.timezone] = Asia/Shanghai
5.重启服务并添加开机自启动
1 | systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm |
6.在浏览器上访问http://内网机ip/zabbix
7.点击“Next step”,环境检测页面如无特殊情况都是OK的,然后继续点击“Next step”
8.填写数据库相关信息,点击“Next step”
9.填写zabbix server相关信息,Name可随便填写,点击两次“Next step”,最后点击“Finish”
10.Username:Admin,Password:zabbix,点击“Sign in”
11.设置中文:点击左侧的“Administration”-“Users”,选择“Admin”,Language选择“Chinese(zh_CN)”,然后点击“Update”
内网zabbix客户端安装部署
解压安装
1.将上面在外网机下载并安装zabbix得到的zabbix-agent-5.0.10-1.el7.x86_64.rpm传到需要监控的其他内网主机,放在 /home/zjhcofi/zabbix 下
●本人服务器为x86_64,所以上面下载到的客户端直接能用,如果服务器架构并不相同,请使用源码安装方式:zabbix源码下载网页,客户端源码安装步骤请继续往下看
2.安装
1 | cd /home/zjhcofi/zabbix |
客户端配置
1.修改配置文件vi /etc/zabbix/zabbix_agentd.conf
按实际情况修改对应的字段
#zabbix服务端主机IP地址
Server=192.168.118.131
#同上
ServerActive=192.168.118.131
#本机主机名
Hostname=zabbix-client
核对配置文件grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
2.进行系统环境配置,参考上面环境配置
3.重启Zabbix Agent并添加开机启动
1 | service zabbix-agent restart |
客户端源码安装步骤
1 | mkdir -p /home/zjhcofi/zabbix |
zabbix添加主机监控
添加默认模板/监控项
1.创建主机群组:点击左侧“配置”-“主机群组”,再点击右上角“创建主机群组”
2.组名按实际情况填写,点击“添加”
3.创建主机:点击左侧“配置”-“主机”,再点击右上角“创建主机”
4.按实际情况填写好相关信息,端口默认10050,不要点击“添加”
5.点击上方的“模板”,点击“Templates/Operating systems”后勾选“Template OS Linux by Zabbix agent”模板,点击“选择”
6.点击“添加”
7.稍等片刻后,可看到与客户端连接成功
添加shell脚本自定义输出的数据的监控
例如:自己编写一个获取CPU使用率的脚本和一个获取内存使用率的脚本,zabbix客户端读取脚本输出的数据
客户端配置
1.修改zabbix客户端的配置文件vi /etc/zabbix/zabbix_agentd.conf
增加以下两行内容:
EnableRemoteCommands=1
UnsafeUserParameters=1
核对配置文件grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
2.在/etc/zabbix/zabbix_agentd.d 下新增自定义监控配置文件 userparameter.conf ( userparameter.conf 可随意命名,但要以 conf 结尾)vi /etc/zabbix/zabbix_agentd.d/userparameter.conf
添加以下内容,其中:
UserParameter=cpu.usage 中的 UserParameter 为用户参数,cpu.usage 为zabbix需要获取的键值(可自定义命名), /etc/zabbix/scripts/cpu_usage.sh 为需要执行的命令或者脚本路径
UserParameter=cpu.usage,/etc/zabbix/scripts/cpu_usage.sh
UserParameter=memory.usage,/etc/zabbix/scripts/memory_usage.sh
3.创建脚本目录,编写CPU使用率脚本mkdir -p /etc/zabbix/scripts && vi /etc/zabbix/scripts/cpu_usage.sh
1 | #!/bin/bash |
编写内存使用率脚本vi /etc/zabbix/scripts/memory_usage.sh
1 | #!/bin/bash |
4.给脚本授权chmod 777 /etc/zabbix/scripts/*.sh
5.重启zabbix客户端service zabbix-agent restart
网页配置
创建模板
1.点击左侧“配置”-“模板”,再点击右上角“创建模板”
2.群组可新建或者使用现有群组,点击“添加”
3.找到新建的模板名并点击
创建应用集
1.点击上方“应用集”,再点击右上角“创建应用集”
2.按需求命名,点击“添加”
创建监控项
1.点击上方“监控项”,再点击右上角“创建监控项”
2.按需求填写名称;类型为“Zabbix客户端”;键值为客户端配置文件中配置的键值名称;因脚本中输出的结果是浮点数,所以信息类型为“浮点数”;单位“%”;更新间隔一分钟“1m”;应用集选刚刚新建的应用集。
创建触发器
1.点击上方“触发器”,再点击右上角“创建触发器”
2.按需求填写名称;在表达式处点击“添加”,
3.选择“CPU使用率”监控项
4.填写条件并插入
5.选择严重性,允许手动关闭,并启用
创建图形
1.点击上方“图形”,再点击右上角“创建图形”
2.按需求填写名称;选择好监控项,点击“添加”
主机链接模板
1.点击左侧“配置”-“主机”,再点击客户端的主机名
2.点击上方“模板”,点击“选择”,把新模板链接上去
测试效果
1.点击左侧“监测”-“主机”,再点击“图形”
2.就能看到CPU使用率的曲线图了
新增内存使用率监控
1.仍然使用刚才的模板,点击上方的“监控项”,再点击右上角“创建监控项”,剩余步骤同上
最终效果