夜莺-Nightingale
夜莺V7
项目介绍 功能概览
部署升级 部署升级
数据接入 数据接入
告警管理 告警管理
数据查看 数据查看
功能介绍 功能介绍
API FAQ
夜莺V6
项目介绍 架构介绍
快速开始 快速开始
黄埔营
安装部署 安装部署
升级
采集器 采集器
使用手册 使用手册
API API
数据库表结构 数据库表结构
FAQ FAQ
开源生态
Prometheus
版权声明
第1章:天降奇兵 第1章:天降奇兵
第2章:探索PromQL 第2章:探索PromQL
第3章:Prometheus告警处理 第3章:Prometheus告警处理
第4章:Exporter详解 第4章:Exporter详解
第5章:数据与可视化 第5章:数据与可视化
第6章:集群与高可用 第6章:集群与高可用
第7章:Prometheus服务发现 第7章:Prometheus服务发现
第8章:监控Kubernetes 第8章:监控Kubernetes
第9章:Prometheus Operator 第9章:Prometheus Operator
参考资料

All-in-one的监控数据采集器Categraf

基本介绍

Categraf 是一款 all-in-one 的采集器,由 快猫团队 开源,代码托管在:

Categraf 不但可以采集 OS、MySQL、Redis、Oracle 等常见的监控对象,也准备提供日志采集能力和 trace 接收能力,这是夜莺主推的采集器,相关信息请查阅项目 README

Categraf 采集到数据之后,通过 remote write 协议推给远端存储,Nightingale 恰恰提供了 remote write 协议的数据接收接口,所以二者可以整合在一起,重点是配置 Categraf 的 conf/config.toml 中的 writer 部分,其中 url 部分配置为 n9e 的 remote write 接口:

[writer_opt]
# default: 2000
batch = 2000
# channel(as queue) size
chan_size = 10000

[[writers]]
url = "http://N9E:17000/prometheus/v1/write"

# Basic auth username
basic_auth_user = ""

# Basic auth password
basic_auth_pass = ""

# timeout settings, unit: ms
timeout = 5000
dial_timeout = 2500
max_idle_conns_per_host = 100

上面给的例子是推给了夜莺的 17000 端口,如果是采用边缘机房下沉部署方案,把 n9e-pushgw 下沉部署了,边缘机房的 categraf 需要推给边缘机房的 n9e-pushgw。

采集插件

Categraf 每个采集器,都有一个配置目录,在 conf 下面,以 input. 打头,如果某个插件不想启用,就把插件配置目录改个名字,别让它是 input. 打头即可,比如 docker 不想采集,可以 mv input.docker bak.input.docker 就可以了。当然了,也并不是说只要有 input.xx 目录,就会采集对应的内容,比如 MySQL 监控插件,如果想采集其数据,至少要在 conf/input.mysql/mysql.toml 中配置要采集的数据库实例的连接地址。

每个采集插件的配置文件,都给了很详尽的注释,阅读这些注释,基本就了解如何去配置各个插件了。Categraf 的插件代码目录,也放置了各个采集插件的 README,大家可以参考。

很多采集插件的配置文件中,都有 [[instances]] 配置段,这个 [[]] 在 toml 配置中表示数组,即 instances 配置段可以配置多份,比如 oracle 的配置文件:

# collect interval, unit: second
interval = 15

[[instances]]
address = "10.1.2.3:1521/orcl"
username = "monitor"
password = "123456"
is_sys_dba = false
is_sys_oper = false
disable_connection_pool = false
max_open_connections = 5
# interval = global.interval * interval_times
interval_times = 1
labels = { region="cloud" }

[[instances]]
address = "192.168.10.10:1521/orcl"
username = "monitor"
password = "123456"
is_sys_dba = false
is_sys_oper = false
disable_connection_pool = false
max_open_connections = 5
labels = { region="local" }

address 可以指定连接地址,如果想监控多个 oracle 实例,一个 address 显然不行了,就要把 instances 部分拷贝多份,即可做到监控多个 oracle 实例的效果。

当然,更多信息请查阅Categraf README,README 中有 FAQ 和 QuickStart 的链接,可以帮助大家快速入门。另外,大家也可以参考我的公众号文章《讲解Categraf采集器》里边有3个视频教程介绍Categraf,公众号也欢迎大家关注,会持续更新监控相关的文章。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云
OpenSource
开源版
Flashcat
Flashcat