Chrony
Chrony 采集器用于采集 Chrony 服务器相关的指标数据。
Chrony 采集器支持远程采集,采集器 Datakit 可以运行在多种操作系统中。
配置¶
前置条件¶
- 安装 Chrony 服务
$ yum -y install chrony # [On CentOS/RHEL]
...
$ apt install chrony # [On Debian/Ubuntu]
...
$ dnf -y install chrony # [On Fedora 22+]
...
- 验证是否正确安装,在命令行执行如下指令,得到类似结果:
$ chronyc -n tracking
Reference ID : CA760151 (202.118.1.81)
Stratum : 2
Ref time (UTC) : Thu Jun 08 07:28:42 2023
System time : 0.000000000 seconds slow of NTP time
Last offset : -1.841502666 seconds
RMS offset : 1.841502666 seconds
Frequency : 1.606 ppm slow
Residual freq : +651.673 ppm
Skew : 0.360 ppm
Root delay : 0.058808800 seconds
Root dispersion : 0.011350543 seconds
Update interval : 0.0 seconds
Leap status : Normal
采集器配置¶
进入 DataKit 安装目录下的 conf.d/chrony
目录,复制 chrony.conf.sample
并命名为 chrony.conf
。示例如下:
[[inputs.chrony]]
## (Optional) Collect interval, default is 10 seconds
# interval = "10s"
## (Optional) Exec chronyc timeout, default is 8 seconds
# timeout = "8s"
## (Optional) The binPath of chrony
bin_path = "chronyc"
## (Optional) Remote chrony servers
## If use remote chrony servers, election must be true
## If use remote chrony servers, bin_paths should be shielded
# remote_addrs = ["<ip>:22"]
# remote_users = ["<remote_login_name>"]
# remote_passwords = ["<remote_login_password>"]
## If use remote_rsa_path, remote_passwords should be shielded
# remote_rsa_paths = ["/home/<your_name>/.ssh/id_rsa"]
# remote_command = "chronyc -n tracking"
## Set true to enable election
election = true
[inputs.chrony.tags]
# some_tag = "some_value"
# more_tag = "some_other_value"
配置好后,重启 DataKit 即可。
可通过 ConfigMap 方式注入采集器配置 或 配置 ENV_DATAKIT_INPUTS 开启采集器。
也支持以环境变量的方式修改配置参数(需要在 ENV_DEFAULT_ENABLED_INPUTS 中加为默认采集器):
-
ENV_INPUT_CHRONY_INTERVAL
采集器重复间隔时长
字段类型: TimeDuration
采集器配置字段:
interval
默认值: 10s
-
ENV_INPUT_CHRONY_TIMEOUT
超时时长
字段类型: TimeDuration
采集器配置字段:
timeout
默认值: 8s
-
ENV_INPUT_CHRONY_BIN_PATH
Chrony 的路径
字段类型: String
采集器配置字段:
bin_path
默认值:
chronyc
-
ENV_INPUT_CHRONY_REMOTE_ADDRS
可以使用远程 Chrony 服务器
字段类型: JSON
采集器配置字段:
remote_addrs
示例: ["192.168.1.1:22","192.168.1.2:22"]
-
ENV_INPUT_CHRONY_REMOTE_USERS
远程登录名
字段类型: JSON
采集器配置字段:
remote_users
示例: ["user_1","user_2"]
-
ENV_INPUT_CHRONY_REMOTE_PASSWORDS
远程登录密码
字段类型: JSON
采集器配置字段:
remote_passwords
示例: ["pass_1","pass_2"]
-
ENV_INPUT_CHRONY_REMOTE_RSA_PATHS
秘钥文件路径
字段类型: JSON
采集器配置字段:
remote_rsa_paths
示例: ["/home/your_name/.ssh/id_rsa"]
-
ENV_INPUT_CHRONY_REMOTE_COMMAND
执行指令
字段类型: String
采集器配置字段:
remote_command
示例: "
chronyc -n tracking
" -
ENV_INPUT_CHRONY_ELECTION
开启选举
字段类型: Boolean
采集器配置字段:
election
默认值: true
-
ENV_INPUT_CHRONY_TAGS
自定义标签。如果配置文件有同名标签,将会覆盖它
字段类型: Map
采集器配置字段:
tags
示例: tag1=value1,tag2=value2
指标¶
chrony
¶
- 标签
Tag | Description |
---|---|
host |
Host name |
leap_status |
This is the leap status, which can be Normal, Insert second, Delete second or Not synchronized. |
reference_id |
This is the reference ID and name (or IP address) of the server to which the computer is currently synchronized. |
stratum |
The stratum indicates how many hops away from a computer with an attached reference clock we are. |
- 指标列表
Metric | Description | Type | Unit |
---|---|---|---|
frequency |
This is the rate by which the system clock would be wrong if chronyd was not correcting it. | float | PPM |
last_offset |
This is the estimated local offset on the last clock update. | float | s |
residual_freq |
This shows the residual frequency for the currently selected reference source. | float | PPM |
rms_offset |
This is a long-term average of the offset value. | float | s |
root_delay |
This is the total of the network path delays to the stratum-1 computer from which the computer is ultimately synchronized. | float | s |
root_dispersion |
This is the total dispersion accumulated through all the computers back to the stratum-1 computer from which the computer is ultimately synchronized. | float | s |
skew |
This is the estimated error bound on the frequency. | float | PPM |
system_time |
This is the current offset between the NTP clock and system clock. | float | s |
update_interval |
This is the interval between the last two clock updates. | float | s |