Icinga 2
大约 2 分钟
Icinga 2
1. 引言
Icinga 2,作为一款源自 Nagios的开源监控软件,以其强大的主机和网络监控能力而闻名。它在GNU GPLv2许可协议下发行,确保了其开放性和社区的广泛参与。Icinga 2 可与 IoTDB高性能时序数据库无缝集成,实现监控数据的高效存储和管理。
2. 前置条件
要将 Icinga 2 数据同步到 IoTDB需要做如下准备:
IoTDB>= V2.0.5.1,已经部署并且正常运行Icinga 2已安装IoTDB_Adapter能够正常运行
3. 安装与配置步骤
3.1 IoTDB_Adapter 配置
联系天谋工作人员获取
IoTDB_Adapter安装包解压压缩包
# 以1.0版本为例 unzip IoTDB_Adapter-1.0.zip修改配置文件
conf/application.properties,设置监听端口、IoTDB路径前缀、节点地址、用户名和密码。
# 启动 Adapter 监听的端口
port=4242
# IoTDB 的实例地址,多个 nodeUrls 用 ; 分割
iotdb.nodeUrls=127.0.0.1:6667
# 写入IoTDB的数据的路径前缀,如 root.testdb (sqlDialect不为table的时候生效)
iotdb.prefix=root.icinga2
# IoTDB 用户名
iotdb.user=root
# IoTDB 密码
iotdb.password=root
# IoTDB SqlDialect(可选tree/table,默认tree)
iotdb.sqlDialect=table
# IoTDB DataBase (sqlDialect为table的时候生效)
iotdb.database=icinga2
# IoTDB Table (sqlDialect为table的时候生效)
iotdb.table=test
# payload_formatter:支持 statsd 和 opentsdb(默认) 两种
payload.formatter=opentsdb
# 源数据精度(默认秒s|毫秒ms|微妙us|纳秒ns)
time.precision.source=s
# 目标 IoTDB 数据精度(默认秒)
time.precision.iotdb=ms注意:表模型下,参数 iotdb.database 中设置的数据库需要提前创建
- 重新启动
IoTDB_Adapter服务。
/sbin/start.sh3.2 Icinga 2 配置
下载安装 Icinga2,安装指南请参考Icinga 2 Installation
启用
OpenTsdbWriter特性:详情可参考Icinga官网介绍 Features 。修改配置文件
/etc/icinga2/features-enabled/opentsdb.conf,配置IoTDB_Adapter地址和端口。object OpenTsdbWriter "opentsdb" { host = "127.0.0.1" port = 4242 }启动
Icinga 2服务systemctl start icinga2
3.3 验证测试
通过 IoTDB CLI查询数据,验证数据是否已成功写入。
IoTDB:icinga2> select * from test limit 1
+-----------------------------+---------------------------+---------------------------+-------+-------+-------+
| time| metric| host| value|service| type|
+-----------------------------+---------------------------+---------------------------+-------+-------+-------+
|2025-07-23T09:33:27.424+08:00|icinga.check.execution_time|iot-VMware-Virtual-Platform|0.00675| http|service|
+-----------------------------+---------------------------+---------------------------+-------+-------+-------+