Icinga 2将指标写入VictoriaMetrics数据库时出现的问题
我在我的电脑上用icinga2和 Victoria Metrics数据库来存储主机指标,使用Docker容器来搭建开发环境。
但我无法让它工作。
这是我配置文件中相关的部分。
docker-compose
networks:
default:
name: icinga-playground
services:
icinga2:
command: ["sh", "-c", "sleep 5 ; icinga2 daemon"]
depends_on:
- icingadb-redis (not shown)
- init-icinga2 (not shown)
- victoriametrics
environment: *icinga2-environment
image: icinga/icinga2
logging: *default-logging
ports:
- 5665:5665
volumes:
- icinga2:/data
- ./icinga2.conf.d:/custom_data/custom.conf.d
victoriametrics:
image: victoriametrics/victoria-metrics:latest
ports:
- "8428:8428"
volumes:
- vm_data:/victoria-metrics-data
command:
- "--storageDataPath=/victoria-metrics-data"
这是在icinga中配置Graphite写入器以实现向Victoria Metrics数据库写入的文件。
object GraphiteWriter "graphite" {
host = "victoriametrics"
port = 8428
}
我尝试用一个类似的配置来和InfluxDB搭配使用,它工作得很好。但使用Victoria Metrics时就不管用。我在日志里一直看到这条信息
critical/GraphiteWriter: Cannot write to TCP socket on host 'victoriametrics' port '8428'.
看起来icinga2找不到Victoria Metrics的主机。不过如果我用浏览器打开该端口,它就能显示出来。
怎么让它工作起来?
解决方案
Graphite数据采集协议通过纯TCP传输,而不是HTTP。VictoriaMetrics在 8428端口监听HTTP请求。因此它不能在该端口接收通过Graphite发送的指标。这也是你需要显式开启一个专门用于Graphite样本监听的端口的原因——通常是TCP端口 2003。可以通过向VictoriaMetrics传入 -graphiteListenAddr=:2003 命令行标志来开启。有关详情,请参阅 这些文档。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。