แ‹จแ‹แŒญ แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝแŠ• แ‹ˆแ‹ฐ แŠฉแ‰ แˆญแŠ”แ‰ตแˆต แŠญแˆ‹แˆตแ‰ฐแˆญ แˆ˜แŠจแ‰ณแ‰ฐแˆ แŠฅแŠ“ แˆ˜แŒแ‰ฃแ‰ต

แ‹จแ‹แŒญ แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝแŠ• แ‹ˆแ‹ฐ แŠฉแ‰ แˆญแŠ”แ‰ตแˆต แŠญแˆ‹แˆตแ‰ฐแˆญ แˆ˜แŠจแ‰ณแ‰ฐแˆ แŠฅแŠ“ แˆ˜แŒแ‰ฃแ‰ต

แˆ˜แˆแŠซแˆ แŠฅแ‹ตแˆ แˆˆแˆแˆ‰แˆแข

แŠจแˆถแˆตแ‰ฐแŠ› แ‹ˆแŒˆแŠ• แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝ แˆ˜แˆˆแŠชแ‹ซแ‹Žแ‰ฝแŠ• แˆตแˆˆแˆ˜แŒแ‰ฃแ‰ต แŠฅแŠ“ แˆตแˆˆ แˆ˜แˆฐแ‰ฅแˆฐแ‰ฅ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แˆ˜แˆ˜แˆชแ‹ซ แ‰ แ‰ แ‹ญแАแˆ˜แˆจแ‰ฅ แˆ‹แ‹ญ แŠ แˆ‹แŒˆแŠ˜แˆแˆ แŠฉแ‰ฃแŠ•แ‹ซแ‰ถแ‰ฝ. แˆ˜แแ‰ตแˆ„แ‹ฌแŠ• แŠฅแ‹จแˆˆแŒ แแŠฉ แАแ‹แข แ‹ญแˆ… แŒฝแˆ‘แ แ‰€แ‹ตแˆžแ‹แŠ‘ แˆฅแˆซ แŠฅแŠ•แ‹ณแˆˆแ‹Žแ‰ต แ‹ซแˆตแ‰ฃแˆ แ•แˆฎแˆšแ‰ตแ‹จแˆต แŠฅแŠ“ แˆŒแˆŽแ‰ฝ แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝ. แˆˆแ‹แŒซแ‹Š แˆแŠ”แ‰ณแ‹Š แŠ แŒˆแˆแŒแˆŽแ‰ต แŠฅแŠ•แ‹ฐ แ‹จแ‹แˆ‚แ‰ฅ แˆแŠ•แŒญ แˆแˆณแˆŒแฃ DBMS แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆ PostgreSQL แ‰ แŠฅแ‰ƒ แˆ˜แ‹ซแ‹ฃ แ‹แˆตแŒฅ Docker. แŠฉแ‰ฃแŠ•แ‹ซแ‹ แ‹จแŒฅแ‰…แˆ แŠ แˆตแ‰ฐแ‹ณแ‹ณแˆชแŠ• แ‹ญแŒ แ‰€แˆ›แˆ แˆ„แˆ, แ‰ แŒฝแˆ‘แ‰ แ‹แˆตแŒฅ แŠจแ‰ณแ‰ฝ แ‰ แŠฅแˆฑ แˆ‹แ‹ญ แˆแˆณแˆŒแ‹Žแ‰ฝ แ‹ญแŠ–แˆซแˆ‰. แˆˆแŒ แ‰…แˆ‹แˆ‹แ‹ แˆ˜แแ‰ตแˆ„แฃ แ‹จแˆซแˆณแ‰ฝแŠ•แŠ• แŒˆแ‰ แ‰ณ แŠฅแ‹ซแ‹˜แŒ‹แŒ€แŠ• แАแ‹แฃ แŠฅแˆฑแˆ แˆแˆ‰แŠ•แˆ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹จแˆšแ‹แˆ‰ แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝแŠ• แ‹จแŒŽแŒ† แŒˆแ‰ แ‰ณแ‹Žแ‰ฝแŠ• แ‹ซแŠซแ‰ตแ‰ณแˆแข

แˆ˜แŒแ‰ฃแ‰ต

แ‰ฅแ‹™ แŠฉแ‰ฃแŠ•แ‹ซแ‹Žแ‰ฝ แˆแ‹แŒแ‰ฅ แˆ›แˆตแ‰ณแ‹ˆแˆปแ‹Žแ‰ฝแŠ• แˆˆแˆ˜แˆฐแ‰ฅแˆฐแ‰ฅแฃ แˆˆแˆ›แ‹จแ‰ต แŠฅแŠ“ แˆˆแˆ›แˆ›แŠจแˆ แ‹จแ‰ดแŠญแŠ–แˆŽแŒ‚ แ‰แˆแˆ แ‹ญแŒ แ‰€แˆ›แˆ‰ Elasticsearch + Logstash + แŠชแ‰ฃแŠ“แฃ แŠคแˆแŠฌ แ‰ แˆšแˆ แˆแˆ…แŒปแˆจ แ‰ƒแˆแข แ‰ แŠฅแŠ› แˆแŠ”แ‰ณ, แ‹ญแ‹˜แ‰ฑแŠ• แŒ แ‰‹แˆš แˆ›แ‹ตแˆจแŒ แŠ แ‹ซแˆตแˆแˆแŒแˆ แŠฅแŠ“ แ‹จแ‰ แˆˆแŒ  แ‰€แˆ‹แˆ แŠญแ‰ฅแ‹ฐแ‰ตแŠ• แ‰ฐแŒ แ‰€แˆแŠฉ Loki. แŠฅแŠ•แ‹ฐ Helm แŒฅแ‰…แˆ แ‹ญแŒˆแŠ›แˆ แฃ แˆˆแˆตแˆญแ‹“แ‰ณแ‰ฝแŠ• แ‹จแˆšแˆตแˆ›แˆ›แ‹แŠ• แ‹จแˆ˜แŒแ‰ขแ‹ซ แŠฅแŠ“ pv แŠฅแˆดแ‰ถแ‰ฝแŠ• แ‰ แˆ˜แ‰€แ‹จแˆญ แŠฅแŠ•แ‹ฐ แŠ•แ‹‘แˆต แŒˆแ‰ แ‰ณ แŒจแˆแˆจแАแ‹‹แˆแข

แŠฅแˆดแ‰ถแ‰ฝ.yaml

ingress:
  enabled: true
  annotations:
     kubernetes.io/ingress.class: nginx
  hosts:
    - host: kube-loki.example.domain
      paths: 
        - /
  tls: []

....

persistence:
  type: pvc
  enabled: true
  accessModes:
    - ReadWriteOnce
  size: 100Gi
  finalizers:
    - kubernetes.io/pvc-protection
  existingClaim: "pv-loki"

แˆแ‹แŒแ‰ฅ แˆ›แˆตแ‰ณแ‹ˆแˆปแ‹Žแ‰ฝแŠ• แ‹ˆแ‹ฐ แˆแˆณแˆŒ แˆˆแˆ˜แˆ‹แŠญ Loki แ‰ฐแŒ แ‰€แˆ Loki Docker แ‹จแˆแ‹แŒแ‰ฅ แˆ›แˆตแ‰ณแ‹ˆแˆป แˆพแŒแˆญ.

แ‹ญแˆ…แŠ• แ‰ฐแŒจแˆ›แˆช แ‰ แˆแˆ‰แˆ แАแŒˆแˆญ แˆ‹แ‹ญ แˆ˜แŒซแŠ• แŠ แˆˆแ‰ฅแˆ… Docker แˆแ‹แŒแ‰ฅ แˆ›แˆตแ‰ณแ‹ˆแˆปแ‹Žแ‰ฝแŠ• แˆ˜แ‰€แ‰ แˆ แ‹จแˆšแˆแˆแŒ‰แ‰ แ‰ต แŠ แˆตแ‰ฐแŠ“แŒ‹แŒ†แ‰ฝ. แˆ˜แŠจแˆˆแ‹ซแ‹แŠ• แŠฅแŠ•แ‹ดแ‰ต แŠฅแŠ•แ‹ฐแˆšแŒ แ‰€แˆ™ แˆˆแ‹ดแˆžแŠ• แˆˆแˆ˜แŠ•แŒˆแˆญ แ‰ฅแ‹™ แˆ˜แŠ•แŒˆแ‹ถแ‰ฝ แŠ แˆ‰แข แ‰  yaml แ‹แˆตแŒฅ แˆพแŒแˆฉแŠ• แŠฅแˆ˜แˆญแŒฃแˆˆแˆ Docker Compose, แ‹จแ‰ตแŠ›แ‹ แŠ แŠซแˆ แАแ‹ แ‹จแˆšแŒ แˆซ แ‹จแˆ˜แŒซแ‹ˆแ‰ป แˆ˜แŒฝแˆแ.

postgres.yaml

    - name: Run containers
      docker_compose:
        project_name: main-postgres
        definition:
          version: '3.7'
          services:
            p:
              image: "{{ postgres_version }}"
              container_name: postgresql
              restart: always
              volumes:
                - "{{ postgres_dir }}/data:/var/lib/postgresql/data"
                - "{{ postgres_dir }}/postgres_init_scripts:/docker-entrypoint-initdb.d"
              environment:
                POSTGRES_PASSWORD: {{ postgres_pass }}
                POSTGRES_USER: {{ postgres_user }}
              ports:
                - "{{ postgres_ip }}:{{ postgres_port }}:5432"
              logging:
                driver: "loki"
                options:
                  loki-url: "{{ loki_url }}"
                  loki-batch-size: "{{ loki_batch_size }}"
                  loki-retries: "{{ loki_retries }}"
...

แ‹จแ‰ต loki_url: kube-loki.example.domain/loki/api/v1/push

แˆ˜แˆˆแŠชแ‹ซแ‹Žแ‰ฝ

แˆ˜แˆˆแŠชแ‹ซแ‹Žแ‰ฝ แ‹จแˆšแˆฐแ‰ แˆฐแ‰กแ‰ต แŠจ PostgreSQL แ‰ แˆ˜แŒ แ‰€แˆ แАแ‹แข postgres_ แˆ‹แŠช แˆˆ แ•แˆฎแˆšแ‰ตแ‹จแˆต. แŠจแˆ‹แ‹ญ แ‹ซแˆˆแ‹ แ‹แ‹ญแˆ แˆ˜แ‰€แŒ แˆ แ‹จแˆšแŒ แˆซ แ‹จแˆ˜แŒซแ‹ˆแ‰ป แˆ˜แŒฝแˆแ.

postgres.yaml

...
            pexp:
              image: "wrouesnel/postgres_exporter"
              container_name: pexporter
              restart: unless-stopped
              environment:
                DATA_SOURCE_NAME: "postgresql://{{ postgres_user }}:{{ postgres_pass }}@p:5432/postgres?sslmode=disable"
              ports:
                - "{{ postgres_ip }}:{{ postgres_exporter_port }}:9187"
              logging:
                driver: "json-file"
                options:
                  max-size: "5m"
...

แˆˆแ‰ แˆˆแŒ  แŒแˆแŒฝแАแ‰ตแฃ Endpoints แ‰ แˆ˜แŒ แ‰€แˆ แ‹จแ‹แŒช แ‹จแˆ˜แŠ•แŒแˆตแ‰ต แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝแŠ• แˆตแˆ แŠฅแŠ•แŒฝแ‹แˆˆแŠ•แข

postgres-แŠ แŒˆแˆแŒแˆŽแ‰ต.yaml

apiVersion: v1
kind: Endpoints
metadata:
  name: postgres-exporter
subsets:
  - addresses:
      - ip: {{ .Values.service.postgres.ip }}
    ports:
      - port: {{ .Values.service.postgres.port }}
        protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: postgres-exporter
  labels:
    chart:  "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
  ports:
    - protocol: TCP
      port: {{ .Values.service.postgres.port }}
      targetPort: {{ .Values.service.postgres.port }}

แ‹จแ–แˆตแ‰ตแŒแˆฌแˆต_แˆ‹แŠช แˆ˜แˆจแŒƒแŠ• แˆˆแˆ˜แ‰€แ‰ แˆ แ•แˆฎแˆœแ‰ดแ‹จแˆตแŠ• แˆ›แ‹‹แ‰€แˆญ แ‹จแˆšแŠจแŠ“แ‹ˆแАแ‹ แ‰ แŠ•แ‹‘แˆต แ‰ปแˆญแ‰ต แ‹แˆตแŒฅ แŠฅแˆดแ‰ถแ‰ฝแŠ• แ‰ แˆ›แˆญแ‰ตแ‹• แАแ‹แข

แŠฅแˆดแ‰ถแ‰ฝ.yaml

scrape_configs:
...
  - job_name: postgres-exporter
    static_configs:
      - targets: 
         - postgres-exporter.applicationnamespace.svc.cluster.local:9187
        labels:
          alias: postgres
...

แ‹จแ‰ฐแ‰€แ‰ แˆˆแ‹แŠ• แ‹แˆ‚แ‰ฅ แˆˆแˆ›แ‹จแ‰ตแฃ แ‰ฐแŒˆแ‰ขแ‹แŠ• แ‹ณแˆฝแ‰ฆแˆญแ‹ต แ‹ญแŒซแŠ‘
แŒแˆซแ‹แŠ“ แŠฅแŠ“ แ‹จแ‹แˆ‚แ‰ฅ แˆแŠ•แŒฎแ‰ฝแŠ• แ‹ซแ‹‹แ‰…แˆฉ. แ‹ญแˆ… แ‰ แŒแˆซแ‹แŠ“ แŠ•แ‹‘แˆต แ‰ปแˆญแ‰ต แ‹แˆตแŒฅ แ‰ฃแˆ‰ แŠฅแˆดแ‰ถแ‰ฝ แ‰ แŠฉแˆแˆ แˆŠแŠจแŠ“แ‹ˆแŠ• แ‹ญแ‰ฝแˆ‹แˆแข

แˆแŠ• แ‹ญแˆ˜แˆตแˆ‹แˆ
แ‹จแ‹แŒญ แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝแŠ• แ‹ˆแ‹ฐ แŠฉแ‰ แˆญแŠ”แ‰ตแˆต แŠญแˆ‹แˆตแ‰ฐแˆญ แˆ˜แŠจแ‰ณแ‰ฐแˆ แŠฅแŠ“ แˆ˜แŒแ‰ฃแ‰ต

แ‹ญแˆ… แŠ แŒญแˆญ แˆ˜แŒฃแŒฅแ แŠจแ‹šแˆ… แˆ˜แแ‰ตแˆ„ แ‰ แˆตแ‰ฐแŒ€แˆญแ‰ฃ แ‹ซแˆ‰แ‰ตแŠ• แ‹‹แŠ“ แˆ€แˆณแ‰ฆแ‰ฝ แŠฅแŠ•แ‹ฒแˆจแ‹ฑ แŠฅแŠ“ แˆˆแˆŽแŠช / แ•แˆฎแˆœแ‰ฒแ‹จแˆต แ‹จแ‹แŒญ แŠ แŒˆแˆแŒแˆŽแ‰ถแ‰ฝแŠ• แ‰ แŠฉแ‰ แˆญแŠ”แ‰ตแˆต แŠญแˆ‹แˆตแ‰ฐแˆญ แ‹แˆตแŒฅ แˆฒแ‹ซแ‹ฐแˆญแŒ‰ แŠฅแŠ“ แˆฒแˆ˜แ‹˜แŒˆแ‰ก แŒŠแ‹œแ‹ŽแŠ• แŠฅแŠ•แ‹ฒแ‰†แŒฅแ‰ก แŠฅแŠ•แ‹ฐแˆจแ‹ณแ‹Žแ‰ต แ‰ฐแˆตแ‹ แŠ แ‹ฐแˆญแŒ‹แˆˆแˆ แข

แˆแŠ•แŒญ: hab.com

แ‰ DDoS แŒฅแ‰ แ‰ƒแฃ VPS VDS แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แˆˆแŒฃแ‰ขแ‹ซแ‹Žแ‰ฝ แŠ แˆตแ‰ฐแˆ›แˆ›แŠ แˆ›แˆตแ‰ฐแŠ“แŒˆแŒƒ แ‹ญแŒแ‹™ ๐Ÿ”ฅ แŠ แˆตแ‰ฐแˆ›แˆ›แŠ แ‹จแ‹ตแˆญ แŒฃแ‰ขแ‹ซ แˆ›แˆตแ‰ฐแŠ“แŒˆแŒƒ แ‰ แ‹ฒแ‹ถแŠคแˆต แŒฅแ‰ แ‰ƒแฃ แ‰ แ‰ชแ’แŠคแˆต แ‰ชแ‹ฒแŠคแˆต แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แ‹ญแŒแ‹™ | ProHoster