CianCHEN | with code

分享我所知


  • 首页

  • 关于

  • 标签

  • 归档

  • 分类

prometheus-grafana踩坑记

发表于 2019-10-17
本文字数: 7.2k | 阅读时长 ≈ 7 分钟

prometheus + grafana 踩坑记

一些参考地址
https://blog.richliu.com/2019/02/13/3630/grafana-prometheus-python-client
https://yunlzheng.gitbook.io/prometheus-book/part-ii-prometheus-jin-jie/grafana/templating#shi-yong-bian-liang-dong-tai-chuang-jian-panel-he-row //比较全面的配置
https://www.ibm.com/developerworks/cn/cloud/library/cl-lo-prometheus-getting-started-and-practice/index.html
https://www.zhukun.net/archives/8281

部署详解:
https://www.aneasystone.com/archives/2018/11/prometheus-in-action.html
https://www.hi-linux.com/posts/25047.html

https://songjiayang.gitbooks.io/prometheus/content/ha/prometheus.html //高可用 和 热加载
http://chenzhijun.me/2018/05/02/nginx-proxy-promethues-grafana/ 反向代理prometheus 和 grafana

prometheus的架构

官方的架构图:
e1a0e83d.png
Retrieval:中定义了Prometheus Server需要从哪些地方拉取数据
Jobs / Exporters:Prometheus可以从Jobs或Exporters中拉取监控数据。Exporter以Web API的形式对外暴露数据采集接口。
Prometheus Server:Prometheus还可以从其他的Prometheus Server中拉取数据
Pushgateway:对于一些以临时性Job运行的组件,Prometheus可能还没有来得及从中pull监控数据的情况下,这些Job已经结束了,Job运行时可以在运行时将监控数据推送到Pushgateway中,Prometheus从Pushgateway中拉取数据,防止监控数据丢失
Service:是指Prometheus可以动态的发现一些服务,拉取数据进行监控,如从DNS,Kubernetes,Consul中发现
Storage:即Prometheus的存储,利用Prometheus Server的本地存储
PromQL:是Prometheus的查询语句,利用PromQL可以和一些WEBUI(如Grafana)集成
AlertManager:是一个独立于Prometheus的外部组件,用于监控系统的告警,通过配置文件可以配置一些告警规则,Prometheus会把告警推送到AlertManager。

1.搭建prometheus 服务端

1.1 获取最新的二进制包
1
wget  https://github.com/prometheus/prometheus/releases/download/v2.10.0/prometheus-2.10.0.linux-amd64.tar.gz
1.2 解压检测版本
1
2
3
4
5
6
7
tar xf prometheus-2.10.0.linux-amd64.tar.gz -C ./prometheus --strip-components 1
cd prometheus
./prometheus --version
prometheus, version 2.10.0 (branch: HEAD, revision: d20e84d0fb64aff2f62a977adc8cfb656da4e286)
build user: root@a49185acd9b0
build date: 20190525-12:28:13
go version: go1.12.5
阅读全文 »

xtrabackup 全备/增备和还原测试

发表于 2019-01-08 | 更新于 2019-01-09
本文字数: 11k | 阅读时长 ≈ 10 分钟

关于xtrabackup


据官方介绍,xtrabackup是世界上唯一一款开源的能够对Innodb和Xtradb存储引擎进行物理热备的工具。XtraBackup包含两部分:xtrabackup的c程序和innobackupex的Perl脚本;前者主要用于处理InnoDB表的备份;后者是前者的封装,主要包括一些与MySQL服务器的通信和MyISAM表的备份。
而且xtrabackup热备份兼容所有版本的Percona Server和MySQL,它基于流式数据,压缩等进行备份,节省空间。

特点:

  1. 备份过程快速可靠.
  2. 备份过程不打断正在执行的事务.
  3. 节约磁盘空间和流量.
  4. 自动备份检验.
  5. 还原速度快.

xtrabackup 相关的参数可以查看官方Index:

1
https://www.percona.com/doc/percona-xtrabackup/2.4/genindex.html

xtrabackup 用户手册:

1
https://www.percona.com/doc/percona-xtrabackup/2.4/manual.html

根据需求下载xtrabackup

1
https://www.percona.com/downloads/XtraBackup/LATEST/

安装xtrabackup

我线上的环境用的是5.7.18的mysql,我选择2.4.libgcrypt145版本
下载xtrabackup二进制包

1
2
# cd /usr/local/src
# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.12/binary/tarball/percona-xtrabackup-2.4.12-Linux-x86_64.libgcrypt145.tar.gz

解压文件

1
# tar xf percona-xtrabackup-2.4.12-Linux-x86_64.libgcrypt145.tar.gz

阅读全文 »

open-falcon之告警篇

发表于 2018-12-25 | 更新于 2018-12-26 | 分类于 open-falcon
本文字数: 4.4k | 阅读时长 ≈ 4 分钟

在上一篇博文中,已经演示了怎样部署一套基础的监控服务端,下面要开始安装agent收集指标信息以及配置告警,实现监控
基础环境信息:

1
2
server端: 192.168.36.183
agent: 192.168.36.17

编译安装agent

编译agent

客户端agent,我们只需要编译一次即可,以后所有的agent都可以直接使用这个包了。
在server端机器进行客户端编译:

1
2
3
4
cd /opt/go/src/github.com/open-falcon/falcon-plus/modules/agent  #这个目录之前在编译server的时候使用过
go get ./... #需要主机可以连接外网,通过go get下载相关源码包。
./control build
./control pack #编译pack 出的包,在其他agent主机上部署时,无需连接外网 ,pack出的包,可以类似的理解为由c源代码编译后得出的二进制文件。

观察一下我们需要的压缩包falcon-agent-5.1.2.tar.gz
falcon-agent

部署agent

阅读全文 »

open-falcon之安装篇

发表于 2018-12-24 | 更新于 2018-12-25 | 分类于 open-falcon
本文字数: 5.7k | 阅读时长 ≈ 5 分钟

小米开源监控软件 - open-falcon 安装篇

open-falcon官网地址:http://open-falcon.org/

相关的文档地址(v2.0):https://book.open-falcon.org/zh_0_2/intro/

官网的架构示意图

架构

这里尽量以我的理解来说一下这个架构图每个组件的作用(大部分来自官网):

  1. falcon-agent是部署在每一台被监控的主机上的,主要作用是负责数据采集和数据上报,另外它还有一个proxy-gateway的接口提供给用户使用,这样用户就可以自定义一些数据,然后上报给agent,agent再上报到transfer
  2. transfer是一个无状态的集群(可单点)。transfer接收agent上报的数据,然后使用一致性哈希进行数据分片、并把分片后的数据转发给graph、judge集群(transfer还会打一份数据到opentsdb)。其消耗的资源 主要是网络和CPU
  3. transfer辐射的一个组件是graph,graph组件用于存储、归档作图数据,可以集群部署。每个graph实例会处理一个分片的数据: 接收transfer发送来的分片数据,归档、存储、生成索引;接受query对该数据分片的查询请求。graph会持久存储监控数据,频繁写入磁盘,状态数据会缓存在内存,因此graph消耗的主要资源是磁盘存储、磁盘IO和内存资源。
  4. 图中API的用途是处理终端用户请求,收到查询请求后,会去多个graph里面,查询不同metric的数据,汇总后统一返回给用户。
  5. 这里顺便说一下dashboard,是一个可视化的用户管理ui,用户可以以多个维度来搜索endpoint列表,即可以根据上报的tags来搜索关联的endpoint。
  6. Aggregato 的作用是聚合监控数据,比如说多个机器的某个指标,提供给dashboard显示
  7. nodata 组件的作用是检测监控数据的上报异常,比如agent.alived,异常可以返回-1,重新push到transfer,从而触发告警。
  8. tranfer辐射的还有一个叫judge的插件,judge用于实现报警策略的触发逻辑。judge实现触发计算时,会在本地缓存 触发逻辑的中间状态和定量的监控历史数据,因此会消耗较多的内存资源和计算资源。
  9. 告警judge触发需要一些触发条件,这里需要heartbeat server的策略下发,hbs是open-falcon的配置中心,负责 适配系统的配置信息、管理agent信息等。
  10. 这样judge收到告警策略(portal ui组件配置)之后进行告警判断,符合规则的就放到redis队列中,然后视配置情况进行告警或者合并告警(links组件),告警使用的是alarm组件,alarm需要调用sender(email, 短信api…)
阅读全文 »

Zabbix LLD Discovery - zabbix监控之低等级发现

发表于 2018-12-21 | 更新于 2018-12-24 | 分类于 Zabbix 监控
本文字数: 1.8k | 阅读时长 ≈ 2 分钟

zabbix 的Regular expressions

以下是一个zabbix文件系统自动发现的正则表达式,匹配到的话返回true:
1
下面看一下文件系统自动发现的具体配置:
2
在zabbix server通过zabbix_get获取一下文件系统发现的全部key:
3

阅读全文 »
CianCHEN

CianCHEN

世间纷繁,乱花迷人眼,前路漫漫,勿忘初心~

5 日志
2 分类
5 标签
GitHub E-Mail
Links
  • 90hsa
© 2019 CianCHEN | 30k | 27 分钟
本站访客数: |
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v6.6.0