目录
一.zabbix概述
1.zabbix程序结构
2.Zabbix 监控原理
3.zabbix中核心的资源介绍
4.zabbix-agent支持的协议
二.zabbix监控环境搭建
1.zabbix服务器端
1) 基本配置
2) 安装
2.配置zabbix
1) 数据库设置
2) zabbix设置
3) php设置
4) 启动zabbix
5) 登录zabbix Web
6) 设置文件界面
7) 解决zabbix- server Web页面中文乱码问题
3.客户端
1)基础配置
2)服务端和客户端都配置时间同步
3)客户端安装zabbix-agent(客户端配置服务端信息即可)
4)配置源
5)安装客户端
6)配置客户端
7)启动zabbix-agent2
8)在服务端验证 zabbix-agentd 的连通性
9)在zabbix浏览器服务页面添加监控主机
三.自定义监控项配置
自定义监控项案例
2.实施步骤
四.zabbix监控winodws主机
1)在控制面板中关闭防火墙
2)安装
3)在服务端验证 zabbix-agentd 的连通性
4)添加windows监控主机
一.zabbix概述
zabbix是一个基于web界面的提供分布式系统监控功能的企业级的开源解决方案,能监控各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
zabbix由两部分构成,zabbix server与可选组件zabbix agent。通过C/S模式采集数据,通过B/S模式在web端展示和配置
Zabbix server 可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux等平台上。
zabbixagent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
1.zabbix程序结构
zabbix-server #用于数据处理及写入到数据库
zabbix-agent #用于获取被监控端的性能检测数据
zabbix-web #用于数据的展示及远程操控
zabbix-proxy #实现zabbix分布式监控
数据库 #用于存储监控数据
2.Zabbix 监控原理
zabbix agent安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至zabbix server 端,zabbix server收到数据后,将数据存储到数据库中,用户基于ZabbixWEB可以看到数据在前端展现图像。当zabbix监控某个具体的项目,该项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行--些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、 install 等)。
3.zabbix中核心的资源介绍
监控项→触发器→动作→ 模板
4.zabbix-agent支持的协议
SSH,SNMP(用于交换机路由器流量控制)(OID),IPMI(硬件监控),JMX(专用于java服务监控),结合procona(实现针对数据库监控)
二.zabbix监控环境搭建
1.zabbix服务器端
1) 基本配置
关闭防火墙,selinux,配置IP地址
2) 安装
- 配置zabbix官方yum源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
查看 yum list | grep zabbix
- 安装服务端与客户端
yum install zabbix-server-mysql zabbix-agent -y
- 安装zabbix-web
Cd /etc/yum.repos.d
Vim zabbix.repo
在/etc/yum.repos.d/zabbix.repo文件中打开zabbix-frontend
[zabbix-frontend]
enabled=1
- 安装依赖源
yum install -y epel-release centos-release-scl
- 安装web服务
yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
- 安装存储数据库
yum install -y mariadb-server mariadb
2.配置zabbix
zabbix服务器
1) 数据库设置
Systemctl start mariadb #启动数据库
systemctl enable mariadb #开机自启
Mysql #进入数据库
MariaDB [(none)]>CREATE DATABASE zabbix character set utf8 collate utf8_bin;
#创建一个名为zabbix的数据库,并指定其字符集为utf8,排序规则(collation)为utf8_bin
MariaDB [(none)]>GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix' ;
#为zabbix数据库授予所有权限,并设置用户登录信息
MariaDB [(none)]>flush privileges;
#刷新权限缓存
Exit #登出
rpm -ql zabbix-server-mysql
#检查安装包安装完成后的文件路径
zcat /usr/share/doc/zabbix-server-mysq1-5.0.15/create.sq1.gz | mysql zabbix
#使用 zcat 解压缩 create.sql.gz 文件并显示其内容,然后将这些内容通过管道传递给 mysql 命令,最终在 zabbix 数据库中执行这些SQL语句,以创建Zabbix所需的表结构。
mysql -e "show databases;"
mysql -e "use zabbix;show tables;"
#验证导入数据库后的结果
2) zabbix设置
vim /etc/zabbix/zabbix_server.conf
DBUser= zabbix #此处可更改用户
DBPassword= zabbix #此处更改用户密码
3) php设置
(用来解析zabiix,确保Zabbix Web界面能够正确地运行和显示监控数据)
vim /etc/opt/rh/rh-php72/php- fpm.d/zabbix.conf
php_value [date.timezone] = Asia/Shanghai #更改时区
/etc/zabbix/web/zabbix.conf.php 在PHP中配置Zabbix数据库连接参数
$DB['TYPE'] = 'MYSQL'; #连接数据库的类型
$DB['SERVER'] = 'localhost'; #连接数据库地址,localhost是本地
$DB['PORT'] = '0'; #端口号,0表示默认(即3306)
$DB['DATABASE'] = 'zabbix'; #连接的数据库
$DB['USER'] = 'zabbix'; #连接的用户
$DB['PASSWORD'] = 'zabbix'; #连接的用户密码
4) 启动zabbix
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
5) 登录zabbix Web
在浏览器输入http://192.168.115.152/zabbix/
默认用户名与密码:Admin/ zabbix、
进入登录页面登录
6) 设置文件界面
点击左边菜单栏的[User settings] ,[ Language] 选择Chinese(zh_ CN), 再点击Update 更新
或者在右上角找到并点击用户名,打开一个下拉菜单。在下拉菜单中选择“Profile”或“个人设置”,进入用户配置页面。
更改语言设置:在用户配置页面中,找到“Language”或“语言”选项。点击该选项旁边的下拉框,滚动到列表底部找到“Chinese (简体)”或“Chinese (Simplified)”、“简体中文”或类似的选项,选择“Chinese (简体)”或相应的中文选项后,点击下方的“Update”或“保存”按钮以应用更改。
7) 解决zabbix- server Web页面中文乱码问题
yum install -y wqy-microhei-fonts
cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
#替换系统的默认字体或者为系统添加新的字体支持,实际操作中,建议保留原始的DejaVuSans.ttf文件,并将新字体文件放在同一目录下,然后在需要的地方配置使用新字体
3.客户端
1)基础配置
2)服务端和客户端都配置时间同步
yum install -y ntpdate
ntpdate -u ntp.aliyun.com
3)客户端安装zabbix-agent(客户端配置服务端信息即可)
4)配置源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
5)安装客户端
yum install zabbix-agent -y
6)配置客户端
vim /etc/zabbix/zabbix_ agentd. conf
Server=zabbix服务器地址
ServerActive=zabbix服务器地址
Hostname= zabbix 客户端的主机名
7)启动zabbix-agent2
systemctl start zabbix-agent
systemctl enable zabbix-agent
8)在服务端验证 zabbix-agentd 的连通性
yum install -y zabbix-get
zabbix_get -s '客户端地址' -p 10050 -k 'agent.ping'
zabbix_get -s '客户端地址' -p 10050 -k 'system.hostname'
9)在zabbix浏览器服务页面添加监控主机
左边找到配置->主机群组->创建主机群组->组名->zabbix-clients
#添加主机
左边找到主机->创建主机->主机名称zabbix-client1->群组zabbix-clients->接口->客户端192.168.115.173
#关联监控模版
左边找到主机->点击”zabbix-client1”主机名->模板->选择->Templates->找到如下模版:Template OS Linux by Zabbix agent->点击选择->更新
#创建图形
点击”zabbix-client1”主机名->图形->创建图形->名称zabbix-client1->监控项->全选->添加
#查看监控图形
监测->主机->点击“zabbix-client1”后面的“图形”
三.自定义监控项配置
-
自定义监控项案例
#自定义监控客户端服务器登录的人数
需求:限制登录人数不超过三个,超过三个就发出报警信息
2.实施步骤
1)创建zabbix的监控项配置文件,用于自定义key
2)服务器查看
vim /etc/zabbix/zabbix_agentd.conf
Include= /etc/zabbix/zabbix_agent.d/*.conf
自定义监控项的格式
#Format: UserParameter=<key>, <shell command>
3)客户端创建cd /etc/ zabbix/zabbix_ agentd.d/
Vim UserParameter_login.conf
写入
UserParameter=login.user, who | wc -l
#定义一个名为login.user的监控项,该监控项返回当前登录到系统的用户数量。当你在Zabbix中查询login.user监控项的值时,Zabbix代理将在本地执行who | wc -l命令,并将返回的用户数量作为监控项的值
4)重启客户端程序
Systemctl restart zabbix-agent
5)客户端测试监控项
下载zabbix_get
Yum -y install zabbix-get
执行命令
Zabbix_agent -t login.user
返回值[t|4] #“简单检查”(simple check)。User_num监控项的值为4。
6)在服务端验证新建的监控项
下载zabbix_get
Zabbix_get -s '192.168.115.148' -k ' login.user'
#指定的是客户端IP,如果测试不成功可以尝试重启客户端的zabbix.service
-k 或 --key选项用于指定要获取值的监控项(item)的键(key)
-s用于指定要查询的Zabbix代理或服务器的IP地址或主机名
7)在web页面创建自定义监控项模板
配置->模板->创建模版
模版名称Template Login User
可见的名称Template Login User
群组Templates
描述:自定义
添加
创建应用集【用于管理监控项】
配置->模板->搜索添加的群组->应用集
应用集->创建应用集
名称Login User
添加
创建监控项
配置->主机->监控项->创建监控项
名称Number of login users
键值login.user
更新间隔30s
历史数据保留时长:自定义
storage period 30d保持期30天
添加
创建触发器
作用:定义监控项的阈值,当超过阈值则触发警告
阈值:指某一个监控指标的定义值
设置阈值类型:
last: 最新一次的数据
avg:单位时间内的平均值
count:单位时间内的总数
max: 最大值
添加过程
主机→ 触发器→ 创建→ 构建表达式
触发器->创建触发器
名称Number of login users is greater than 3
严重性 一般严重
表达式 点击添加,选择监控项,选择结果和功能,自动生成表达式
{Template Login User:login.user.last()}>3
添加
创建图形
主机->图形->创建图形
名称Number of login users
监控项Number of login users
选择
功能 最大
添加
四.zabbix监控winodws主机
#如果用虚拟机实验建议使用win10
安装zabbix-agent程序
1)在控制面板中关闭防火墙
2)安装
zabbix_agent-5.0.31-windows-amd64-openssl.msi
#可以直接将安装包拖到虚拟机中
在windows中安装zabbix(所有步骤默认安装,勾选Add agent location to the PHTH,填写zabbix服务器IP)
将agent相关命令添加到PATH路径变量中
3)在服务端验证 zabbix-agentd 的连通性
yum install -y zabbix-get
zabbix_get -s '客户端地址' -p 10050 -k 'agent.ping' #返回1
zabbix_get -s '客户端地址' -p 10050 -k 'system.hostname' #返回windows主机名
4)添加windows监控主机
添加主机群组
配置->主机群组->创建主机群组->组名windows10-groups
添加主机
主机->创建主机->主机名称windows10_01->群组windows10-groups->接口:客户端192.168.115.148
关联监控模版
点击”windows10_01”主机名->模版->选择->Templates找到如下模版:Template OS windows by Zabbix agent->点击选择->更新
创建图形
点击”windows10_01”主机名->图形->创建图形->名称windows10_01->监控项:全选->添加
查看监控图形
监测->主机->点击“windows10_01”后面的“图形”