# A plugin that can transmit heartbeats over HTTP [[outputs.heartbeat]] ## URL of heartbeat endpoint url = "http://monitoring.example.com/heartbeat" ## Unique identifier to submit for the Telegraf instance (required) instance_id = "agent-123" ## Token for bearer authentication # token = "" ## Interval for sending heartbeat messages # interval = "1m" ## Information to include in the message, available options are ## hostname -- hostname of the instance running Telegraf ## statistics -- number of metrics, logged errors and warnings, etc ## configs -- redacted list of configs loaded by this instance ## logs -- detailed log-entries for this instance ## status -- result of the status condition evaluation # include = ["hostname"] ## Amount of time allowed to complete the HTTP request # timeout = "5s" ## HTTP connection settings # idle_conn_timeout = "0s" # max_idle_conn = 0 # max_idle_conn_per_host = 0 # response_timeout = "0s" ## Use the local address for connecting, assigned by the OS by default # local_address = "" ## Optional proxy settings # use_system_proxy = false # http_proxy_url = "" ## Optional TLS settings ## Set to true/false to enforce TLS being enabled/disabled. If not set, ## enable TLS only if any of the other options are specified. # tls_enable = ## Trusted root certificates for server # tls_ca = "/path/to/cafile" ## Used for TLS client certificate authentication # tls_cert = "/path/to/certfile" ## Used for TLS client certificate authentication # tls_key = "/path/to/keyfile" ## Password for the key file if it is encrypted # tls_key_pwd = "" ## Send the specified TLS server name via SNI # tls_server_name = "kubernetes.example.com" ## Minimal TLS version to accept by the client # tls_min_version = "TLS12" ## List of ciphers to accept, by default all secure ciphers will be accepted ## See https://pkg.go.dev/crypto/tls#pkg-constants for supported values. ## Use "all", "secure" and "insecure" to add all support ciphers, secure ## suites or insecure suites respectively. # tls_cipher_suites = ["secure"] ## Renegotiation method, "never", "once" or "freely" # tls_renegotiation_method = "never" ## Use TLS but skip chain & host verification # insecure_skip_verify = false ## OAuth2 Client Credentials. The options 'client_id', 'client_secret', and 'token_url' are required to use OAuth2. # client_id = "clientid" # client_secret = "secret" # token_url = "https://indentityprovider/oauth2/v1/token" # audience = "" # scopes = ["urn:opc:idm:__myscopes__"] ## Optional Cookie authentication # cookie_auth_url = "https://localhost/authMe" # cookie_auth_method = "POST" # cookie_auth_username = "username" # cookie_auth_password = "pa$$word" # cookie_auth_headers = { Content-Type = "application/json", X-MY-HEADER = "hello" } # cookie_auth_body = '{"username": "user", "password": "pa$$word", "authenticate": "me"}' ## cookie_auth_renewal not set or set to "0" will auth once and never renew the cookie # cookie_auth_renewal = "0s" ## Logging information filtering, only applies if "logs" is added to "include" # [outputs.heartbeat.logs] # ## Number of log entries to send (unlimited by default) # ## In case more log-entries are available entries with higher log levels # ## and more recent entries are preferred. # # limit = 0 # # ## Minimum log-level for sending the entry # # level = "error" ## Logical conditions to determine the agent status, only applies if "status" ## is included in the message # [outputs.heartbeat.status] # ## Conditions to signal the given status as CEL programs returning a # ## boolean. Conditions are evaluated in the order below until a program # ## evaluates to "true". # # ok = "false" # # warn = "false" # # fail = "false" # # ## Evaluation order of the conditions above; available: "ok", "warn", "fail" # # order = ["ok", "warn", "fail"] # # ## Default status used if none of the conditions above matches # ## available: "ok", "warn", "fail", "undefined" # # default = "ok" # # ## If set, send this initial status before the first write, otherwise # ## compute the status from the conditions and default above. # ## available: "ok", "warn", "fail", "undefined", "" # # initial = "" ## Additional HTTP headers # [outputs.heartbeat.headers] # User-Agent = "telegraf"