Zabbix 通过 API 监控 k8s
监控方式:python+zabbix _sender
原理:python的request库,请求k8s的api地址,对数据处理。
第一步:获取k8s的api地址
查看K8S的api地址的命令如下( 最好在K 8s 集群的master上执行这条命令 ,因为如果在node节点上执行该命令有可能会获取旧的api地址)
第二步:K8S集群的Master主机生成一个token用来认证,请求数据api数据
生成令牌命令如下(在K 8S 的Master主机执行命令)
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk ‘{print $1}’)
把token的值保存在本地的一个文件即可,后期需要把token值添加到脚本中。
模板脚本下载地址:
链接:https://pan.baidu.com/s/1zIBudV8pI4peaQ21_sgPMg
提取码:gt8i
第三步:上传脚本并修改脚本
cd /usr/local/zabbix/share/zabbix/exter nalscripts 目录下创建一个命名k 8s 的目录,把get _k8s.py 脚本放到此目录
需要修改脚本三个地方
上传外部检查get _k8s 脚本到/usr/local/zabbix/share/zabbix/exter nalscript 目录
第四步创建主机并且套用脚本
注意:主机名称必须是k 8s _master,否则无法获取数据。(因为数据是通过zabbix_sender发送到该主机)
第五步,手动触发脚本
选中该监控项。点击立即检查
数据效果
Zabbix通过api获取k8s结果成功
Zabbix自动发现规则如何使用过滤器
作者:广州九一乐维运维工程师 许远
最近在做监控设备时,老是会有端口down掉的告警,一查数据发现,端口本来一直就是down的,关了之后,过段时间又继续发告警;还有领导反馈监控项那么多为啥那么多没有数据的,然后又blablabla解释了一大堆。所以,就想到了使用过滤器,添加正则表达式给这些没啥实际意义的监控项去掉,记录下来供大家参考。具体操作请以实际情况为准。
过滤器,顾名思义是指过滤掉不需要的监控项,比如端口没有数据的、状态一直是down的、虚拟端口等;在自动发现规则使用过滤器就对我们的监控需求很有帮助。
下面以网络设备的端口的状态、虚拟端口为例,浅谈一下如何使用过滤器帮助我们达到监控效果,也可以在其他有自动发现规则的模板使用,过滤前可以先观察实际情况的数据,然后再使用过滤器。
1、过滤掉虚拟端口(Virtual Interface)
如下图所示的,Vlanif(VirtualLocalAreaNetworkIterface)这些端口,一般是设备的逻辑端口,在物理上并不存在的,类似的还有virtual interface、Vinterface等名称的,都属于虚拟端口。监控这些虚拟的端口没有实际意义,可以适当的过滤。
过滤方法:在自动发现规则添加正则表达式 ^Vlanif,然后点 现在检查 等待重新自动发现即可过滤此类监控项。
2、不发现状态关闭或者未知的端口
通常端口的状态有三个值映射,也就是 0 Unknow、1On 、2 Down,当然每种型号的设备可能会有所区别,需要根据实际的设备OID查询。我们一般会把端口的状态是Down的情况创建触发器,但假如端口一直是 Off的,然后一直发告警信息,这就不符合实际监控需求,应该是有up转down才送告警。因此需要在自动发现时,过滤状态为Down的端口。
打开端口状态的监控项,复制oid到自动发现规则
在过滤器添加正则表达式,过滤掉状态为2(Down)的端口
然后加到自动发现规则里面,更新后,点击现在检查,等规则重新发现数据后,就会过滤掉状态为Down的端口了。
当然,这个是一个一个模板的添加修改的,在模板较多时,不方便,可以在 配置 – 一般 – 正则表达式,创建全局的表达式,然后在自动发现规则引用即可以。
示例:
引用方式:点击添加表达式,输入宏,使用 @Network interfaces for discovery 即可。
关于正则表达式的使用,可以参考一些教程。
Zabbix_server 高可用之文件同步
场景模拟:
某知名企业搭建了一套zabbix_server的高可用环境,然后通过虚拟ip(192.168.1.1)来访问真实的zabbix_server(主节点:192.168.1.2)。当zabbix_server主节点发生异常后,虚拟ip就会映射到zabbix_server(备节点:192.168.1.3)上。这时候他们做了一个高可用的切换过程。但是切换高可用后,zabbix备节点界面出现了主机无法获取数据的告警,经排查,是因为zabbix_server(主节点)上的一些自定义键值文件和自定义脚本,还有外部检查文件没有添加到zabbix_server的(备节点),所以即使切换后,zabbix_server可以访问,但是由于备节点上缺失自定义脚本的相关文件,导致zabbix备节点无法获取部分主机的数据。
部署过程:
第一步:在zabbix_server(主节点)和zabbix_server(备节点)上安装rsync服务
yum install rsync
启动rsync –daemon启动服务
Rsync --daemon
用ss –ntl查看rsync服务,默认端口为873
接着在主zabbix和备zabbix上编辑/etc/rc.local文件,把rsync服务设置为开机启动
在rc.local中加入/usr/bin/rsync –daemon
接下来要到备节点zabbix上配置
echo “test:test”> /etc/rsync.password&&chmod 600 /etc/rsync.password
创建rsync的password文件并更改权限。
接着配置/etc/rsyncd.conf的配置文件
uid和gid为nobody,即使说进行同步或者备份的用户为任何用户和任何组
然后[extend_data]和[data]为一个认证模块名,即一个认证模块名,代表同步一个目录,上面配置为同步两个目录
Read only=no
允许可读写
Auth users =test
认证的用户是test
Secrets file=/etc/rsync.password
密码文件存放的地址
备zabbix节点配置完成
下面开始主zabbix节点配置
在主节点zabbix上,创建一个用户test。要和备节点上的auth users对应。
接着创建一个密码文件。
echo “test”> /etc/rsync.password&&chmod 600 /etc/rsync.password
此时就可以在主节点zabbix上实现同步
rsync -avzP /usr/local/zabbix/ test@192.168.1.3::data --password-file=/etc/rsync.password
/usr/local/zabbix为需要同步的目录。test是用来同步备份的账号,192.168.1.3是备zabbix节点的ip,data是备节点上认证模块的名字
同步成功。
上面的同步方式不会删除文件。比如在主节点zabbix同步目录下删除了1.html文件,那么备节点zabbix仍然会存在1.html文件。如果要做到主zabbix删除了文件,备节点也要删除文件,必须添加-delete参数。
参考链接 :
Zabbix 通过 API 监控 k8s :https://mp.weixin.qq.com/s/ZmVo1_MMJiQ_PEtC9JCxcg
Zabbix 通过 API 监控 k8s相关推荐
- Zabbix 通过 API 监控 k8s | 技巧
监控方式:python+zabbix _sender 原理:python的request库,请求k8s的api地址,对数据处理. 第一步:获取k8s的api地址 查看K8S的api地址的命令如下( 最 ...
- Zabbix分布式监控实战(2)—— Zabbix的API接口的使用方法
本实验是在<Zabbix分布式监控实战(1)--Zabbix简介及Zabbix监控平台的搭建>实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在z ...
- Zabbix分布式监控(2)——Zabbix的API接口
本实验是在Zabbix分布式监控实战(1)--认识zabbix,搭建Zabbix监控平台实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在zabbix-web ...
- Zabbix Python API 应用实战
做监控的同学应该知道,公司IDC机房经常有上架.下架.报修和报废的服务器.如果服务器数量很多的时候很容易造成监控遗漏. 大的互联网公司把监控系统和CMDB(资产管理系统|配置管理数据库系统)集 ...
- Grafana + Zabbix --- 部署分布式监控系统
阅读目录: 1. 关闭防火墙 2. 安装Zabbix下载源 3. ZabbixClient --- 安装zabbix-agent代理 4. ZabbixServer --- 安装zabbix-ser ...
- c++ 多key_详解Zabbix自定义Key监控Rabbitmq(监控特定队列)
概述 今天主要介绍一下zabbix怎么去自定义key来监控rabbitmq队列. 一.环境准备脚本 1.每秒钟插入一个观察队列情况(queues.py) # -*- coding: utf-8 -*- ...
- zabbix java api
zabbix java api zabbix官方的api文档地址:https://www.zabbix.com/documentation/3.0/manual/api Zabbix功能 概观 Zab ...
- grafana+zabbix 部署分布式监控系统
环境 :Ubuntu 16.04 1.安装grafana $ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/graf ...
- Zabbix+MatrixDB大规模监控与分析解决方案详解(含PPT)
首先,谢谢原作者:(此文为转载的文章,现将原地址贴出如下:以下文章来源于yMatrix,作者MatrixDB团队Zabbix+MatrixDB大规模监控与分析解决方案详解(含PPT)) 更多精彩Zab ...
最新文章
- a1708硬盘转接口_2015年A1502 Macbook Pro更换硬盘
- UA OPTI512R 傅立叶光学导论8 多元脉冲函数
- 我慌了,纠删码是什么?我被面试官问蒙了
- java百度云文件上传_关于如何在自己项目集成百度云BCE文件上传STS方案
- JavaScript-Iterable迭代
- python编程(编写opengl程序)
- set容器内元素的访问
- python抽学号程序_python:简单的学生管理系统
- 插值和空间分析(二)_变异函数分析(R语言)
- C专家编程 三 C语言声明是如何形成的
- JS全国城市数组列表
- 在线json校验工具
- 利用Wifidog实现微信wifi连接
- spacy中en_core_web_sm安装问题
- 【UI】常见基础知识整理
- 高手入门STM32总结+学习步骤
- JAVA计算机毕业设计抑郁症患者博客交流平台Mybatis+源码+数据库+lw文档+系统+调试部署
- 从社会网络角度再现 老干妈和腾讯事件(0712,咯咯咯)
- Crossing Number of Graphs 读书笔记
- 大型网站技术架构(六)——网站的伸缩性架构
热门文章
- “达观杯”文本智能处理冠军分享:深度学习文本分类
- 互联网运营数据分析(3): 留存分析
- 盘点抖音及今日头条的优化推广方法有哪些?
- r语言aggredate_R语言 分组计算,不止group_by
- python监听键盘输入 linux_Linux下使用Python捕获键盘输入
- MySQL延时更改数据_mysql数据库备份设置延时备份方法(mysql主从配置)
- matlab jpeg 工具包,安装Matlab JPEG Toolbox
- java+线程安全的hash,多线程下HashMap安全问题-ConcurrentHashMap解析
- 蒙特卡罗算法与拉斯维加斯算法
- 数据结构实践项目——图的基本运算及遍历操作