zabbix

基于Prometheus的高可用Redis多实例监控实践

若如初见. 提交于 2021-01-15 13:29:16
本文根据刘宇老师在〖deeplus直播 “ 运维监控谈:Prometheus与Zabbix的对比选型 ” 〗线上分享演讲内容整理而成。 (文末有获取本期PPT&回放的方式,不要错过) 刘宇 甜橙金融 基础技术架构师 具有丰富的数据库运维和研发经验,主导并顺利完成了甜橙金融上百套MySQL、Redis上云,以及MySQL、Redis的整体架构设计和搭建,在大型活动优化上具有丰富经验。 今天分享的内容主要分为以下三个方面: Prometheus简介; Redis多实例监控实践; Grafana整合Zabbix/Prometheus实践。 这次的分享主要是从具体的案例出发,希望通过细粒度的讲解为大家使用Promethus提供一些启发。如果当中有存疑的地方,也欢迎大家和我交流。 一、Prometheus简介 1、架构 Prometheus最常用的架构图 根据这个架构图,我来说说Prometheus核心的工作流程: 首先Prometheus的程序会负责定时去目标抓取一个指标的数据,每个指标的数据只需要通过exporter暴露出的一个HTTP就可以被定时抓取; Prometheus从配置文件、文本、consul、还有比如架构图中的k8s等目标作为服务的动态发现,主要采用pull的方式来进行监控,即服务器可以直接通过目标pull的数据或者间接通过 pushgateway获得数据;

【prometheus】学习第一篇——prometheus

℡╲_俬逩灬. 提交于 2021-01-13 23:57:14
前言:   说到监控方案,市面上开源的有很多,最常用的zabbix,深入使用zabbix以后,才知道zabbix设计团队有多厉害,简直是一个完美的监控告警方案。但是在针对docker的监控上还差点,需要自己写监控脚本实现。为此从去年开始调研针对docker的监控方案,如下:   1,cadvisor+influxdb+grafana     优点:部署方便,cadvisor监控docker主机和docker信息,influxdb记录数据,grafana展示     缺点:1,无法获取cpu使用率,cadvisor采集到的是cpu使用时间,得到cpu使用率需要计算,grafana没有办法做复杂的运算。       2,告警体系几乎没有,grafana有基本的告警功能,仅限于图表类型数据可以告警,并且没有告警收敛、告警分析的功能,存在告警风暴的风险。       3,influxdb开源版本不支持集群,商业版才支持集群。这个对后续扩展是个问题。   2,Weave Scope     优点:简直完美的监控,界面漂亮,操作方便,自带终端堡垒机功能。     缺点:1,他的优点也是他的缺点,权限这么大的终端(root用户),居然没有认证体系,任何人拿到ip就能对服务器做任何操作了       2,总体感觉这个方案是给人看的,不太适合做监控系统,界面花哨,但是实际使用并不方便。   3

zabbix 利用python脚本实现钉钉告警

帅比萌擦擦* 提交于 2021-01-13 08:57:01
Zabbix 利用python脚本实现钉钉告警 1、安装python3.6环境 2、创建python脚本 cd local/zabbix-4.0.3/share/zabbix/alertscripts/ 新建一个zabbix_dingding.py文件 vi zabbix_dingding.py //修改文件所有者为zabbix chown zabbix.zabbix zabbix_dingding.py //设置所有者为7权限 chmod 744 zabbix_dingding.py 文件内容如下: #!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = {'Content-Type': 'application/json;charset=utf-8'} api_url="https://oapi.dingtalk.com/robot/send?access_token=abec8a22f6fdfc458e9ecdd922ae2349bcbf862bfaa7f6b15c71f80fd6fc9ff1" def msg(text): json_text= { "msgtype": "text", "text": { "content":

zabbix监控报警python脚本

允我心安 提交于 2021-01-13 08:56:43
#!/usr/bin/python #_*_coding:utf-8 _*_ import urllib,urllib2 import json import sys import simplejson reload(sys) sys.setdefaultencoding('utf-8') def gettoken(corpid,corpsecret): gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret print gettoken_url try: token_file = urllib2.urlopen(gettoken_url) except urllib2.HTTPError as e: print e.code print e.read().decode("utf8") sys.exit() token_data = token_file.read().decode('utf-8') token_json = json.loads(token_data) token_json.keys() token = token_json['access_token'] return token def

python 通过zabbix api获得所有主机的ip

烈酒焚心 提交于 2021-01-13 08:49:21
#!/usr/bin/env python3 #coding=utf-8 import json import requests #from urllib import requests, parse,error # based url and required header #url = "http://sg-zabbix.upliveapp.com/zabbix/api_jsonrpc.php" class zabbixapi: '''获得token''' def __init__(self): self.url = 'http:// xxxxxxxx /zabbix/api_jsonrpc.php' self.headers = {'Content-Type': 'application/json'} auth = { "jsonrpc": "2.0", "method": "user.login", "params": { "user": " xxxxx ", ###验证 "password": " xxxxx " }, "id": 1, "auth": None, } response = requests.post(self.url, data=json.dumps(auth), headers=self.headers) self.authid = json

python调用zabbix api接口实时展示数据

我的未来我决定 提交于 2021-01-13 08:25:30
python调用zabbix api接口实时展示数据 关于API zabbix拥有完善的API,基于JSON RPC提供资产,主机,主机组,监控项,告警等方面的接口。在做运维自动化时,需要用API功能对zabbix二次开发。本文我将介绍如何用python信使用zabbix的API。 API介绍: API地址: http://你的zabbix域名/api_jsonrpc.php API请求方法,采用POST API请求数据结构 { "jsonrpc": "2.0", // 版本 "method": "user.login", // 接口方法名 "params": { //接口参数 }, "auth": "", // 登录后的session,未登录为空 "id": 1 // 任意数 } API常用的接口 user.login ,用户登录 host.get(create|delete|update),主机操作 hostgroup.get(create|delete|update),主机组操作 item.getcreate|delete|update),监控项目操作 history.get,历史数据查询 event.get,事件查询 trigger.get ,触发器查询 近日公司准备自已做一个运维管理平台,其中的监控部分,打算调用zabbix api接口来进行展示。 经过思考之后

【linux】循序渐进学运维-基础篇-扩展swap分区

前提是你 提交于 2021-01-13 07:01:07
文章目录 1. swap分区是干嘛的? 2. swap的工作机制? 3. 如何查看swap 分区 4. 什么时候会用到swap扩容 5. swap扩展实战 方案一: 使用硬盘做swap分区 1) 分区 2) 格式化成swap格式 3) 开启与关闭swap 方法二: 通过文件增加swap空间 1) 使用dd命令生成1G大小的文件 2)查看生成的文件并给权限 总结 大家好,我是高胜寒,本文是Linux运维-循序渐进学运维-基础篇的第49篇原创文章。 今天我们来聊聊分区当中的sawp分区。 1. swap分区是干嘛的? 在Linux下,SWAP的作用类似Windows系统下的“虚拟内存”。当物理内存不足时,拿出部分硬盘空间当SWAP分区(虚拟成内存)使用,从而解决内存容量不足的情况。 比如我们的手机内存是2G,当出现看电影比较卡顿的时候,我们可以获取手机root权限,把硬盘里的某个文件扩展成swap分区,这样当手机内存不足的时候,就可以直接使用swap内存。 当然了,我们的swap空间一旦用完,操作系统就会干掉消耗内存最多的进程来释放部分内存。就是这么霸道。 有诗云: 独坐池塘如虎踞, 绿荫树下养精神。 春来我不先开口 ,哪个虫儿敢作声。 就是这么霸道的操作系统! 2. swap的工作机制? Linux对于内存的回收有两种情况,一种是分配内存的时候发现没有足够的空间内存可以分配

Grafana是一个可视化面板-安装配置介绍

女生的网名这么多〃 提交于 2021-01-10 17:06:04
Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源 最新版本:Version 5.4.2 December 13, 2018 https://grafana.com/grafana/download Grafana添加Zabbix为数据源 一、Grafana介绍 Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。 二、安装Grafana CentOS系列使用YUM安装 1 2 $ wget https : / / s3 - us - west - 2.amazonaws.com / grafana - releases / release / grafana - 4.2.0 - 1.x86_64.rpm $ sudo yum localinstall grafana - 4.2.0 - 1.x86_64.rpm 或者 1 2 $ yum install

zabbix4.2的yum+mariadb方式部署安装

房东的猫 提交于 2021-01-10 13:22:43
本文依据官方文档操作(英文4.2): https://www.zabbix.com/documentation/4.2/manual/installation/install_from_packages 也可参考官方(中文4.0)版本: https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos 操作系统版本:centos 7.x zabbix 版本: 4.2 安装方式: yum 一、安装 # 安装zabbix源/epel源 shell> rpm -Uvh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-2.el7.noarch.rpm shell> yum -y install epel-release # 安装zabbix shell> yum -y install zabbix-server-mysql zabbix-web-mysql mariadb mariadb-server zabbix-agent zabbix-proxy-mysql(这个代理端自行按需求安装) # 设置开启自启动 shell> systemctl enable mariadb