GH GambleHub

צינורות רישום: ELK ולוקי

1) מדוע ומתי: מטרות כריתת עצים

תאוצת דבאג, לאחר המוות, בקרת SLO/SLA.
אבטחה וביקורת: עקבות של גישה, חריגות, חקירות.
מדדים עסקיים: המרה, זרימת תשלום, שגיאות PSP, התנהגות משתמש.
ציות: אחסון, מיסוך מח "ש, מדיניות שימור, אחיזה משפטית.

סוגים של יומנים: יישום, תשתית (kubelet, kube-proxy, CNI, indress), רשת, ביקורת, תשלום, אירועי אינטרנט, Nginx/Envoy, מסד נתונים.

2) ארכיטקטורה ברמה גבוהה

אפשרות א ': ELK

יצרנים # Logshipper (Filebeat/Fluent Bit/Vector) # Logstash/Beats קלט # Elasticsearch = קיבנה/Astebana

אפשרות ב ': לוקי

יצרנים # Trafftail/Fluent Bit # מפיץ לוקי/egester/querier # Grafana/Assettles

היברידי

ELK לחיפוש טקסט/פקט מלא, לוקי לאחסון סקלרי בעלות נמוכה, ושאילתות מהר כמו גרף; מתאם עם מדדים/עקבות בגרפנה.

3) זרימת מידע ורמות עיבוד

1. אוסף: קבצי זנב bette, יומן, syslog, מכולות stadout, HTTP.
2. העשרה: נורמליזציה של חותמת זמן, מארח/תרמיל/שם, env (פרוד/שלב), שחרור, ביצוע SHA, עקבות/מרחב זיהוי.
3. Pressing: JSON # שדות שטוחים; גרוק/רגקס; תבניות נגינקס/שליח; תוכניות תשלום (קוד שגיאות PSP).
4. סינון/עריכה: חיתוך PII (PAN, CVV, דואר אלקטרוני, כתובות), סודות, אסימונים.
5. ניתוב: על ידי דייר/שירות/רמת לוג; חם/חם/קר; לאחסון S3/object.
6. אחסון ושמירה: מדיניות TTL לפי שיעור נתונים.
7. גישה/אנליטיקה/התראות.

4) ELK: פתרונות מפתח

4. 1 לוגסטאש/פעימות

השתמש ב-Beats/Fluent Bit בצמתים לקוטב קל, Logstash כ-ETL מרכזי (גרוק, לנתח, לעבור מוטציה, geoip, לתרגם).
בריכות לוגסטאש: בלע-ETL, אבטחה-ETL, תשלומים-ETL - לבודד עומסים.

4. 2 Elasticsearch

מוקד על ~ 20-50 GB לחתיכה; להימנע מפיצוץ ”שבר”.
אסטרטגיה אינדקס: 'logs- <דייר> - <שירות> - YYYY. מ. מ. ד 'או זרמי נתונים; רולובר על ידי גודל/זמן.

ILM (חם/חם/קר/קפוא):
  • אס-אס-די, 1-7 ימים; חם: HDD, 7-30 ימים; קר: נפח; מינימום עלות עם גישה איטית יותר.
  • מפיות - שדות קשיחים, להגביל את שדה התעופה וליצור שדות דינמיים.
  • מטמון ושאלות: מסננים על ידי שדות מילות מפתח, אגרגטים - בצורה מסודרת; פין-טו-טו לחיפוש בתדר גבוה.

4. 3 קיבאנה

חללים לריבוי דירות.
חיפושים שמורים, עדשה/TSVB, מדדי סף/התראה.
RBAC על ידי תבניות אינדקס ('logs-tenant').

5) לוקי: החלטות מפתח

5. מודל תווית 1

תוויות הן אינדקס "של לוקי. "השתמש בקרדינליות נמוכה:" אשכול "," שם "," אפליקציה "," רמה "," env "," דייר ".
שדות עם קרדינליות גבוהה (uid, request_id) - ברצף; לאחזר '| =', '| json', '| regexp' כאשר נבדק דרך LogQL.

5. 2 רכיבים

שליח: stadout, קבצים, journald; פרזרים (JSON, רגקס, cri).
מפיץ/אינגסטר/Querier/Query-frontend: מדד לפי תפקיד; מבקש מזומנים.
אחסון אובייקטים (S3/GCS/MinIO) עבור אחסון ארוך טווח של רישומי נתחים.

5. 3 טכניקות LogQL

fast grep: ”[אפליקציה =” תשלומים, ”level =” שגיאה ”| =” נדחה ””

הקוד ג' סון =” 5xx” פרק זמן פתיחת העטיפה (” avg”)

קורלציה עם מדדים: 'rate (' אפליקציה = "nginx" | = "200" [ 5m ]) "

6) ELK נגד לוקי השוואה (בקיצור)

חיפוש/צבירה: ELK חזק יותר עבור טקסט מלא מורכב ושאילתות עם פנים; לוקי, כמו גרפ, מהיר וזול.
עלות: לרוב לוקי זול יותר בכרכים גדולים יותר (אחסון אובייקטים + אינדקס קטן יותר).
מורכבות תפעולית: ELK דורש משמעת במדדים/ILM, Javu-Hips; לוקי - תווית דיסציפלינות.
מתאם עם מטריצות/עקבות: לוקי משתלב באופן טבעי עם ערימת Grafana/Otel; ELK גם יודע איך, אבל לעתים קרובות יותר באמצעות אינטגרציה.

7) בטיחות וציות

מהדורת PII בקצה (שולח): מסכה פאן, דואר אלקטרוני, טלפון, כתובות, אסימונים.
TLS במעבר, MTLS בין סוכנים ואוטובוסים.
RBAC: אינדקסים/תוויות לכל דייר; בידוד של מרחבים/מרחבים נימיים.
סודות היגיינה: משתני סביבה ללא סודות, מנהלים סודיים.
אחיזה חוקית: מנגנון הקפאת מקטע/אינדקס; לכתוב פעם אחת לתקופות שנויות במחלוקת.
מחיקה/שימור: מדיניות TTL על ידי מחלקת נתונים (prod/statually/propriduction/audit).
רישום שבילי ביקורת גישה.

8) אמינות ותפקוד

חציצה ותרמיל גב: קבצים/דיסקים מקומיים עבור סוכנים; נסיגות עם גיבוי מעריכי.
idempotency: ”inbleged _ id'/” log _ id' fields כדי למנוע שכפולים במהלך שכפולים.
HA: מינימום 3 צמתים עבור Loki ES Masters/Ingesters; זיקה אנטיביוטית היא AZ.
מכסות וגבולות קצב על ידי דייר/שירות; הגנה מפני כריתת עצים ”סופות”.
סכימת רמת רישום: ”שגיאה” מוגבלת, ”DEBUG” רק באופן זמני באמצעות דגלים דינמיים.

9) ביצועים וכיוונון

ELK:
  • JVM hap 50% RAM (אבל delate ~ 30-32 GB per node), מטמון דף חשוב.
  • גלגול חכם (20-50 GB/shard), רענון _ interval עבור אינדקסים בולטים.
  • בלוגסטאש, הימנע מגרגר ”כבד”; אם אפשר, ג 'סון נכנס למקור.
לוקי:
  • התווית הנכונה היא המפתח למהירות.
  • נתחים גדולים = אחסון זול יותר, אבל זיכרון יקר יותר באינגסטר; איזון.
  • שאילתה-פרונטנד + מטמון (Meme/Redis) לבקשות חוזרות ונשנות.

10) FinOps עבור יומנים (עלות)

הפחתת הקרדינליות של שדות/תוויות.
דגימת DEBUG ו ”מתגי יומן דינמיים”.
סיבוב: קצר חם, ארוך קר להתנגד.
שכפול והודעות מאוחדות (אצווה).
ארכיון כמעט ולא השתמש ביומנים לשיעורי אחסון זולים.
לוח מחוונים ערך: נפח/זרמי נתונים/תוויות/אינדקסים/דיירים.

11) יכולת תצפית 3-in-1

Trace-ID/Span-ID לכל יומן (תוכנה בינונית על שערי API ושירותים).
OpenTelemetry: הקשר יחיד; יצואנים לטמפו/יגר, מדדים לפרומתאוס/מימיר, יומנים ללוקי/ELK.
תרחישים מהירים: "התראה באמצעות מטרי" קפיצה אל תוך היומנים המתאימים "." קפיצה אל המסלול ".

12) עמידות ובידוד

בידוד מבוסס שם (תוויות K8s), תבניות אינדקס נפרדות/תוויות 'דייר'.
הפרדת התראות/לוחות מחוונים/מפגר על ידי דייר.
חיוב צריכה: נפח בלע, אחסון, בקשות.

13) ניטור ו ־ SLO עבור המסוע עצמו

SLO לבלוע: "99. 9% יומנים נמסרו

חיפוש SLO: ”שאילתות p95 <Y second”.
מדדים טכניים: עומק תור, יומנים שהושמטו, קצב עיבוד חוזר, שיעור שגיאות פרסר, כשל בלע/ES.

14) תוכניות פריסה טיפוסיות

מנוהל: Elasticsearch Service/Opensearch, Grafana Cloud Loki.
המארח את עצמו: StatfestSets for ES/Loki, אנטי-זיקה עבור AZ, Pers Volums, אחסון אובייקטים.
סוכני קצה (יישומים באזורים): ערוץ חוצץ מקומי + TLS לבלע המרכזי.

15) דוגמאות הגדרות

15. 1 פרומטייל (K8s, CRI JSON)

yaml scrape_configs:
- job_name: kubernetes-pods kubernetes_sd_configs:
- role: pod pipeline_stages:
- cri: {}
- json:
expressions:
level: level msg: message trace: trace_id
- labels:
level:
app:
namespace:
- match:
selector: '{namespace="prod"}'
stages:
- regex:
expression: '(?P<pan>\b[0-9]{12,19}\b)'
- replace:
expression: '(?P<pan>\b[0-9]{12,19}\b)'
replace: '[REDACTED_PAN]'
relabel_configs:
- action: replace source_labels: [__meta_kubernetes_pod_label_app]
target_label: app
- action: replace source_labels: [__meta_kubernetes_namespace]
target_label: namespace
- action: replace source_labels: [__meta_kubernetes_pod_node_name]
target_label: node

15. 2 לוגסטאש (בלע ומסווה)

ruby input {
beats { port => 5044 }
}
filter {
json { source => "message" skip_on_invalid_json => true }
mutate { add_field => { "env" => "%{[kubernetes][labels][env]}" } }
PII mutate {
gsub => [
"message", "\b[0-9]{12,19}\b", "[REDACTED_PAN]",
"message", "(?i)(authorization: Bearer)([A-Za-z0-9\.\-_]+)", "\1[REDACTED_TOKEN]"
]
}
}
output {
elasticsearch {
hosts => ["https://es-hot-1:9200","https://es-hot-2:9200"]
index => "logs-%{[fields][tenant]}-%{[app]}-%{+YYYY. MM. dd}"
ilm_enabled => true ssl => true cacert => "/etc/ssl/certs/ca. crt"
user => "${ES_USER}"
password => "${ES_PASS}"
}
}

16) התראות ולוחות מחוונים (תבניות)

rate (”api”, רמה = ”שגיאה”) [ 5 מטר ]> סף ”Pagre Duty/Telegram”.
5xx ספלאש בנגינקס/שליח; טיפה לבלוע סוכנים; צמיחת החיפוש החבוי.

לוחות מחוונים:
  • נפח יומנים על ידי שירותים/דיירים.
  • תבניות שגיאה עליונה (קוד/חריג/נקודת סוף).
  • עלות על ידי שימור/אחסון כיתות.

17) בדיקות איכות (רישום QA)

חוזי רישום: פורמט JSON, שדות דרושים (”ts',” level ”,” service ”,” env ”,” trace _ id', ”msg”).
רישומי לינטר במצ "ח: לאסור שדות חדשים עם קרדיליות גבוהה ללא הסכם.
שירותי הכנרת: דור של יומני התייחסות לגילוי מוקדם של נסיגות.

18) שגיאות תכופות ותבניות אנטי

Loki תוויות עם קרדינליות גבוהה (”user _ id',” request _ id') = פיצוץ של זיכרון.
שדות דינמיים ב-ES ללא מיפוי ”פיצוץ אינדקס”.
DeBUG במכירה "לנצח. "תדליק בדגלים ועם טי-טי-אל.
היעדר תיקוני מח "ש.
צינור ”מונוליטי” נפוץ לכל דבר - מקטעים טובים יותר בתחום.

19) תוכנית יישום (איטרציות)

1. MVP: סוכנים + 1 צינור (יישומים), לוחות מחוונים בסיסיים, מהדורת PII.
2. הרחבה: רשת/רישומי מידע, התראות SLO, קורלציה עם מסלולים.
3. FinOps: שימור מטריצות, דו "ח עלות, אופטימיזציה של תווית/אינדקס.
4. מרובה דיירים: רווחים, RBAC, חיוב צריכה.
5. אמינות: הא, תרגילי אסונות, אחיזה משפטית.

20) רשימת השיגור לייצור

[ ] בפורמט JSON ונדרשו תחומים בכל השירותים.
[ ] מח "ש מסווה על סוכן בלע.
[ ] שימור/ILM או מדיניות חיים-דלי.
[ ] RBAC/רווחים/דיירים.
[ ] SLO בלע/חיפוש והתראות.
[ ] יומני הקנריים ועומס ריצת מבחן.
[ ] ערך לוחות מחוונים ודיווח על בעלי שירות.
[ ] Runbooks: ”מה לעשות אם בלע ירד/לחפש איטי/שברי אדום”.

21) מיני ־ FAQ

במה לבחור, אייל או לוקי?

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

Telegram
@Gamble_GC
התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.