带你玩转Zabbix监控


一、Zabbix简介

  • Zabbix是由Alexei Vladishev开发的一种网络监视、管理系统、基于Server-Client架构,可用以监视各种网络服务、服务器和网络机器等状态。
  • 使用各种Database-end如MySQL,PostgreSQL,SQLite、Oracle或IBM DB2储存资料,server端基于C语言、web管理端frontend则是基于PHP所制作的
  • Zabbix可以使用多种方式监控,可以只使用Simple Check不需要安装client端,亦可基于SMTP或HTTP各种协议定制监视
  • 在客户端如UNIX,windows中安装Zabbix Agent之后,可监视CPU load、网络使用情况、硬盘容量等各种状态,而就算没有安装Agent在监视对象中,zabbix也可以经由SNMP、TCP、ICMP,利用IPMI、SSH、telnet对目标进行监视
  • zabbix自带的Item足够满足普通小公司的监控需求,对于大公司也可以设定自定义的Item,自动生成报表,也有API可以和其他系统集成

二、为什么zabbix不是其他监控

zabbix就是可以满足理想化的监控系统需求

  • 支持自定义监控脚本,提供需要输出的值即可
  • zabbix存储的数据库表结构稍有复杂但是逻辑清晰
  • zabbix存在模板概念,可以方便的将一组监控项进行部署
  • zabbix每一个item也就是监控项,都可以看到历史记录,且web界面友好
  • zabbix有强大的Trigger(触发器)定义规则,可以定义复杂的报警逻辑
  • zabbix提供了ack报警确认机制
  • zabbix支持邮件、短信、微信等告警
  • zabbix在触发告警后,可以远程执行系统命令
  • zabbix有原有的PHP绘图模块

三、zabbix参数

zabbix server,服务端,收集数据,写入数据
zabbix agent,部署在被监控的机器上,是一个进程,和zabbix server进行交互,以及负责执行命令· 
Host,服务器的概念,指zabbix监控的实体,服务器,交换机等
Hosts,主机组
Applications,应用
Events,事件
Media,发送通知的通道
Remote command,远程命令
ltem,对于某一个指标的监控,称之为ltems,如某台服务器的内存使用状况,就是一个item监控项
Trigger,触发器,定义报警的逻辑,有正常,异常,未知三个状态
Action,当Trigger符合设定值后,zabbix指定的动作,如发个邮件给超哥,说服务器有问题了

四、zabbix组件

  • zabbix_server ,服务端守护进程
  • zabbix_agented, agent守护进程
  • zabbix_proxy,代理服务器
  • zabbix_databases,存储系统,mysql
  • zabbix_web,web GUI图形化界面
  • zabbix_get,命令行工具,测试向agent发起数据采集请求
  • zabbix_sender,命令行工具,测试向server发送数据
  • zabbix_java_gateway,Java网关

五、部署Zabbix监控

实验环境

在这里插入图片描述

#关闭防火墙
 systemctl stop firewalld
 systemctl disable firewalld
 setenforce 0
# 时间同步
ntpdate ntp.aliyun.com
#更改主机名
hostnamectl set-hostname zabbix-server

5.1安装Zabbix

  • 5.0版本对基础环境的要求有大的变化,最大的就是对PHP版本的要求,最低要求7.2.0版本对PHP扩展组件版本也有要求
  • 官网https://www.zabbix.com/documentation/current/manual/installation/requirements
  1. 获取zabbix的下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm     //安装zabbix
ls /etc/yum.repos.d/  
vim /etc/yum.repos.d/zabbix.repo

在这里插入图片描述
在这里插入图片描述2. 修改zabbix.repo下载源,为阿里的

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

在这里插入图片描述
3. 清空缓存,安装zabbix—server和agent

yum clean all
yum makecache
yum install zabbix-server-mysql zabbix-agent -y   //安装zabbix用于连接服务端的
  1. 安装software collections
    便于后面安装高版本的PHP,默认yum安装的PHP版本为5.4过低,使用多个版本软件,并且不会影响到整个系统的依赖环境
yum install centos-release-scl -y
  1. 修改zabbix-front 前端源
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   //开启这里的参数,将0修改为1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
  1. 安装Zabbix前端源环境,且安装到scl环境下
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
  1. 安装zabbix所需的数据库,mariadb
yum install mariadb-server -y
  1. 配置数据库,开机启动
systemctl enable mariadb
  1. 初始化数据库,设置密码(abc123)
mysql_secure_installation
  1. 添加数据库用户,以及zabbix所需的数据库信息
mysql -uroot -pabc123
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  //创建zabbix数据库,设置编码
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>  create user zabbix@localhost identified by 'abc123';  //创建一个zabbix用户
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)

exit
  1. 使用zabbix-mysql命令,导入数据库信息
## mysql  -u用户名  -p  数据库名
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
mysql -uzabbix -pabc123
  1. 修改zabbix-server配置文件,修改数据库密码
vim /etc/zabbix/zabbix_server.conf
DBPassword=abc123
grep '^DBPa'   /etc/zabbix/zabbix_server.conf

在这里插入图片描述
13. 修改zabbix的PHP配置文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/shanghai  //取消注释,将时区改为上海
grep 'timezone'  /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf       //检查修改的内容是否正确   
  1. 启动zabbix服务器
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
  1. 访问http://192.168.27.136/zabbix界面
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. 安装成功之后,默认账号密码
    账号:Admin 密码;zabbix
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2部署Zabbix客户端

  • Zabbix5.0版本,agent2新版本采用golang语言开发的客户端,由于是go语言开发,部署起来方便,和之前的程序部署不同,agent2默认用10050端口,也就是zabbix客户端的端口
  • 旧版本的客户端:zabbix-agent
  • go语言新版客户端:zabbix-agent2
  1. 时间同步
ntpdate  ntp.aliyun.com
  1. 时区的统一配置
mv /etc/localtime{,.bak}   //时间做备份
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  1. Zabbix-agent2安装
## 配置好zabbix的yum源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
## 安装zabbix_agent2
 yum install zabbix-agent2
## 查看配置文件
vim  /etc/zabbix/zabbix_agent2.conf
##启动命令
ls -l /usr/sbin/zabbix_agent2
## 启动客户端
systemctl start zabbix-agent2
systemctl enable zabbix-agent2
## 查看端口
netstat -antp | grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      30254/zabbix_agent2 
  1. 修改agent2配置文件,查看配置信息
 grep -Ev '^#|^$'  /etc/zabbix/zabbix_agent2.conf
Server=192.168.27.136         //服务端IP
ServerActive=192.168.27.136    //服务端IP
Hostname=zabbix-agent01   //在客户端1修改
Hostname=zabbix-agent02   //在客户端2修改

## 重启zabbix-agent2
systemctl restart zabbix-agent2
  1. 验证Zabbix-agent的连通性
## 在服务端上通过命令,主动获取数据
yum install zabbix-get -y
## 命令检测服务端是否连接上客户端
zabbix_get -s '192.168.27.138' -p 10050 -k 'agent.ping'
zabbix_get -s '192.168.27.138' -p 10050 -k 'system.hostname'
  1. 解决zabbix-server查看的乱码问题
##zabbix默认检测了服务端本身,但是编码有问题
## 安装字体
yum -y install wqy-microhei-fonts
## 复制字体
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
  1. 添加两台客户端
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值