README ¶
check-ntpt
Go-based tooling to monitor Network Time Protocol (NTP) servers.
Project home
See our GitHub repo for the latest code, to file an issue or submit improvements for review and potential inclusion into the project.
Overview
Go-based tooling to monitor Network Time Protocol (NTP) servers.
At present, the ntpt
binary is the only tool provided by this repo. This
tool performs a NTP query against a specified server for testing purposes.
Future plans include providing one (or more) Nagios plugins to monitor NTP servers.
Changelog
See the CHANGELOG.md
file for the changes associated with
each release of this application. Changes that have been merged to master
,
but not yet an official release may also be noted in the file under the
Unreleased
section. A helpful link to the Git commit history since the last
official release is also provided for further review.
Requirements
The following is a loose guideline. Other combinations of Go and operating systems for building and running tools from this repo may work, but have not been tested.
Building source code
- Go
- see this project's
go.mod
file for preferred version - this project tests against officially supported Go
releases
- the most recent stable release (aka, "stable")
- the prior, but still supported release (aka, "oldstable")
- see this project's
- GCC
- if building with custom options (as the provided
Makefile
does)
- if building with custom options (as the provided
make
- if using the provided
Makefile
- if using the provided
Running
- Windows 10
- Ubuntu Linux 18.04+
Installation
From source
- Download Go
- Install Go
- Clone the repo
cd /tmp
git clone https://github.com/atc0005/check-ntpt
cd ntpt
- Install dependencies (optional)
- for Ubuntu Linux
sudo apt-get install make gcc
- for CentOS Linux
sudo yum install make gcc
- for Ubuntu Linux
- Build
- for current operating system
go build -mod=vendor ./cmd/ntpt/
- forces build to use bundled dependencies in top-level
vendor
folder
- forces build to use bundled dependencies in top-level
- for all supported platforms (where
make
is installed)make all
- for Windows
make windows
- for Linux
make linux
- for current operating system
- Copy the applicable binary to whatever systems needs to run it
- if using
Makefile
: look in/tmp/ntpt/release_assets/ntpt/
- if using
go build
: look in/tmp/ntpt/
- if using
NOTE: Depending on which Makefile
recipe you use the generated binary
may be compressed and have an xz
extension. If so, you should decompress the
binary first before deploying it (e.g., xz -d ntpt-linux-amd64.xz
).
Using release binaries
- Download the latest release binaries
- Decompress binaries
- e.g.,
xz -d ntpt-linux-amd64.xz
- e.g.,
- Deploy
- Place
ntpt
in a location of your choice- e.g.,
/usr/local/bin/
- e.g.,
- Place
NOTE:
DEB and RPM packages are provided as an alternative to manually deploying binaries.
Configuration
Command-line arguments
- Flags marked as
required
must be set via CLI flag or within a TOML-formatted configuration file. - Flags not marked as required are for settings where a useful default is already defined.
Flag | Required | Default | Repeat | Possible | Description |
---|---|---|---|---|---|
h , help |
No | false |
No | h , help |
Show Help text along with the list of supported flags. |
s , server |
Yes | empty string | No | one valid IP Address or fully-qualified server name | NTP server to submit query against. |
v , verbose |
No | false |
No | true , false |
Enables display of verbose output. Disabled by default. |
Examples
Basic usage
$ ./ntpt -s pool.ntp.org
Current time from pool.ntp.org: 2022-08-15 06:16:11.139364388 -0500 CDT m=-0.121229211
Current time from local system: 2022-08-15 06:16:11.5944353 -0500 CDT m=+0.333841701
The local system is -456.993422ms behind pool.ntp.org.
Verbose output
$ ./ntpt -v -s pool.ntp.org
Current time from pool.ntp.org: 2022-08-15 06:16:41.864305139 -0500 CDT m=-0.193111660
Current time from local system: 2022-08-15 06:16:42.3228386 -0500 CDT m=+0.265421801
Response from NTP server "pool.ntp.org":
Time: 2022-08-15 11:16:41.968756524 +0000 UTC
ClockOffset: -459.00146ms
RTT: 203.878832ms
Stratum: 2
ReferenceID: 167864580
ReferenceTime: 2022-08-15 11:16:39.020873716 +0000 UTC
RootDelay: 213.623µs
RootDispersion: 30.518µs
RootDistance: 102.076745ms
Leap: 0
MinError: 357.062044ms
KissCode: ""
Offset adjusted time: 2022-08-15 06:16:42.07080214 -0500 CDT m=+0.013385341