Zabbix自定义监控mysql数据库、自动注册服务器及部署代理服务器

目录

一、zabbix自定义监控数据库

1、编写监控脚本

2、服务端测试

3、web页面配置

①创建自定义监控项

②创建触发器

③创建图形 

④测试自定义监控是否成功

二、zabbix自动注册

1、什么是自动注册

2、环境准备

3、 zabbix客户端配置

4、web页面配置自动注册

5、验证自动注册

三、代理服务器部署

1、代理服务器作用

2、部署环境

3、代理服务器配置

4、客户端配置

5、web页面配置

①删除原环境

② 添加代理

③创建主机 

④重启服务

6、验证结果


一、zabbix自定义监控数据库

1、编写监控脚本

首先在被监控服务器的子配置文件路径中编写监控脚本

cd  /etc/zabbix/zabbix_agent2.d
#进入agent2的子配置文件,本实验为yum安装为zabbix_zagent2客户端
vim mysql.conf
#创建一个新的mysql.conf子配置文件,名称无所谓但是结尾必须以.conf结尾,主配置文件中有规定,yum安装的主配置文件目录为 /etc/zabbix/zabbix_agent2.conf
#添加内容如下
UserParameter=lhj.user,netstat -antp | grep 3306 |wc -l
#UserParameter为键名,此键名不可随意更改主配置文件中有要求
#lhj.user为键值,键值可以自定义
#,后的为此键值的内容,可以是一个有标准输出的命令也可以直接写执行某个脚本,执行脚本注意权限问题
systemctl  restart  zabbix-agent2.service
#保存脚本内容后重启zabbix客户端

2、服务端测试

服务端测试是否可以监控到自定义键值的内容

服务端:
yum install -y zabbix-get
#安装zabbix主动获取命令
zabbix_get  -s '192.168.30.12'  -p 10050 -k 'lhj.user'
#-s表示指定客户端ip  -p表示指定客户端端口  -k 指定测试那个键值,返回结果为脚本命令输出结果即可以进行监控

3、web页面配置

①创建自定义监控项

选择要监控的主机创建监控项,如何添加主机请看此博客分布式系统监控zabbix安装部署及使用_阿杰。159的博客-CSDN博客 在配置--主机中找到要监控的主机,点击监控项然后点击创建监控项 

 

②创建触发器

 在配置--主机中找到要监控的主机,点击触发器然后点击创建触发器添加规则

 

③创建图形 

 配置-主机-图形中创建图形并添加规则

④测试自定义监控是否成功

点击监测--主机--选择被监控的主机--单击后选择图形找到自己创图形的名称,有数据则表示正常

二、zabbix自动注册

1、什么是自动注册

zabbix 自动注册(对于 agent2 是主动模式)
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。

2、环境准备

点击左边菜单栏【配置】中的【自动发现】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

3、 zabbix客户端配置

vim /etc/hosts
192.168.30.1 zbx-server
192.168.30.12 zbx-agent01
#添加hosts,注意要更改对应主机名且bash刷新使得主机名生效
vim /etc/zabbix/zabbix_agent2.conf
#修改客户端配置文件
HostnameItem=system.hostname	
#139行,取消注释即可保存退出
grep -Ev "^#|^$" /etc/zabbix/zabbix_agent2.conf 
#过滤出客户端配置文件不以#开头且不是空行的内容,内容展示如下
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.30.11
ServerActive=192.168.30.11
Hostname=zbx-agent01
HostnameItem=system.hostname
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock

4、web页面配置自动注册

登录界面点击配置--动作--左上角点击--选择自动注册动作--创建动作--添加完成动作名称和条件后--点击右上角操作--添加一个操作类型为主机名称的然后add--再添加一个操作类型为添加到主机群组,群组选择linux serversadd后--再添加一个与模板关联模板选择Template OS Linux by Zabbix agent--点击add后添加 

5、验证自动注册

服务端:
tail -f /var/log/zabbix/zabbix_server.log
#实时查看server日志

web页面点击配置--主机-然后刷新等待自动注册内容出现且zbx亮起

三、代理服务器部署

1、代理服务器作用

①分担 server 的集中式压力
②解决多机房之间的网络延时问题 

 

2、部署环境

在原有zabbix server和zabbix agent2上再添加一台代理服务器

主机名 服务 ip地址
zbx-server zabbix-server 192.168.30.11
zbx-agent0 zabbix-agent2 192.168.30.12
zbx-proxy zabbix-proxy 192.168.30.13

3、代理服务器配置

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy
bash
#关闭防火墙selinux并修改主机名刷新
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#配置zabbix的yum源
cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#更改为国内阿里源
yum install -y zabbix-proxy-mysql zabbix-get
#设置zabbix的下载源,然后改为国内源,安装zabbix-proxy 和zabbix-get工具
yum install -y mariadb-server mariadb
systemctl enable --now mariadb
#安装zabbix需要的数据库开启并设置开机自启
mysql_secure_installation 
#初始化数据库设置密码为abc123,当前密码为空第一个直接回车,然后输入y回车,输入abc123回车,确认设置abc123位密码回车,然后一直y到最后
mysql -u root -pabc123
#登录数据
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;
exit
#创建zabbix_proxy库并设置为utf-8模式,创建远程登录用户zabbix_proyx并设置密码为zabbix,刷新配置,退出数据库
rpm -ql zabbix-proxy-mysql
#查询数据库sql文件位置,/usr/share/doc/zabbix-proxy-mysql-5.0.33/schema.sql.gz一般为这个,若版本号不同则看最后的文件
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.33/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy
#将查到的数据文件导入zabbix_proxy库中
vim /etc/zabbix/zabbix_proxy.conf
#编辑zabbix配置文件
Server=192.168.30.11				
#30行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					
#49行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					
#196行,去掉注释指定当前数据库 zabbix 用户的密码
systemctl start zabbix-proxy
systemctl enable zabbix-proxy
#启动zabbix-proxy服务并设置开机自启
所有主机执行:
vim /etc/hosts
192.168.30.11 zbx-server
192.168.30.12 zbx-agent01
192.168.30.13 zbx-proxy
#添加hosts文件

4、客户端配置

客户端本身配置文件中服务器地址配置是zabbix server的地址,需要改为代理服务器的地址。

客户端执行:
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.30.13			
#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.30.13		
#120行,指定 zabbix 代理服务器的 IP 地址

5、web页面配置

①删除原环境

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除 

② 添加代理

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】设置为 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】设置为 192.168.30.13
点击 【添加】

③创建主机 

 在 Web 页面配置
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.30.12
【由agent代理程序监测】选择 zbx-proxy

④重启服务

客户端:
systemctl restart zabbix-agent2
代理服务器:
systemctl restart zabbix-proxy

6、验证结果

①点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常 

②上图为正常,若不正常请在代理服务器查看日志报错: tail -f /var/log/zabbix/zabbix_proxy.log

 图中报错cannot send proxy data to server at "192.168.30.11": proxy "zabbix-proxy" not found表示zabbix-proxy配置文件中写的主机名不存在,即配置文件中主机名和代理服务器本身的主机名不一致,更改一致即可

猜你喜欢

转载自blog.csdn.net/weixin_67287151/article/details/130128980