📦 NEW: DEV-871 Add Hetzner Plugin to Grafana monitor all Server Dynamic
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -7,4 +7,5 @@ redis
|
||||
e2e
|
||||
https_portal/log
|
||||
https_portal/data
|
||||
assets
|
||||
assets
|
||||
.env
|
||||
6
Dockerfile.prometheus
Normal file
6
Dockerfile.prometheus
Normal file
@@ -0,0 +1,6 @@
|
||||
FROM docker.io/prom/prometheus:v2.51.2
|
||||
|
||||
# Set the proper permissions for certificates
|
||||
RUN if [ -f ./https_portal/data/prometheus.phx-erp.de/production/signed.crt ]; then chmod 644 ./https_portal/data/prometheus.phx-erp.de/production/signed.crt; fi && \
|
||||
if [ -f ./https_portal/data/prometheus.phx-erp.de/production/domain.key ]; then chmod 600 ./https_portal/data/prometheus.phx-erp.de/production/domain.key; fi
|
||||
CMD ["prometheus", "--config.file=/etc/prometheus/prometheus.yaml", "--web.config.file=/etc/prometheus/web-config.yaml", "--web.external-url=https://prometheus.phx-erp.de"]
|
||||
227
config/hetzner_targets.json
Normal file
227
config/hetzner_targets.json
Normal file
@@ -0,0 +1,227 @@
|
||||
[
|
||||
{
|
||||
"targets": [
|
||||
"157.90.161.42:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "PHX-DEV-001.Alpha",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"167.235.254.4:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "ANSIBLE-MASTER",
|
||||
"datacenter": "fsn1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.75.215:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "cts",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"162.55.52.253:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "Phx-Yuri",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"162.55.54.75:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "benzinger-demo",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"5.75.183.139:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "phx-internal",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"142.132.165.231:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "trachtenmode-schmid",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"23.88.107.109:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "teamcity",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"49.13.146.138:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "gitea",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"159.69.200.205:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "phx-beta-rc",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.53.137:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "lhl",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"5.75.153.161:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "Grafana-Prometheus",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"159.69.44.39:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "cooper",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"49.13.165.13:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "shipxpert",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"49.13.197.152:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "dss",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"188.245.44.219:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "sartissohn",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.92.218:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "guntli",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"94.130.77.57:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "kolb",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"128.140.15.177:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "docuvita",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.151.20:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "ried",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.68.120:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "heba",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.128.69:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "eicsoft",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"159.69.93.252:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "ck-vechta",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"116.203.46.171:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "eeparts",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"targets": [
|
||||
"167.235.130.242:9100"
|
||||
],
|
||||
"labels": {
|
||||
"instance": "big-break-changes",
|
||||
"datacenter": "nbg1"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -1,105 +1,10 @@
|
||||
global:
|
||||
scrape_interval: 15s # By default, scrape targets every 15 seconds.
|
||||
scrape_interval: 15s # Default for all jobs unless overridden
|
||||
|
||||
# Attach these labels to any time series or alerts when communicating with
|
||||
# external systems (federation, remote storage, Alertmanager).
|
||||
# external_labels:
|
||||
# monitor: 'codelab-monitor'
|
||||
|
||||
# A scrape configuration containing exactly one endpoint to scrape:
|
||||
# Here it's Prometheus itself.
|
||||
scrape_configs:
|
||||
- job_name: "Prometheus Server"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["5.75.153.161:9090", "prometheus.phx-erp.de"]
|
||||
|
||||
- job_name: 'node'
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ['5.75.153.161:9100']
|
||||
|
||||
- job_name: "Phx Yuri"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["162.55.52.253:9100", "node-yuri.phx-erp.de"]
|
||||
|
||||
- job_name: "lhl"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["116.203.53.137:9100", "node-lhl.phx-erp.de"]
|
||||
|
||||
- job_name: "Phx Beta RC"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["116.203.53.137:9100", "node-beta-rc.phx-erp.de"]
|
||||
|
||||
- job_name: "Gitea"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["49.13.146.138:9100", "node-gitea.phx-erp.de"]
|
||||
|
||||
- job_name: "Team City"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["23.88.107.109:9100", "node-teamcity.phx-erp.de"]
|
||||
|
||||
- job_name: "Cooper"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["159.69.44.39:9100", "node-cooper.phx-erp.de"]
|
||||
|
||||
- job_name: "Shipxpert"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["49.13.165.13:9100", "node-shipxpert.phx-erp.de"]
|
||||
|
||||
- job_name: "Dss"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["49.13.197.152:9100", "node-dss.phx-erp.de"]
|
||||
|
||||
- job_name: "Guntli"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["116.203.92.218:9100", "node-guntli.phx-erp.de"]
|
||||
|
||||
- job_name: "Sartissohn"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["188.245.44.219:9100", "node-sartissohn.phx-erp.de"]
|
||||
|
||||
- job_name: "Kolb"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["94.130.77.57:9100", "node-kolb.phx-erp.de"]
|
||||
|
||||
- job_name: "Trachtenmode Schmid"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["142.132.165.231:9100", "node-trachtenmode-schmid.phx-erp.de"]
|
||||
|
||||
- job_name: "Phx Internal"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["5.75.183.139:9100", "node-internal.phx-erp.de"]
|
||||
|
||||
- job_name: "Benzinger Demo"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["162.55.54.75:9100", "node-benzinger-demo.phx-erp.de"]
|
||||
|
||||
- job_name: "CTS"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["116.203.75.215:9100", "node-cts.phx-erp.de"]
|
||||
|
||||
- job_name: "Ansible Master"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["167.235.254.4:9100", "node-ansible-master.phx-erp.de"]
|
||||
|
||||
- job_name: "Alpha"
|
||||
scrape_interval: 5s
|
||||
static_configs:
|
||||
- targets: ["157.90.161.42:9100", "node-alpha.phx-erp.de"]
|
||||
- job_name: "hetzner-dynamic"
|
||||
file_sd_configs:
|
||||
- files:
|
||||
- "/hetzner_targets.json"
|
||||
refresh_interval: 30s
|
||||
scrape_interval: 5s # Custom interval for Hetzner servers
|
||||
@@ -6,8 +6,8 @@ volumes:
|
||||
driver: local
|
||||
networks:
|
||||
default:
|
||||
external:
|
||||
name: grafana-prometheus
|
||||
name: grafana-prometheus
|
||||
external: true
|
||||
services:
|
||||
grafana:
|
||||
image: docker.io/grafana/grafana-oss:10.4.2
|
||||
@@ -39,19 +39,22 @@ services:
|
||||
prometheus:
|
||||
image: docker.io/prom/prometheus:v2.51.2
|
||||
container_name: prometheus
|
||||
user: "65534:65534"
|
||||
ports:
|
||||
- 9090:9090
|
||||
command: "
|
||||
--config.file=/etc/prometheus/prometheus.yaml \
|
||||
--web.config.file=/etc/prometheus/web-config.yaml \
|
||||
--web.external-url=https://prometheus.phx-erp.de
|
||||
"
|
||||
command:
|
||||
- "--config.file=/etc/prometheus/prometheus.yaml"
|
||||
- "--web.config.file=/etc/prometheus/web-config.yaml"
|
||||
- "--web.external-url=https://prometheus.phx-erp.de"
|
||||
volumes:
|
||||
# - '--web.enable-lifecycle' # Enable reload of configuration automatically without restart !!!
|
||||
- ./config/prometheus.yaml:/etc/prometheus/prometheus.yaml:ro # RO Read-only
|
||||
- ./config/web-config.yaml:/etc/prometheus/web-config.yaml:ro # RO Read-only
|
||||
- ./https_portal/data/prometheus.phx-erp.de/production:/etc/prometheus/certs
|
||||
- ./config:/opt/phx/main/config # 🔹 Add this to mount the config folder
|
||||
- prometheus-data:/prometheus
|
||||
- ./https_portal/data/prometheus.phx-erp.de/production/signed.crt:/etc/prometheus/certs/signed.crt:ro
|
||||
- ./https_portal/data/prometheus.phx-erp.de/production/domain.key:/etc/prometheus/certs/domain.key:ro
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- default
|
||||
|
||||
86
hetzner_discovery.py
Normal file
86
hetzner_discovery.py
Normal file
@@ -0,0 +1,86 @@
|
||||
import requests
|
||||
import json
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# Load environment variables from .env file
|
||||
load_dotenv()
|
||||
|
||||
# 🔑 Load Hetzner API Token
|
||||
HETZNER_API_TOKEN = os.getenv("HETZNER_API_TOKEN")
|
||||
|
||||
# Check if token is loaded
|
||||
if not HETZNER_API_TOKEN:
|
||||
raise ValueError("❌ HETZNER_API_TOKEN is missing! Make sure it's set in the .env file.")
|
||||
|
||||
# 📂 Path to the Prometheus service discovery file
|
||||
PROMETHEUS_TARGETS_FILE = "/opt/phx/main/config/hetzner_targets.json"
|
||||
ERROR_LOG_FILE = "/opt/phx/main/config/hetzner_error_servers.json"
|
||||
|
||||
# 📌 Hetzner API URL
|
||||
HETZNER_API_URL = os.getenv("HETZNER_API_URL")
|
||||
|
||||
# Check if API URL is loaded
|
||||
if not HETZNER_API_URL:
|
||||
raise ValueError("❌ HETZNER_API_URL is missing! Make sure it's set in the .env file.")
|
||||
|
||||
|
||||
# 📡 Fetch Hetzner server list
|
||||
def get_hetzner_servers():
|
||||
headers = {"Authorization": f"Bearer {HETZNER_API_TOKEN}"}
|
||||
response = requests.get(HETZNER_API_URL, headers=headers)
|
||||
|
||||
if response.status_code != 200:
|
||||
print(f"❌ Error fetching servers: {response.text}")
|
||||
return []
|
||||
|
||||
return response.json().get("servers", [])
|
||||
|
||||
|
||||
# 🏗️ Generate Prometheus JSON file
|
||||
def generate_prometheus_sd_config():
|
||||
servers = get_hetzner_servers()
|
||||
targets = []
|
||||
error_servers = []
|
||||
|
||||
for server in servers:
|
||||
if "public_net" in server and "ipv4" in server["public_net"]:
|
||||
ipv4 = server["public_net"]["ipv4"]["ip"]
|
||||
server_name = server["name"]
|
||||
datacenter = server["datacenter"]["location"]["name"]
|
||||
|
||||
targets.append({
|
||||
"targets": [f"{ipv4}:9100"],
|
||||
"labels": {
|
||||
"instance": server_name,
|
||||
"datacenter": datacenter
|
||||
}
|
||||
})
|
||||
else:
|
||||
# Log the server that couldn't be added
|
||||
error_servers.append({
|
||||
"server_id": server["id"],
|
||||
"name": server["name"],
|
||||
"status": server["status"],
|
||||
"datacenter": server["datacenter"]["location"]["name"],
|
||||
"reason": "Missing public_net or IPv4"
|
||||
})
|
||||
|
||||
# Save JSON to Prometheus target file
|
||||
with open(PROMETHEUS_TARGETS_FILE, "w") as f:
|
||||
json.dump(targets, f, indent=4)
|
||||
|
||||
print(f"✅ Updated Prometheus targets in {PROMETHEUS_TARGETS_FILE}")
|
||||
|
||||
# Save error logs if any servers were skipped
|
||||
if error_servers:
|
||||
with open(ERROR_LOG_FILE, "w") as f:
|
||||
json.dump(error_servers, f, indent=4)
|
||||
print(f"⚠️ Some servers could not be added. Check {ERROR_LOG_FILE} for details.")
|
||||
else:
|
||||
print("✅ All servers were added successfully, no errors detected.")
|
||||
|
||||
|
||||
# 🔄 Run the script
|
||||
if __name__ == "__main__":
|
||||
generate_prometheus_sd_config()
|
||||
@@ -1,31 +1,31 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE9DCCA9ygAwIBAgISBDTvkeGcJN7cgStYhZRIi215MA0GCSqGSIb3DQEBCwUA
|
||||
MIIE9TCCA92gAwIBAgISAwzhqoLZ0fS63QkInFmDAX4pMA0GCSqGSIb3DQEBCwUA
|
||||
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
|
||||
EwNSMTEwHhcNMjQwNzAyMDUxMjAzWhcNMjQwOTMwMDUxMjAyWjAdMRswGQYDVQQD
|
||||
EwNSMTEwHhcNMjQxMjI4MjMyNDAxWhcNMjUwMzI4MjMyNDAwWjAdMRswGQYDVQQD
|
||||
ExJncmFmYW5hLnBoeC1lcnAuZGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
||||
AoIBAQDBdjepETkdm9xE+6NG4FvXAhEE16t0aBGkIBgs/DUUyMcx8f8b4TMDqEtl
|
||||
AMXtkRAC4pM/eeAMNq3yfeuLX9vG+E6Jra9vrcF6ThikARlnrEmNHD5qq7FfGiWM
|
||||
vAsRrxeOW22TFQu7AlUK3mxQodDQkvKRhwHflo/f6dL6Z7jPTgVteZb5U0cEWxba
|
||||
4kW/voO5aI/vm4kABoUdyzSy1cwza5fO0OQRLnAnV9wdtbx/47BLuacHSK4L8n30
|
||||
KLhqrnnftT9XQiT18L9L4N8laBPuIGD+9Xix74izRs6kJCc/fm21hFTA+NuT5URM
|
||||
UizyBp17yeX/vXH7d1v9TYL59UjdAgMBAAGjggIWMIICEjAOBgNVHQ8BAf8EBAMC
|
||||
UizyBp17yeX/vXH7d1v9TYL59UjdAgMBAAGjggIXMIICEzAOBgNVHQ8BAf8EBAMC
|
||||
BaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAw
|
||||
HQYDVR0OBBYEFLuJi7SLpiYjNoDoBnLeTIb1Hh50MB8GA1UdIwQYMBaAFMXPRqTq
|
||||
9MPAemyVxC2wXpIvJuO5MFcGCCsGAQUFBwEBBEswSTAiBggrBgEFBQcwAYYWaHR0
|
||||
cDovL3IxMS5vLmxlbmNyLm9yZzAjBggrBgEFBQcwAoYXaHR0cDovL3IxMS5pLmxl
|
||||
bmNyLm9yZy8wHQYDVR0RBBYwFIISZ3JhZmFuYS5waHgtZXJwLmRlMBMGA1UdIAQM
|
||||
MAowCAYGZ4EMAQIBMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHYASLDja9qmRzQP
|
||||
5WoC+p0w6xxSActW3SyB2bu/qznYhHMAAAGQchJbcAAABAMARzBFAiEAu0E/v48I
|
||||
rq3HBHWKTh6o80DulrsGxHWCosqePtHOx+YCIFUg7+MOTzGSq/DiAz6ISLgtalhw
|
||||
1bhvPtHN+/qB5zL9AHYAPxdLT9ciR1iUHWUchL4NEu2QN38fhWrrwb8ohez4ZG4A
|
||||
AAGQchJbZQAABAMARzBFAiASWbFzTz35eEulTzgKvehuAhbbAuIhXNuSKUDMtFom
|
||||
DAIhAKMQtJgBjln1nKe8Vc5r8vWor0c5IfBXhHxzoCvok8anMA0GCSqGSIb3DQEB
|
||||
CwUAA4IBAQAmtvQyWxnq8gh17CRYC9UenmC0mpoLo5UiGcmV5SR4mIVjnQRdp1fr
|
||||
mJFpcGVTpVDAd22aUIS1QcOejEICC5r0ykrB7Gj66D0nYXrm4CfX71XhHViba7kv
|
||||
ouB6j2C0cNIYd3NmrAZWWPH8osbR1AFpJWwWSX8KojKTZ3K8OY7/SkM+uZ2enVHE
|
||||
HRD0s2R0rHUvTYkmYX6yMAKD9uceN7MzdkzLdbIh+zKiUBVYK37L23jSGw75PI8U
|
||||
zN8/bE91XKb4/hH/YsCMO/1u68D2p6vmgmxZRj8H8hEBBhFpQaC2hCYRoWsbuNVu
|
||||
1POM3rYNrHkNLzoZBvOFL8WgJ6MtfRVy
|
||||
MAowCAYGZ4EMAQIBMIIBBQYKKwYBBAHWeQIEAgSB9gSB8wDxAHcAcyAiDwgWivnz
|
||||
xKaLCrJqmkoA7vV3hYoITQUA1KVCRFkAAAGUD8sF2gAABAMASDBGAiEAwvxEK9nh
|
||||
4wnf0vaUn4rWl35EznLoiOD+oWIaxyzsUv0CIQCFT1MF/AWr1/zJiBWZoV6Pce57
|
||||
T4d2MEGaGy35QU1FiwB2AKLjCuRF772tm3447Udnd1PXgluElNcrXhssxLlQpEfn
|
||||
AAABlA/LBdoAAAQDAEcwRQIgAy0GLb9048EDmhT4EzCEIWd+f5ze1SBY0IrUi/Nq
|
||||
ipkCIQDxX1DEkbBnxnO6U2YgSeKRU/BiUA24fWkdN5brf5KnKzANBgkqhkiG9w0B
|
||||
AQsFAAOCAQEAnH1I6R966b5Bl/Sbm1uQy2ayflXFdq+p9th9+WIy5Z1PMmW/oeVa
|
||||
TNpjO+M8UjGznf6tzd2Ur9YgAWYR1EeawmkDJqp5lQfNHWhEVLU4CTgWVfBrIagM
|
||||
mVs54WKmUAxkPYftEzBXV3rAvz8WLy4dDnEUGrr7ZwJNB8JTWOzB+akPKUkiOrPx
|
||||
p9vmvYc6Yxv9YtaMjcVvU61RBxQo6XobT1Zg6O1gPU9JmNBw9vgfVITCBv01oGCa
|
||||
uFBqjdkn2DZdOpZk2orrKKll6CFSVCrLcI55Ja1kRJLoMtbMfOmAEewWfGbcxnZv
|
||||
hI9isR7X8MJ9rsJhaqOQOQ84mnNteR4+ww==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
|
||||
@@ -1,31 +1,31 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
J/qMB51HMuz9I+wfrj8ZNtXbSuSqdMaFGIcUDg==
|
||||
A1UdIAQMMAowCAYGZ4EMAQIBMIIBAwYKKwYBBAHWeQIEAgSB9ASB8QDvAHUAouMK
|
||||
5EXvva2bfjjtR2d3U9eCW4SU1yteGyzEuVCkR+cAAAGUD8syPAAABAMARjBEAiAA
|
||||
9m1jW0X1axy3svqRR14c/f+rG3Aqs0hxtFICa0B1JwIgb9EXAXMbLdU8asLkiMUO
|
||||
FWCPNhsz4BSMmG4hj8a2hmgAdgDM+w9qhXEJZf6Vm1PO6bJ8IumFXA2XjbapflTA
|
||||
/kwNsAAAAZQPyzJLAAAEAwBHMEUCIQDnaNyvW38vlep1BaPrPp7pB3JHqZFSQvgN
|
||||
5PpA3F9ZiQIgS06COcu12H6HbgA79457y+3qdyxlhxXdDYLISYwL+swwDQYJKoZI
|
||||
hvcNAQELBQADggEBAHcxvLgLS8/wTj77T8jC1FLCd/7bUpuBkm7N/XJgi/er7wXv
|
||||
Y1IE4A1V2hbkcrJT9lH0YbbUYf/UqpNAy1WLD7xAFvuie4jVGtpAgibnaPqNu8x0
|
||||
V3jPiaUf75Ejb7+5bM39GOaIGheFpciHQ9bLVEG0HpUwV/8W+KYKo37Az8ABuwnJ
|
||||
Bodmbs73Xcpz2D3p+mSoMu35L3T/ifSsXz/ebzaRiXQRCWLJtOxfBpJbFJFMfyug
|
||||
mVnSdGsEsLN2WXmSFNxK2o1H61bAgQ5WtadpbGvXOSVrOCOObl4E5QaPQsckqsTj
|
||||
d/htP0HtBQoWc1kOtZ5Ng+wig5hoojVxTkGH7IA=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
-----BEGIN CERTIFICATE-----
|
||||
|
||||
@@ -1 +1,10 @@
|
||||
2024/07/23 03:45:01 [notice] 499#499: signal process started
|
||||
2025/01/30 03:45:01 [notice] 1650#1650: signal process started
|
||||
2025/01/30 11:01:20 [notice] 265#265: signal process started
|
||||
2025/01/30 11:35:11 [notice] 264#264: signal process started
|
||||
2025/01/30 12:33:22 [notice] 265#265: signal process started
|
||||
2025/01/30 12:34:04 [notice] 265#265: signal process started
|
||||
2025/01/30 12:37:19 [notice] 264#264: signal process started
|
||||
2025/01/30 12:37:41 [notice] 265#265: signal process started
|
||||
2025/01/30 12:49:57 [notice] 265#265: signal process started
|
||||
2025/01/30 12:53:15 [notice] 266#266: signal process started
|
||||
2025/01/30 12:56:58 [notice] 265#265: signal process started
|
||||
|
||||
Reference in New Issue
Block a user