jmxtrans + OpenTSDB + granafa 监控套件使用手册
需求说明
编写背景
此手册的基础在于对《jmxtrans + influxdb + granafa 监控套件使用手册》的熟悉和使用。本手册仅介绍以下几项:
- OpenTSDB 的配置安装
- 对 json 文件的配置使其可以将数据导入OpenTSDB
- grafana 对OpenTSDB 数据源的看板配置
适用人群
- 管理层人员
- 数据部门人员
- 运维部门人员
- 其他想要学习此类知识的人员
配置安装 OpenTSDB
简介
OpenTSDB ,可以认为是一个时系列数据(库),它基于HBase存储数据,充分发挥了HBase的分布式列存储特性,支持数百万每秒的读写,它的特点就是容易扩展,灵活的tag机制。
下载安装包
下载安装包并上传到服务器中
编译安装
解压
tar -zxvf opentsdb-2.3.0.tar.gz -C /opt/others第一步编译
cd /opt/others
mv opentsdb-2.3.0 opentsdb
cd opentsdb
sudo ./build.sh
编译中会出现以下错误:
......
javac: file not found: ./src/net/opentsdb/query/expression/parser/*.java
Usage: javac <options> <source files>
use -help for a list of possible options
Makefile:1695: recipe for target '.javac-stamp' failed
make[1]: *** [.javac-stamp] Error 2
make[1]: Leaving directory '/home/bischoff_s/opentsdb-2.3.0/build'
Makefile:1282: recipe for target 'all' failed
make: *** [all] Error 2
解决方法:
cd opentsdb
mkdir build #这个文件夹有可能会已经存在
cp -r third_party ./build
sudo ./build.sh
第二步编译
cd build
sudo make install #普通用户必须sudo权限运行,否则会报权限错误
运行建表脚本,建立 hbase 表
sudo env HBASE_HOME=/opt/bigdata/hbase /opt/others/opentsdb/src/create_table.sh修改配置文件
vim /opt/others/opentsdb/src/opentsdb.conf
tsd.network.port = 4242
tsd.http.staticroot = build/staticroot #相对目录,取决于opentsdb.conf所在目录,
tsd.http.cachedir = //opt/tmp/opentsdb #缓存目录
tsd.core.auto_create_metrics = true
tsd.storage.hbase.zk_quorum = dev01:2181,dev02:2181,dev03:2181 #zookeeper地址
启动 会一直有输出,可以将其后台运行并无输出
tsdb tsd --config=src/opentsdb.conf
测试运行
查看版本号
dev@dev01:/var/lib/jmxtrans$ tsdb version
net.opentsdb.tools 2.3.0 built at revision (MODIFIED)
Built on 2018/11/05 07:55:18 +0000 by dev@dev01:/opt/others/opentsdb
按照官网的 metrics 进行测试
创建一个sys.cpu.user
tsdb mkmetric sys.cpu.user使用4242端口进行数据输入
# telnet localhost 4242
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
put sys.cpu.user 1356998400 42.5 host=webserver01 cpu=0
put sys.cpu.user 1356999400 42.7 host=webserver01 cpu=0
读取数据
3.1 命令行获取
# tsdb query 1356998400 1356999400 sum sys.cpu.user
sys.cpu.user 1356998400000 42.500000 {host=webserver01, cpu=0}
sys.cpu.user 1356999400000 42.700001 {host=webserver01, cpu=0}
3.2 web api获取
http://dev01:4242/api/query?start=1356998400&m=sum:sys.cpu.user
[{"metric":"sys.cpu.user","tags":{"cpu":"0"},"aggregateTags":["host"],"dps":{"1356998400":42.5,"1356999400":42.70000076293945,"1541406000":40,"1541406060":50}}]
jmxtrans配置OpenTSDB
示例json
{
"servers" : [ {
"port" : "10101",
"host" : "192.168.20.10",
"queries" : [ {
"outputWriters" : [ {
"@class" : "com.googlecode.jmxtrans.model.output.OpenTSDBWriterFactory",
"port" : 4242,
"host" : "192.168.20.10",
"mergeTypeNamesTags" : true,
"addHostnameTag" : true,
"flushStrategy" : "always",
"typeNames": []
} ],
"obj" : "java.lang:type=OperatingSystem",
"resultAlias": "OperatingSystem",
"attr" : [
"FreePhysicalMemorySize",
"TotalPhysicalMemorySize",
"SystemCpuLoad",
"TotalSwapSpaceSize",
"FreeSwapSpaceSize",
"ProcessCpuLoad"
]
}],
"numQueryThreads" : 6
} ]
}
数据项说明:2.2版本以后的OpenTSDB中一定要配置tag
| 名称 | 描述 | 类型 |
|---|---|---|
| servers | 数据源配置 | 数组 |
| port | 接收jmx的json数据的端口 | 字符串 |
| host | 接收jmx的json数据的IP地址 | 字符串 |
| queries | 解析json的规则 | 数组 |
| outputWriters | 数据目的地( OpenTSDB) | 数组 |
| @class | 数据目的地( OpenTSDB)的类 | 字符串 |
| port | OpenTSDB 的 opentsdb.conf 文件中的端口号 | 数值 |
| host | 安装 OpenTSDB 的机器IP | 字符串 |
| mergeTypeNamesTags | 将即将要存储的字段名存储为tag(?猜测?) | boolean值 |
| addHostnameTag | 如果没有指定标签,put到hbase的api将无法正常工作 | boolean值 |
| flushStrategy | 默认是“never”,所以metrics实际上不会发送到opentsdb | 字符串 |
| numQueryThreads | 总共对6个指标项进行监控 | 数值 |
grafana配置
数据源配置

面板配置

jmxtrans + OpenTSDB + granafa 监控套件使用手册的更多相关文章
- jmxtrans + influxdb + granafa 监控套件使用手册
需求说明 随着大数据组件的日益完善,需要随时随地保持各个组件的日常运行,对各个组件的监控势在必行.为了减少运维部门的负担,通过筛选,我们使用 jmxtrans + influxdb + granafa ...
- Kafka使用jmxtrans+influxdb+grafana监控JMX指标
最近在搞Kafka集群监控,之前也是看了网上的很多资料.之所以使用jmxtrans+influxdb+grafana是因为界面酷炫,可以定制化,缺点是不能操作Kafka集群,可能需要配合Kafka M ...
- 使用prometheus + granafa 监控mysql主从
若主从同步数据库未同步默认的mysql表,则也需要在从库上创建mysql用户mysqld_exporter用来收集监控数据 mysqld_exporter安装部署 这里采取的是mysqld_expor ...
- 小米open-falcon监控系统接入手册
一.新项目接入 0.官方文档: https://book.open-falcon.org/zh_0_2/usage/getting-started.html 1.联系运维人员确定可以使用监控系统: ( ...
- prometheus+alertmanager+granafa监控总结,安装基于docker-compose(长期更新)
最近自己个人尝试在使用prometheus+grafana监控工作业务上的指标, 但是报警功能还没有实际用上,但是感觉是很好用,写下一些啃prometheus官网文档并且自己用到的一些配置的总结,后续 ...
- 基于jmxtrans+influxdb+grafana实现对canal监控
最近在调研canal数据同步系统的监控方案,网上关于jmxtrans+influxdb+grafana监控kafka的文档很多,没有监控canal的.通过几天的摸索,大致明白了来龙去脉.监控流程基本是 ...
- hbase 监控指标项
名词解释 JMX:Java Management Extensions,用于用于Java程序扩展监控和管理项 GC:Garbage Collection,垃圾收集,垃圾回收机制 指标项来源 主机名 u ...
- Hbase监控指标项
名词解释 JMX:Java Management Extensions,用于用于Java程序扩展监控和管理项 GC:Garbage Collection,垃圾收集,垃圾回收机制 指标项来源 主机名 u ...
- Zabbix监控笔记
了解zabbix,有必要了聊一下监控系统相关内容 企业中常用的开源监视系统目前有 cacti.Nagios.Open-Falcon.zabbix.prometheus等 使用监控系统的目的在于 /1. ...
随机推荐
- Redis: 缓存过期、缓存雪崩、缓存穿透、缓存击穿(热点)、缓存并发(热点)、多级缓存、布隆过滤器
Redis: 缓存过期.缓存雪崩.缓存穿透.缓存击穿(热点).缓存并发(热点).多级缓存.布隆过滤器 2019年08月18日 16:34:24 hanchao5272 阅读数 1026更多 分类专栏: ...
- java虚拟机精讲
2.程序计数器 是指当前线程所执行字节码的行号指示器 比如if 循环 抛异常 等都需要程序计数器 如果线程执行java方法 程序计数器记录的是虚拟机字节码指令的地址 如果线程执行native方法时程序 ...
- PHP 下载mysql数据到PHPExcel表格
第一步:先到官网(https://github.com/PHPOffice/PHPExcel)下载PHPExcel 第二步:放到第三方库 第三步: /** * 封装:信息导出 * @param $da ...
- 写两个线程,一个线程打印1-52,另一个线程打印A-Z,打印顺序为12A34B56C......5152Z
题目: 写两个线程,一个线程打印1-52,另一个线程打印A-Z,打印顺序为12A34B56C......5152Z.要求用线程间的通信. /** * 写两个线程,第一个线程打印1-52,第二个线程打印 ...
- kubeDNS workflow(service registration and discovery)
Service discovery In k8s, we usually will more than make an application instance, and also the corre ...
- Ansible批量远程管理Windows主机(部署与配置)
一.测试环境介绍 Ansible管理主机: 系统: CentOS6.8 IP Addr: 172.16.10.22 Linux管理服务器需安装pip.pywinrm插件 Windows客户端主机: ...
- cmd中subst的使用
SUBST [drive1: [drive2:]path] drive1: 指定要指派路径的虚拟驱动器.[drive2:]path 指定物理驱动器和要指派给虚拟驱动器的路径. 路径替换 ...
- Redis持久化(转载)
原文地址:http://www.jianshu.com/p/2f14bc570563?from=jiantop.com 数据持久化 Redis提供了将数据定期自动持久化至硬盘的能力,包括RDB和AOF ...
- @EqualsAndHashCode
1.@Data注解包含了这些注解 * @see Getter * @see Setter * @see RequiredArgsConstructor * @see ToString * @see E ...
- /usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependency
原因:python库中urllib3 (1.22) or chardet (2.2.1) 的版本不兼容 解决如下: [ [root@aaaaaaaaaaaaaaaaaaaa~]# pip uninst ...