Prometheus 自动发现】的更多相关文章

目录 简介 环境说明 静态配置 重新加载配置文件 基于文件发现配置 重新加载配置文件 添加主机测试 基于DNS的A记录 修改配置文件 重新加载配置文件 基于DNS的SRV记录自动发现 修改配置文件 重新加载配置文件 动态添加解析测试 简介 在实际的配置中,经常会遇到增加或者减少监控主机的状况,如果每次都需要修改prometheus.yml配置文件,实在是太麻烦了. 此时就需要配置自动发现,而prometheus只是很多种的自动发现 支持: 基于公有云 基于私有云 基于文件,file的自动发现 基…
  Prometheus 监控目标为什么要自动发现 频繁对Prometheus配置文件进行修改,无疑给运维人员带来很大的负担,还有可能直接变成一个“配置小王子”,即使是配置小王子也会存在人为失误的情况. Prometheus支持的多种服务发现机制 Prometheus数据源的配置主要分为静态配置和动态发现, 常用的为以下几类: static_configs: 静态服务发现 file_sd_configs: 文件服务发现 dns_sd_configs: DNS 服务发现 kubernetes_sd…
一.自动发现类型 在上一篇文中留了一个坑: 监控某个statefulset服务的时候,我在service文件中定义了个EP,然后把pod的ip写死在配置文件中,这样,当pod重启后,IP地址变化,就监控不到数据了,这肯定是不合理的. 如果在我们的 Kubernetes 集群中有了很多的 Service/Pod,那么我们都需要一个一个的去建立一个对应的 ServiceMonitor 对象来进行监控吗?这样岂不是也很麻烦么? 为解决上面的问题,Prometheus Operator 为我们提供了一个…
Prometheus Operator 自动发现和持久化 之前在 Prometheus Operator 下面自定义一个监控选项,以及自定义报警规则的使用.那么我们还能够直接使用前面课程中的自动发现功能吗?如果在我们的 Kubernetes 集群中有了很多的 Service/Pod,那么我们都需要一个一个的去建立一个对应的 ServiceMonitor 对象来进行监控吗?这样岂不是又变得麻烦起来了? 自动发现配置 为解决上面的问题,Prometheus Operator 为我们提供了一个额外的抓…
pushgetway(push上传metric数据) Pushgateway简介 Pushgateway是prometheus的一个组件,prometheus server默认是通过exporter主动获取数据(默认采取pull拉取数据),pushgateway则是通过被动方式推送数据到prometheus server,用户可以写一些自定义的监控脚本把需要监控的数据发送给pushgateway, 然后pushgateway再把数据发送给Prometheus server Pushgateway…
需求: 现在有大量url需要监控,形式如http://www.baidu.com ,要求url状态不为200即报警. 需求详细分析: 大量的url,且url经常变化,现在监控用的是zabbix,如果手动添加模板,会造成大量重复工作,如果利用脚本+mail,无法图形呈现 解决方案: zabbix有discovery功能,即可轻松解决此问题 首先我们找一个随便找一个zabbix客户端来实现接下来要做的功能 首先我们从头来,我们来装一下zabbix客户端 [root@test_ha_nginx ~]#…
一.需求 zabbix 服务器可以手动加入zabbix-agent客户端,对于少量的机器,这没有什么.但到了线上,我们有大量的服务器需要监控时,如果再一个个的手动加的话,工作量势必会增加很多.这时,zabbix-server 的Discovery 自动发现 功能便派上了用场. 二.条件 1.zabbix server 已经部署好,所需要加入的服务器zabbix-agent已经安装. 2.防火墙都开放端口,主要是10050.10051端口,或者关闭整个iptables 三.zabbix-agent…
1.在监控客户机上 web_site_code_status.sh: #!/bin/bash UrlFile="/opt/scripts/WEB.txt" IFS=$'\n' web_site_discovery () { WEB_SITE=($(cat $UrlFile|grep -v "^#")) printf '{\n' printf '\t"data":[\n' num=${#WEB_SITE[@]} for site in ${WEB_…
1. 题目 改造malloc和free函数,使C语言能自动发现泄漏的内存,在程序退出时打印中遗漏的内存地址和大小. 2. 思路 用一个链表来记录已经分配的内存地址.在malloc时,把分配的内存地址和大小插入链表:在free时,找到链表中相应结点,删除该结点.程序退出时,打印出链表中的结点. 上述思路有一个缺陷:删除结点时,需要遍历链表,如何才能变成常数时间能完成的操作? 方法是:在malloc时,多分配一块区域,用来记录链表结点的位置. 3. 代码 //Code 1 #include <std…
参考官网集群配置方式 https://hub.docker.com/r/progrium/consul/   集群中需要manager与node能通信consul的发现服务,不然,管理节点选举不了,无法执行docker 命令. 集群中consul工作3台的机器,大于等2台时,集群仍正常工作,如果,发生只有1台时,集群失效,无法选择管理节点,需要启动数据再次达到3台的标准后,集群才能慢慢恢复.   测试最终得出一个惊人结论,我把consul集群删除后,重新拉起时,元数据全部自动发现恢复.    …
介绍 使用 zabbix 的 low-level 自动发现功能完成单主机多端口的监控, 详见low_level_discovery, 整体上监控类似 percona 的 zabbix 监控插件, 不过使用 mymonitor.pl 替换了脚本 ss_get_mysql_stats.php, 而且配置有点不同. 具体代码及配置详见: zabbix_mysql 1. 结构说明: zabbix_mysql/ |-- README.md |-- bin | |-- get_mysql_stats_wra…
说明 何为自动发现?首先我们监控多tomcat实例,如果一个个实例地添加或许可以完成当前需求.但是日后随着实例的增多,再手动一个个去添加就十分不方便了.这时候需要自动发现这个功能,来帮助我们自动添加监控tomcat实例.本文就以监控tomcat线程为例,来实现这个自动发现的功能.这里zabbix版本为3.0. 创建自动发现脚本 可以理解为这个脚本能够打印出当前服务器上所有的tomcat实例名称.zabbix会定期执行这个脚本,做到自动发现当前所有的tomcat实例,脚本放在zabbix-agen…
看了Taylor Otwell发表的Package Auto-Discovery In Laravel 5.5第一反应是 为啥... 也怪我,在开发之前忘记看5.5的开发代码动态,之前的文章中也提到过,在社交系统ThinkSNS+开发场景中,我们不可能让用户去 config/app.php 修改配置,所以为了解决加载包的问题,我们开发了Laravel服务提供者的增强版可以看plus/doc/pakcage 是的,增强版的服务提供者,增加功能如下: l 可以友好的加载其他「服务提供者」(这在开发包…
1.编辑自动发现脚本 自动发现脚本只支持JSON格式 #!/usr/bin/env python # -*- coding:utf-8 -*- import commands import psutil import threading import json # 获取所有java进程的pid Pids=commands.getoutput('pidof java').split() def name(pid): p = psutil.Process(int(pid)) # 应为zabbix监控…
 zabbix并没有给我们提供这么一个模板来完成在Linux中磁盘IO的监控,所以我们需要自己来创建一个,在此还是在Linux OS中添加. 由于一台服务器中磁盘众多,如果只一两台可以手动添加,但服务集群达到几十那就非常麻烦,因此需要利用 自动发现 这个功能,自动发现后自动添加对服务器磁盘的监控,而且添加磁盘后也会自动添加到监控,实现自动化运维的效果,所以在这里也演示一次自动发现的配置. 打开Linux模板,添加自动发现规则 上面的key值是需要在 zabbix_agent.conf 中配置的…
一.概述 Zabbix提供了有效和非常灵活的网络自动发现功能. 设置网络发现后你可以: 加快Zabbix部署(自动添加主机.添加模板) 简化管理(自动删除主机.删除模板.禁用主机) 无需过多管理就能在快速变化的环境中使用Zabbix Zabbix可以根据以下条件自动发现设备: IP范围(根据IP网段.指定IP地址发现主机) 可用的外部服务(FTP,SSH,WEB,POP3,IMAP,TCP等) 来自 zabbix agent 的信息(仅支持未加密模式) 来自 snmp agent 的信息 Zab…
1.需求描述        默认情况下Zabbix 模板 中网络接口自动发现接口时,会产生很多item,有时候会有我们不需要的一些接口,这时候需要过滤掉他们.        比如我有一台运行kvm的服务器,服务器上有四个物理接口 eth0-eth3 , 三个网桥接口 br0-br2 , 还有很多个虚机的网卡接口 vnetxx ,如下所示:   1 [root@host00 ~]# ifconfig |grep HW 2 br0 Link encap:Ethernet HWaddr EC:F4:B…
python 自动发现Java端口 #!/usr/bin/env python #encoding: utf8 import subprocess try: import json except ImportError: import simplejson as json command = "netstat -tpln | grep -v '127.0.0.1' | awk -F '[ :]+' '/java/ && / / {print $5}'" p = subp…
zabbix3.2利用自动发现功能对fastcgi模式的php状态进行集中监控 前端nginx虚拟主机引用后端多个php接口,为了方便监控,将后端服务器集中配置在nginx中,具体配置如下: [root@eus_nginx:]# cat /usr/local/nginx/config/nginx.conf user apache users; worker_processes ; worker_cpu_affinity ; error_log /data/www/logs/nginx_log/e…
Zabbix自动发现 由于有上百台的虚拟机需要监控,如果一个个去添加配置,费时费力.Zabbix的自动发现,可以自动发现需要监控的机器,监控相应指标. 前置条件 安装部署好Zabbix Server.可参考Zabbix Server安装部署 配置好Zabbix Agent.可参考批量部署Zabbix Agent 其中,Server和ServerActive配置成你部署的Zabbix Server服务器IP地址.如下 Server=<zabbix服务端IP> ListenPort= 10050…
zabbix使用自动发现监控esxi的磁盘存储storage 在任意一台可以访问vcenter的zabbix-agent服务器上添加exsi的磁盘监控模板即可 创建模板过程: custom.esxi.discovery 画图: 注意要选择浮点型,否则可能不支持 添加触发器:当磁盘使用率超过85%时触发报警 自动发现的脚本: [root@wondershareID_web03:~]# cat /usr/local/zabbix_agents_3.2.0/scripts/zabbix_esxi_st…
在大企业环境中,不可能在zabbix页面上逐个添加被监控的主机.还好zabbix自带自动发现和自动注册功能 被监控端安装zabbix客户端之后,将配置文件配置指向服务器端ip即可.红色箭头改为zabbix服务器端ip,蓝色箭头最好也设置一下 主要说一下在web端设置自动发现和自动注册的流程 配置->自动发现->创建规则 创建规则,随便取一个名称,写入扫描的ip范围,新增一个zabbix客户端检查,按图填写,点击添加,启用,更新 下面开始设置自动注册 点击创建动作进入以下页面,ip地址一定要写上…
一.添加自动发现规则 1.ip范围尽量别太大 zabbix是通过ARP来搜索符合条件的主机的 2.团体名和交换机要一样.这个OID值是提取系统信息的 在OID这块遇到个坑 我用Getif查询到的是1.3.6.1.2.1.1.1 是没有0的 然后导致自动发现一直没生效 而用snmpwalk查询到的值是带0的 交换机的配置如下 二.添加动作 条件A是套用第一步所创建的规则…
Zabbix 自动发现(Discovery)功能使用 随着监控主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的运维人员需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添加设备.分组.项目.图像…..结果应该是让人吐的结果.       鉴于这个问题我们可以好好利用下Zabbix的一个发现(Discovery)模块,进而来实现自动刚发现主机.自动将主机添加到主机组.自动加载模板.自动创建项目(item).自动创建图像,下面我们来看看这个模块如何使用. 一.Zabbi…
Redis的哨兵机制中,如果是多哨兵模式,哨兵节点之间也是可以相互感知的,各种搜索之后出来的是千篇一律的一个基础配置文件,在配置当前哨兵节点的配置文件中,并没有配置其他哨兵节点的任何信息.如下是一个哨兵节点的配置信息,可以看到,哨兵与哨兵之间没有任何配置,死活想不明白,哨兵之间是如何自动识别的. #sentinel端口 port #工作路径,注意路径不要和主重复 dir "./" # 守护进程模式 daemonize yes #关闭保护模式 protected-mode no # 指明…
自动发现(LLD) 概述 自动发现(LLD)提供了一种在计算机上为不同实体自动创建监控项,触发器和图形的方法.例如,Zabbix可以在你的机器上自动开始监控文件系统或网络接口,而无需为每个文件系统或网络接口手动创建监控项.此外,可以配置Zabbix根据定期执行发现后的得到实际结果,来移除不需要的监控项. 实现自动发现示例 第一步:点击configure>discovery 第二步:create discovery rule,创建一个discovery规则 第三步:填写发现规则.checks选择I…
背景说明: 由于zabbix监控使用自带的模版,只能监控主机上只有1个tomcat的场景适合,虽然网上很多朋友都是在每个监控项上面添加一个空格来解决问题.但是个人感觉这种方法还是蛮麻烦的,所以写一篇使用自动发现tomcat并监控. 1,在一台主机上安装2个tomcat,安装完1个tomcat,复制1个即可.复制完之后修改tomcat的端口即可. https://www.cnblogs.com/lin1/p/5689622.html 2,进入到apache-tomcat1目录,开启jmxport端…
最近在部署zabbix监控  有些服务器上开启的服务端口非常多  如果一个个添加监控会很繁琐,于是想到了自动发现规则  自动发现服务器上的服务端口并进行监控. 在zabbix客户端服务器上进行操作 1)编写端口自动发现的脚本 cat /usr/local/zabbix/scripts/discover_port.sh #!/bin/bashportarray=(`sudo netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{…
自动发现端口并添加监控设置UserParameter=net.listen.discovery,sudo /etc/zabbix/scripts/discovery_listport.sh #!/bin/bash Check=(`netstat -lntp|awk '/^tcp/{split($4,Port,":");split($7,Name,"[/:]");print Name[2]":"Port[length(Port)]}'|sort -…
在zabbix中添加新主机时,是需要手动添加,但在zabbix的Action里有两项功能,自动发现与自动注册,运用这两个功能中任意一个都可以实现自动添加机器,但添加的主机名是IP地址. 自动发现:添加discovery规则后,zabbix sever端基于IP范围对agent机器进行扫描,并把扫描到的机器添加到web端.zabbix server端的操作,会使其压力很大 自动注册:zabbix agent端会自动发送信息到server端,然后agent主机会被添加到web端.zabbix age…