首页 > 其他分享 >【分布式系统四】监控平台Zabbix相关运用(命令+截图详细版)

【分布式系统四】监控平台Zabbix相关运用(命令+截图详细版)

时间:2024-07-05 14:00:05浏览次数:20  
标签:点击 zabbix 192.168 etc Zabbix proxy 分布式系统 截图 zbx

目录

一.使用zabbix监控nginx并发量连接数

1.做好 nginx 配置

2.完成监控数据脚本编写

3.设置键值

4.在zabbix web端完成自定义监控项

5.连接到grafana

二.自动发现

1.初始化操作

2.安装启动zabbix-agent2

3.修改zabbix配置文件

4.Web 页面配置自动发现

三.自动注册

四.Zabbix proxy 代理服务器

1.安装 zabbix-proxy

2.部署、初始化数据库

3.导入数据库信息

4.修改 zabbix-proxy 配置文件

5.Web 页面配置zabbix-proxy

五.Zabbix server 高可用集群

1.服务端配置

2.客户端配置 


一.使用zabbix监控nginx并发量连接数

使用192.168.80.102服务器;因为该服务器原本已安装nginx,因此省略安装步骤

1.做好 nginx 配置

vim /etc/nginx/conf.d/default.conf
 
location /nginx_state {
         stub_status on;
         access_log off;
     }
##12行添加,开启状态统计功能
systemctl reload nginx
curl -s http://192.168.80.102/nginx_state  #即可使用此命令查看并发量信息

2.完成监控数据脚本编写

cd /etc/zabbix/zabbix_agent2.d/
vim nginx_status.sh
#!/bin/bash
IP=192.168.80.102
PORT=80
STUB_URI=nginx_state
 
active() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
}
 
accepts() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
}
handled() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
}
 
requests() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
}
 
Reading() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
}
 
Writing() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
}
 
Waiting() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
}
 
process() {
    pidof nginx | wc -w
}
 
case $1 in
active)
    active
    ;;
accepts)
    accepts
    ;;
handled)
    handled
    ;;
requests)
    requests
    ;;
Reading)
    Reading
    ;;
Writing)
    Writing
    ;;
Waiting)
    Waiting
    ;;
process)
    process
    ;;
*)
    echo "$Usage: $0 {active|accepts|handled|requests|Reading|Writing|Waiting|process}"
    exit 1
esac
exit 0
########################################################################################
chmod +x nginx_status.sh

 

3.设置键值

vim nginx_state.conf
UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1
systemctl restart zabbix-agent2.service

4.在zabbix web端完成自定义监控项

【配置】点击【模板】点击【创建模板】

添加三个监控项

【名称】搜索【Template Nginx Status】创建的模板;点击上方【监控项】,点击创建【监控项

剩下两个如法炮制

点击上方【触发器】点击【创建触发器】

连接触发器

进程触发器

主机关联监控模板:左侧【配置】点击 【主机】点击【Zabbix server】

查看:左侧点击【监测】点击【主机】点击【Zabbix server】点击最新数据,找到添加的三个模板

5.连接到grafana

二.自动发现

1.初始化操作

初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
 
hostnamectl set-hostname zbx-agent02
bahs  #切换
 
vim /etc/hosts   #三台服务器都需修改方便使用主机名管理
192.168.80.102 zbx-server
192.168.80.103 zbx-agent01
192.168.80.104 zbx-agent02

2.安装启动zabbix-agent2

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
 
yum install -y zabbix-agent2
systemctl enable --now zabbix-agent2.service

3.修改zabbix配置文件

vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.80.102   #80行,指定server服务器
ServerActive=192.168.80.102    #133行
Hostname=zbx-agent02   #144行
HostnameItem=system.hostname   #152行取消注释
 
systemctl restart zabbix-agent2.service

4.Web 页面配置自动发现

点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】

【名称】设置成 mynetwork

【IP范围】设置成 192.168.9.1-254

【更新间隔】设置成 10s

【检查】点击【添加】,【检查类型】选择 Zabbix 客户端,【端口范围】设置成 10050,【键

值】设置成 system.uname

【设备唯一性准则】选择 IP地址

【主机名称】选择 DNS名称

【可见的名称】选择 主机名称

勾选 【已启用】,点击 【添加】

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】

勾选 【Auto discovery. Linux servers.】,点击 【启用】

点击【Auto discovery. Linux servers.】进入点击上方【操作2】模板添加【Template Nginx

Status】点击【update】点击【更新】

点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机

三.自动注册

准备工作

关闭【发现动作】;【配置】中【主机】只保留server

vim /etc/zabbix/zabbix_agent2.conf
 
HostnameItem=system.hostname		#152行,取消注释

点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】

【名称】设置成 Auto registration

点击 【添加】,【类型】选择 主机名称,【操作者】选择 包含,【值】设置成 zbx-agent

点击上方菜单栏【操作】,点击【添加】,【操作类型】选择 添加主机,点击 【Add】

再点击【添加】,【操作类型】选择 添加到主机群组,【主机群组】选择 Linux servers,点击

【Add】

再点击【添加】,【操作类型】选择 与模板关联,【模板】搜索 Linux,选择 Linux by Zabbix

agent,搜索Nginx,选择Template Nginx Status点击 【Add】

点击下方的【添加】

等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,即可刷新出自动发现的客户端主机

四.Zabbix proxy 代理服务器

分布式监控的作用

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

agent --> proxy --> server

添加服务器192.168.9.113用来安装Zabbix proxy

初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled
 
hostnamectl set-hostname zbx-proxy
bash
 
192.168.80.105
vim /etc/hosts
192.168.80.102 zbx-server
192.168.80.103 zbx-agent01
192.168.80.104 zbx-agent02
192.168.80.105 zbx-proxy
#添加以上
192.168.80.102、192.168.80.103、192.168.80.104
vim /etc/hosts
192.168.80.105 zbx-proxy
#添加该配置

1.安装 zabbix-proxy

rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
 
yum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

2.部署、初始化数据库

配置 Mariadb yum源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF
 
yum install -y mariadb-server mariadb
 
systemctl enable --now mariadb

初始化数据库
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y
 
mysql -u root -pabc123

创建数据库并指定字符集
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
 
 
创建 zabbix 数据库用户并授权
GRANT all ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
quit 退出

3.导入数据库信息

cd /usr/share/zabbix-sql-scripts/mysql/
mysql -u root -pabc123 zabbix_proxy < proxy.sql
quit退出

4.修改 zabbix-proxy 配置文件

vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.80.102				#32行,指定 zabbix 服务端的 IP 地址
Hostname=zbx-proxy					#42行,指定当前 zabbix 代理服务器的主机名
DBPassword=zabbix					#194行,指定当前数据库 zabbix 用户的密码
 
启动 zabbix-proxy
systemctl enable --now zabbix-proxy.service
netstat -lntp | grep zabbix

5.Web 页面配置zabbix-proxy

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用

点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

192.168.80.104客户端进行配置

vim /etc/zabbix/zabbix_agent2.conf 
Server=192.168.80.105   #80行指向proxyip
ServerActive=192.168.80.105  #133行
 
systemctl restart zabbix-agent2.service

点击左边菜单栏【配置】中的【主机】,点击【创建主机】

【主机名称】:zbx-agent02

【可见的名称】:zbx-agent02-192.168.80.104

【模板】: Linux by Zabbix agent 

【群组】:Linux servers

【接口】:点击添加【Agent】:192.168.80.104

【由agent代理程序监测】选择 zbx-proxy

点击 【添加】


分别在客户端和代理服务器上重启服务

systemctl restart zabbix-agent2

systemctl restart zabbix-proxy

等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

在服务端查看日志

tail -f /var/log/zabbix/zabbix_proxy.log

五.Zabbix server 高可用集群

官方的高可用仅仅针对 Zabbix Server 部分,数据库部分和前端部分需要自行采用各自领域的高

可用解决方案

192.168.80.102 zbx-server做服务端;192.168.80.103 做客户端

1.服务端配置

Zabbix Server 配置
vim /etc/zabbix/zabbix_server.conf
......
HANodeName=zbx-server01   #974行
NodeAddress=192.168.80.102:10051   #986行
 
systemctl restart zabbix-server.service

2.客户端配置 

客户端配置
 
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.80.102,192.168.80.101
ServerActive=192.168.80.102;192.168.80.101
#注意,ServerActive 的连接符是‘;’ ,而不是‘,’
systemctl restart zabbix-agent2.service 

标签:点击,zabbix,192.168,etc,Zabbix,proxy,分布式系统,截图,zbx
From: https://blog.csdn.net/F12138X/article/details/140170627

相关文章

  • 为什么JWT 比 session 更适合于分布式系统
    在分布式系统中,JWT(JSONWebToken)比传统的session更适合用于身份验证和授权,主要有以下几个原因:1.无状态性JWT:无状态:JWT是无状态的,每个JWT包含了所有必要的用户信息和验证数据,服务器不需要存储会话数据。客户端持有JWT,并在每次请求时将其发送给服务器进行验证。扩展性......
  • js实现视频截图
    截图原理:文件上传,将视频绘制到canvas中进行截图贴代码工具函数->base64转成文件exportconstdataURLtoFile=({dataURL="",filename=""}:{dataURL:stringfilename:string})=>{constarr=dataURL.split(",")constmime=arr[0]......
  • 如何实现高可用的分布式系统
    实现高可用的分布式系统需要考虑以下几个方面:负载均衡:通过负载均衡技术,将请求分发到不同的节点上,避免单一节点过载或故障导致整个系统崩溃。常见的负载均衡算法包括轮询、加权轮询、最小连接数等。集群化部署:将应用程序部署在多台服务器上,并使用集群管理软件进行统一管理......
  • zabbix小白入门:从SNMP配置到图形展示——以IBM服务器为例
    作者乐维社区(forum.lwops.cn)许远在运维实践中,Zabbix作为一款强大的开源监控工具,被广泛应用于服务器、网络设备和应用程序的监控,成为保障业务连续性和高效运行的关键。然而,对于Zabbix的初学者来说,如何从零开始配置并实现数据的图形展示可能会感到无从下手。本文将通过具体的IBM......
  • ArcGIS API for Javascript解决html2canvas、domtoimage截图地图出现空白问题
    原因使用html2canvas、domtoimage进行截图时,会出现地图面板是空白的情况,报错如下:#1133msUnabletocloneWebGLcontextasithaspreserveDrawingBuffer=false<canvasstyle=​"width:​100%;​height:​100%;​>在通过ArcGISAPIforJavaScript4.X版本实例化地图的......
  • zabbix“专家坐诊”第244期问答
    问题一Q:请教一下,我的zabbix6.0配置的基于snmptrap上报的日志提取关键字推送告警,正则表达式能否帮忙看看怎么弄?我这配置的提示一直不正确?A:具体看一下这里的信息。Q:这个我是直接复制的所有的那个log信息。A:可以参考以下写法。例子参数:(.*?)PDU[\n\s\S]*OID:(.*)[\n\s\S]*9.......
  • Python毕业设计-基于Python实现的深圳链家租房可视化系统源码+文档说明+条形图+数据库
    文章目录源码下载地址项目介绍项目功能界面预览项目备注源码下载地址源码下载地址点击这里下载代码项目介绍项目历经数据采集->数据展示->数据分析->数据预测lianjia_1:scrapy爬虫项目lianjia_show:flask对采集的数据进行展示链家房价预测:采集的数据进行分析......
  • 【pytest】失败用例,桌面截图
    @pytest.hookimpl(tryfirst=True,hookwrapper=True)defpytest_runtest_makereport(item,call):#executeallotherhookstoobtainthereportobjectoutcome=yieldrep=outcome.get_result()#rep可以拿到用例的执行结果详情ifrep.when=="ca......
  • 构建高可用性、高性能和可扩展的Zabbix Server架构
    简介本教程讲解了一下如何设计构建一个高性能、高可靠、高扩展的Zabbix监控集群。架构图架构图PDF下载:https://songxwn.com/file/Zabbix_HA.pdfPigsty时序数据库集群ZabbixServer和Grafana的数据都是存放在数据库的,而Zabbix性能很大程度取决于数据库。所以要搭建数据......
  • MySQL----彻底卸载(附带每一步截图)
    停止mysql服务打开任务管理器,点击服务,找到mysql服务,这里我的是MySQL57,找到mysql服务后选中,点击右键选择停止服务删除mysql服务win+R打开命令框,输入cmd打开cmd控制台或者电脑左下角输入cmd搜索,选择管理员身份进入cmd控制台(否则会拒绝访问),弹出是否允许该应用对设备进行修......