zabbix监控基础

发布时间:2023年12月30日

目录

一.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、

fff03c38818246c7ad45e4f7b31ef8a3.pngfdd884fcef4643958d5d06b69324d480.png

进入登录页面登录

7c2e90a90edc4132871c8962aa6eb692.png

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”后面的“图形”

三.自定义监控项配置

  1. 自定义监控项案例

#自定义监控客户端服务器登录的人数

需求:限制登录人数不超过三个,超过三个就发出报警信息

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路径变量中

2009cb0b632249b385138f4b9b6a550c.png

3)在服务端验证 zabbix-agentd 的连通性

57de7d859285470886434e12d7e864ff.png

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”后面的“图形”

文章来源:https://blog.csdn.net/2301_79116442/article/details/135275865
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。