snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled

This commit is contained in:
upstream-mirror
2026-09-15 15:05:30 +05:00
commit 64898b2c79
8999 changed files with 1757358 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
global:
config_version: 3
input:
type: file
path: /var/log/nginx/access.log
fail_on_missing_logfile: false
readall: false
imports:
- type: grok_patterns
dir: <%= @include_dir %>
grok_patterns:
- 'NONQUERY [^? ]+'
- 'OPTIONALQUERY (?:\?%{NOTSPACE})?'
- 'APIPATH /+(api/v1|json)(?<apipath>/(events|users/me/presence|messages(/flags)?|remotes/push/(register|unregister|notify)|remotes/server/(register|analytics|analytics/status)|typing|register|server_settings|tus/))'
- 'EXTERNALPATH /+(?<external>api/v1/external/)[a-zA-Z0-9_-]+'
- 'ROOTPATH (?<rootpath>/+)'
- 'TOPPATH /+(?<toppath>(api/internal/(email_mirror_message|tusd)|compatibility|error_tracing))'
- 'PREFIXPATH /+(?<prefixpath>(static|user_uploads|avatar|api/v1/tus)/)\S+'
- 'ANYPATH (%{APIPATH}|%{EXTERNALPATH}|%{TOPPATH}|%{PREFIXPATH}|%{ROOTPATH}|%{NONQUERY:otherpath})%{OPTIONALQUERY}'
- 'OURHOSTNAME (?<hostname>((?<realm><%= @realm_names_regex %>)|%{NOTSPACE}))'
- 'OURLOG %{IPORHOST:clientip} - \S+ \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{ANYPATH} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) %{QS:referrer} %{QS:agent} %{OURHOSTNAME} %{NUMBER:response_time}'
metrics:
- type: counter
name: nginx_http_response_codes_total
help: Total number of requests, by response code, normalized path, and HTTP method
match: '%{OURLOG}'
labels:
code: '{{.response}}'
method: '{{.verb}}'
path: '{{if .apipath}}/api/v1{{.apipath}}{{else if .external}}/api/v1/external/...{{else if .rootpath}}{{if .realm}}/{{else}}(other){{end}}{{else if .toppath}}/{{.toppath}}{{else if .prefixpath}}/{{.prefixpath}}...{{else}}(other){{end}}'
- type: counter
name: nginx_http_response_bytes
help: Total number of bytes, by normalized path
match: '%{OURLOG}'
value: '{{.bytes}}'
labels:
path: '{{if .apipath}}/api/v1{{.apipath}}{{else if .external}}/api/v1/external/...{{else if .rootpath}}{{if .realm}}/{{else}}(other){{end}}{{else if .toppath}}/{{.toppath}}{{else if .prefixpath}}/{{.prefixpath}}...{{else}}(other){{end}}'
- type: histogram
name: nginx_http_response_time_seconds
help: Response time in seconds, from first request byte to last response byte
match: '%{OURLOG}'
value: '{{.response_time}}'
buckets:
- 0.001
- 0.002
- 0.005
- 0.010
- 0.025
- 0.050
- 0.100
- 0.200
- 0.500
- 1.000
- 2.000
- 5.000
- 10.00
- 20.00
- 50.00
- 60.00
- 120.0
labels:
code: '{{.response}}'
method: '{{.verb}}'
path: '{{if .apipath}}/api/v1{{.apipath}}{{else if .external}}/api/v1/external/...{{else if .rootpath}}{{if .realm}}/{{else}}(other){{end}}{{else if .toppath}}/{{.toppath}}{{else if .prefixpath}}/{{.prefixpath}}...{{else}}(other){{end}}'
server:
protocol: http
host: 127.0.0.1
port: 9144

View File

@@ -0,0 +1,157 @@
global:
# Set the scrape interval to every 15 seconds. Default is every 1 minute.
scrape_interval: 15s
# Evaluate rules every 15 seconds. The default is every 1 minute.
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "grafana"
static_configs:
- targets: ["localhost:3000"]
- job_name: "pushgateway"
scrape_interval: 2m
honor_labels: true
static_configs:
- targets: ["localhost:9091"]
- job_name: "wal-g"
scrape_interval: 5m
scrape_timeout: 20s
static_configs:
- targets:
<% @backup_buckets.each do |bucket| -%>
- <%= bucket %>
<% end -%>
relabel_configs:
- source_labels: [__address__]
target_label: __param_bucket
- source_labels: [__param_bucket]
target_label: bucket
- target_label: __address__
replacement: localhost:9188
- job_name: "vector"
scrape_interval: 30s
scrape_timeout: 3s
static_configs:
- targets: ["localhost:9081"]
- job_name: "node"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=node_exporter"
refresh_interval: 1m
relabel_configs: &relabels
# This relabel config is reused across all teleport-sd scrape configs. Because
# of https://github.com/prometheus/prometheus/issues/2347 (lack of <<: support),
# we include some exporter-specific rules in here, with a source_label/regex pair.
- source_labels: ["exporter"]
regex: rabbitmq
# Rabbitmq should use the heaver-weight but more useful per-object endpoint
target_label: __metrics_path__
replacement: "/metrics/per-object"
- source_labels: ["role"]
regex: "(prod|staging)_app_frontend"
# Prod and staging get a deploy=
replacement: "${1}"
target_label: "deploy"
- source_labels: ["role"]
regex: "chat"
# So does chat.zulip.org
replacement: "prod"
target_label: "deploy"
- source_labels: ["exporter"]
regex: "node_exporter"
# The historical node_exporter data does not like getting a surprise deploy=
# label, so strip it off
target_label: "deploy"
replacement: ""
- action: labeldrop
# Finally, strip Teleport-specific labels
regex: "type|exporter|name"
- job_name: "camo"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=camo"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "smokescreen"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=smokescreen"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "redis"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=redis_exporter"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "postgres"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=postgres_exporter"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "access_logs"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=grok_exporter"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "uwsgi"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=uwsgi_exporter"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "rabbitmq"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=rabbitmq"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "tornado"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=process_exporter"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "memcached"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=memcached_exporter"
refresh_interval: 1m
relabel_configs: *relabels
- job_name: "tusd"
proxy_url: "http://127.0.0.1:8080"
scheme: http
http_sd_configs:
- url: "http://127.0.0.1:9092/targets?type=prometheus&exporter=tusd"
refresh_interval: 1m
relabel_configs: *relabels