跳转至

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/samples 目录,复制 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

    采集器重复间隔时长

    字段类型: Duration

    采集器配置字段: interval

    默认值: 10s

  • ENV_INPUT_CHRONY_TIMEOUT

    超时时长

    字段类型: Duration

    采集器配置字段: 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

Tags & Fields Description
host
(tag)
Host name
leap_status
(tag)
This is the leap status, which can be Normal, Insert second, Delete second or Not synchronized.
reference_id
(tag)
This is the reference ID and name (or IP address) of the server to which the computer is currently synchronized.
stratum
(tag)
The stratum indicates how many hops away from a computer with an attached reference clock we are.
frequency This is the rate by which the system clock would be wrong if chronyd was not correcting it.
Type: float | (gauge)
Unit: PPM
last_offset This is the estimated local offset on the last clock update.
Type: float | (gauge)
Unit: time,s
residual_freq This shows the residual frequency for the currently selected reference source.
Type: float | (gauge)
Unit: PPM
rms_offset This is a long-term average of the offset value.
Type: float | (gauge)
Unit: time,s
root_delay This is the total of the network path delays to the stratum-1 computer from which the computer is ultimately synchronized.
Type: float | (gauge)
Unit: time,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.
Type: float | (gauge)
Unit: time,s
skew This is the estimated error bound on the frequency.
Type: float | (gauge)
Unit: PPM
system_time This is the current offset between the NTP clock and system clock.
Type: float | (gauge)
Unit: time,s
update_interval This is the interval between the last two clock updates.
Type: float | (gauge)
Unit: time,s

文档评价

文档内容是否对您有帮助? ×