Sign inSign up

imitatop/ssl-exporter_mongo

By imitatop

Updated about 1 year ago

Prometheus-compatible exporter: expiration dates of SSL certificates (HTTPS / FTPS)

Image
Monitoring & observability
0

1.8K

imitatop/ssl-exporter_mongo repository overview

🛡️ SSL Exporter

Prometheus-compatible exporter that scans domains for SSL Certificate Monitoring for WEB and FTP Services Monitors the expiration dates of SSL certificates and detects expired or soon-to-expire certificates for both websites (HTTPS) and FTP servers with TLS/SSL (FTPS).

  • for domain scrapping you are can use domains.json or mongo db
  • add custom port listnening (example.com:xxxx ftp://example.com:xxxx)

Grafana Dashboard

https://github.com/kiimiki/ssl-exporter.git
dashboard.json

SSL Exporter Dashboard

📦 Docker Image

Image: imitatop/ssl-exporter_mongo:latest
Exposes: :9115 (Prometheus metrics)


🚀 Usage

🔹 Docker Run (standalone)
docker run -d \
  --name ssl-exporter \
  -p 9115:9115 \
  -v $(pwd)/domains.json:/app/domains.json \
  imitatop/ssl-exporter_mongo:latest

🔹 Docker Service (Docker Swarm)
docker service create \
  --name ssl-exporter \
  --network proxy-net \
  --mount type=bind,source=/path/to/domains.json,target=/app/domains.json,readonly \
  -p 9115:9115 \
  imitatop/ssl-exporter_mongo:latest

🔹 Docker Compose (Swarm-compatible)
version: '3.9'

services:
  ssl-exporter:
    imitatop/ssl-exporter_mongo:latest
    deploy:
      mode: replicated
      replicas: 1
      restart_policy:
        condition: on-failure
    ports:
      - "9115:9115"
    networks:
      - monitoring
#    configs:
#      - source: domains
#        target: /app/domains.json
    secrets:
      - source: mongo_user
        target: mongo_user
      - source: mongo_password
        target: mongo_password
    environment:
      MONGO_HOST: db_mongo
      MONGO_DB: ssl
      MONGO_COLLECTION: domains
      MONGO_USER_FILE: /run/secrets/mongo_user
      MONGO_PASSWORD_FILE: /run/secrets/mongo_password
networks:
  monitoring:
    external: true

#configs:
#  domains:
#    external: true
secrets:
  mongo_user:
    external: true
  mongo_password:
    external: true

📈 Prometheus Configuration

scrape_configs:
  - job_name: 'ssl-exporter'
    static_configs:
      - targets: ['ssl-exporter:9115']

Tag summary

Content type

Image

Digest

sha256:6bafb5634

Size

9.9 MB

Last updated

about 1 year ago

docker pull imitatop/ssl-exporter_mongo