| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- // Stats package has implementations of [events.Observer] for different
- // monitoring systems.
- //
- // Observer is a consumer of events produced by mtg. Consumers, defined
- // in this package, process these events and provide information used by
- // different monitoring system or time series databases.
- package stats
-
- const (
- // DefaultMetricPrefix defines a base prefix for all metrics.
- DefaultMetricPrefix = "mtg"
-
- // DefaultStatsdMetricPrefix defines a base prefix for metrics
- // which are passed to statsd.
- DefaultStatsdMetricPrefix = DefaultMetricPrefix + "."
-
- // DefaultStatsdTagFormat defines a format of tags for statsd
- // observer.
- DefaultStatsdTagFormat = "datadog"
-
- // MetricClientConnections defines a metric which is responsible for a
- // number of currently active connections established by client.
- //
- // Type: gauge
- // Tags:
- // ip_family | A type of ip (ipv4 or ipv6) of the client.
- MetricClientConnections = "client_connections"
-
- // MetricTelegramConnections defines a metric which is responsible for
- // a count of active connections to Telegram servers.
- //
- // Type: gauge
- // Tags:
- // telegram_ip | IP address of the telegram server.
- // dc | Index of the datacenter to connect to.
- MetricTelegramConnections = "telegram_connections"
-
- // MetricDomainFrontingConnections defines a metric which is
- // responsible for a count of active connections to a fronting domain.
- // Fronting domain is that one that is encoded in a secret.
- //
- // Type: gauge
- // Tags:
- // ip_family | A type of IP (ipv4 or ipv6) that was used.
- MetricDomainFrontingConnections = "domain_fronting_connections"
-
- // MetricTelegramTraffic defines a metric for traffic (in bytes) that
- // is sent to and from Telegram servers.
- //
- // Type: counter
- // Tags:
- // telegram_ip | IP address of the telegram server.
- // dc | Index of the datacenter
- // direction | Direction of the traffc flow. Values are
- // | 'to_client' and 'from_client'
- MetricTelegramTraffic = "telegram_traffic"
-
- // MetricDomainFrontingTraffic defines a metric for traffic (in bytes)
- // that is sent to and from fronting domain.
- //
- // Type: counter
- // Tags:
- // direction | Direction of the traffc flow. Values are
- // | 'to_client' and 'from_client'
- MetricDomainFrontingTraffic = "domain_fronting_traffic"
-
- // MetricDomainFronting defines a metric for a number of domain
- // fronting routing events.
- //
- // Type: counter
- MetricDomainFronting = "domain_fronting"
-
- // MetricConcurrencyLimited defines a metric for a count of events,
- // when the client was blocked due to the concurrency limit.
- //
- // Type: counter
- MetricConcurrencyLimited = "concurrency_limited"
-
- // MetricIPBlocklisted defines a metric for a count of events, when
- // client was blocked because her IP address was found in blocklists.
- //
- // Type: counter
- MetricIPBlocklisted = "ip_blocklisted"
-
- // MetricReplayAttacks defines a metric for a count of events, when
- // mtg has detected a replay attack. Just a reminder: mtg immediately
- // routes a connection to a fronting domain if such event is detected.
- //
- // Type: counter
- MetricReplayAttacks = "replay_attacks"
-
- // MetricIPListSize defines a metric for the size of the the ip list.
- //
- // Type: gauge
- // Tags:
- // ip_list | 'allowlist' or 'blocklist'
- MetricIPListSize = "iplist_size"
-
- // TagIPFamily defines a name of the 'ip_family' tag and all values.
- TagIPFamily = "ip_family"
-
- // TagIPFamilyIPv4 defines a value of 'ip_family' of IPv4.
- TagIPFamilyIPv4 = "ipv4"
-
- // TagIPFamilyIPv6 defines a value of 'ip_family' of IPv6.
- TagIPFamilyIPv6 = "ipv6"
-
- // TagTelegramIP defines a name of the 'telegram_ip' tag.
- TagTelegramIP = "telegram_ip"
-
- // TagDC defines a name of the 'dc' tag.
- TagDC = "dc"
-
- // TagDirection defines a name of the 'direction' tag.
- TagDirection = "direction"
-
- // TagDirectionToClient defines that traffic is sent from Telegram to a
- // client.
- TagDirectionToClient = "to_client"
-
- // TagDirectionFromClient defines that traffic is sent from a client to
- // Telegram.
- TagDirectionFromClient = "from_client"
-
- // TagIPList defines a name of the 'ip_list' and all values.
- TagIPList = "ip_list"
-
- // TagIPListAllow defines a value of 'ip_list' of allowlist.
- TagIPListAllow = "allowlist"
-
- // TagIPListBlock defines a value of 'ip_list' of blocklist.
- TagIPListBlock = "blocklist"
- )
|