监控方式: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相关推荐

  1. Zabbix 通过 API 监控 k8s | 技巧

    监控方式:python+zabbix _sender 原理:python的request库,请求k8s的api地址,对数据处理. 第一步:获取k8s的api地址 查看K8S的api地址的命令如下( 最 ...

  2. Zabbix分布式监控实战(2)—— Zabbix的API接口的使用方法

    本实验是在<Zabbix分布式监控实战(1)--Zabbix简介及Zabbix监控平台的搭建>实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在z ...

  3. Zabbix分布式监控(2)——Zabbix的API接口

    本实验是在Zabbix分布式监控实战(1)--认识zabbix,搭建Zabbix监控平台实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并在zabbix-web ...

  4. Zabbix Python API 应用实战

    做监控的同学应该知道,公司IDC机房经常有上架.下架.报修和报废的服务器.如果服务器数量很多的时候很容易造成监控遗漏.     大的互联网公司把监控系统和CMDB(资产管理系统|配置管理数据库系统)集 ...

  5. Grafana + Zabbix --- 部署分布式监控系统

    阅读目录: 1. 关闭防火墙 2. 安装Zabbix下载源 3. ZabbixClient  --- 安装zabbix-agent代理 4. ZabbixServer --- 安装zabbix-ser ...

  6. c++ 多key_详解Zabbix自定义Key监控Rabbitmq(监控特定队列)

    概述 今天主要介绍一下zabbix怎么去自定义key来监控rabbitmq队列. 一.环境准备脚本 1.每秒钟插入一个观察队列情况(queues.py) # -*- coding: utf-8 -*- ...

  7. zabbix java api

    zabbix java api zabbix官方的api文档地址:https://www.zabbix.com/documentation/3.0/manual/api Zabbix功能 概观 Zab ...

  8. grafana+zabbix 部署分布式监控系统

    环境 :Ubuntu 16.04 1.安装grafana $ wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/graf ...

  9. Zabbix+MatrixDB大规模监控与分析解决方案详解(含PPT)

    首先,谢谢原作者:(此文为转载的文章,现将原地址贴出如下:以下文章来源于yMatrix,作者MatrixDB团队Zabbix+MatrixDB大规模监控与分析解决方案详解(含PPT)) 更多精彩Zab ...

最新文章

  1. a1708硬盘转接口_2015年A1502 Macbook Pro更换硬盘
  2. UA OPTI512R 傅立叶光学导论8 多元脉冲函数
  3. 我慌了,纠删码是什么?我被面试官问蒙了
  4. java百度云文件上传_关于如何在自己项目集成百度云BCE文件上传STS方案
  5. JavaScript-Iterable迭代
  6. python编程(编写opengl程序)
  7. set容器内元素的访问
  8. python抽学号程序_python:简单的学生管理系统
  9. 插值和空间分析(二)_变异函数分析(R语言)
  10. C专家编程 三 C语言声明是如何形成的
  11. JS全国城市数组列表
  12. 在线json校验工具
  13. 利用Wifidog实现微信wifi连接
  14. spacy中en_core_web_sm安装问题
  15. 【UI】常见基础知识整理
  16. 高手入门STM32总结+学习步骤
  17. JAVA计算机毕业设计抑郁症患者博客交流平台Mybatis+源码+数据库+lw文档+系统+调试部署
  18. 从社会网络角度再现 老干妈和腾讯事件(0712,咯咯咯)
  19. Crossing Number of Graphs 读书笔记
  20. 大型网站技术架构(六)——网站的伸缩性架构

热门文章

  1. “达观杯”文本智能处理冠军分享:深度学习文本分类
  2. 互联网运营数据分析(3): 留存分析
  3. 盘点抖音及今日头条的优化推广方法有哪些?
  4. r语言aggredate_R语言 分组计算,不止group_by
  5. python监听键盘输入 linux_Linux下使用Python捕获键盘输入
  6. MySQL延时更改数据_mysql数据库备份设置延时备份方法(mysql主从配置)
  7. matlab jpeg 工具包,安装Matlab JPEG Toolbox
  8. java+线程安全的hash,多线程下HashMap安全问题-ConcurrentHashMap解析
  9. 蒙特卡罗算法与拉斯维加斯算法
  10. 数据结构实践项目——图的基本运算及遍历操作