Metrikák, monitorok, riasztások
Tartalom:
- Összefoglaló
- Részletek
- Kapcsolódó
- Megjegyzések
- Szabad szöveges üzenetek és strukturált eseményüzenetek
- A Graylog könnyebb
- A Prometheus némi hangolást igényel
- Az AWS-szolgáltatások vegyes élményt nyújtanak
- Kafka
- Loki
- Prometheus + alertmanager + Rollbar + Graylog + Grafana
- Thanos
- Prometheus HA
- Datadog + PagerDuty + Threat Stack
- Zabbix
- Outlyer
- Nagios + Nagiosgraph
- Prometheus + Grafana + AlertManager
- DataDog + Sentry + PagerDuty.
- Sensu + Graphite + ELK
- Prometheus + Alertmanager
- Sensu + Grafana + Graylog + Kibana + NewRelic.
- Prometheus + Circonus
- icinga2 + VictorOps + NewRelic + Sentry + Slack
- AppDynamics + Papertrail + PagerDuty + Healthchecks.io + Stackdriver
- icinga2 + elasticsearch
- DataDog + New Relic + ELK + EFK + Sentry + Alertmanager + VictorOps
- Wavefront + Scalyr + PagerDuty + Stackstorm + Slack
- Telegraf + Prometheus + InfluxDB + Grafana
- Sematext + Logagent + Experience
- Azure Monitor/Analytics + OpsGenie
- Prometheus + Alertmanager + Grafana + Splunk + PagerDuty
- Telegraf + Prometheus + Grafana + Alertmanager
- Prometheus + Grafana + Cloudwatch + sentry + kibana + elasticsearch
- PagerDuty + Monitis
- Prometheus + Grafana + Bosun
- Azure Monitor/Analytics/Insights/Dashboards
- Grafana + Monitis + OpsGenie + Slack
- Checkly + AppOptics + Cloudwatch + Heroku + Pagerduty + Papertrail
- Instana + Logz.io + slack
- SignalFX + Splunk + PagerDuty + Slack
- ELK + Prometheus + Grafana
- Datadog + Prometheus + Grafana
- Nagios + ELK
- Datadog vs. Site24x7 + StatusCake + PagerDuty + SumoLogic + Slack
- Prometheus + AlertManager + Grafana + Stackdriver
- Zabbix
Összefoglaló
Probléma
Metrikákat, monitorokat és riasztásokat szeretnénk használni, mert tudni akarjuk, mennyire jól működnek az alkalmazásaink, és mikor van probléma.
Döntés
Folyamatban (WIP).
Állapot
Információgyűjtés. A lehetséges szélsőségekkel kezdünk: a leginkább ajánlott régebbi ingyenes eszközzel (Nagios) és a leginkább ajánlott újabb fizetős eszközzel (New Relic).
Részletek
Feltevések
Modern, gyors, megbízható, reszponzív stb. webalkalmazásokat szeretnénk létrehozni.
Vásárolni szeretnénk építés helyett.
Megszorítások
Olyan eszközöket szeretnénk, amelyek jól működnek a devops-folyamatunkkal és a telepítési felhőinkkel.
Álláspontok
Jelenleg kutatjuk az álláspontokat.
AlertManager
AppDynamics
AppOptics
Azure Monitor/Analytics/Insights/Dashboards
Bosun
Checkly
Circonus
Cloudwatch
EFK
ELK
Grafana
Grafana
Graphite
Graylog
Healthchecks.io
Heroku
icinga2
InfluxDB
Instana
Kafka
Logagent
Logz.io
Loki
Monitis
Nagios
Nagios
Nagiosgraph
NewRelic
OpsGenie
Outlyer
PagerDuty
Pagerduty
PagerDuty
Papertrail
Prometheus
Rollbar
Scalyr
Sematext Metrics, Logs, Experience, Tracing
Sensu
SignalFX
Slack
Splunk
Stackdriver
Stackstorm
Telegraf
Telegraf
Thanos
VictorOps
Wavefront
Zabbix
Érv
Eddig a Nagios és a New Relic a spektrum két vége. A Nagios a legrégebbi, legegyszerűbb, ingyenes, járható eszköz. A New Relic a legújabb funkciójú, legteljesebb, fizetős, járható eszköz. Ezek értékelésével kezdünk. Szükség szerint mozdulunk majd a spektrum belseje felé.
Eddig a Zabbixnak vannak a legjobb ajánlásai, és a legteljesebb képességeket is kínálja.
Eddig az ELK-nak van a legjobb népszerűsége a nyílt forráskódú, építés-vásárlás helyett megoldások között.
Eddig a Prometheus + Grafana népszerűsége a legjobb.
Következmények
TODO.
Kapcsolódó
Kapcsolódó döntések
A választások befolyásolják a tesztelhetőséget, a telemetriát és valószínűleg más rendszereket, például az ügyfélszolgálatét, a webhelymegbízhatósági mérnökségét (SRE) stb.
Kapcsolódó követelmények
TODO.
Kapcsolódó artefaktumok
TODO.
Kapcsolódó alapelvek
Könnyen visszafordítható.
A sebesség szükségessége.
Megjegyzések
Egy elég jó nyílt forráskódú stack:
Prometheus metrikákhoz és metrikákon alapuló riasztáshoz
Grafana a metrikák megjelenítéséhez
Elasticsearch/Logstash/Kibana (ELK) naplókhoz és strukturált eseményekhez
Pushover mobilértesítésekhez
Szabad szöveges üzenetek és strukturált eseményüzenetek
Szabad szöveges üzenetek: például az a fajta véletlenszerű dolog, amit a /var/log/messages-ben talál, és amit az alkalmazás szándékosan állít elő. Az üzenetek hasznosak a gépen zajló más dolgok azonosítására, mint a memóriahiány vagy hardverhibák, de sok szemét van bennük.
Strukturált eseményüzenetek: az alkalmazás állítja elő, rögzített vagy dinamikus attribútumkészlettel, pl. HTTP-kérésnapló, könyvelési napló, felhasználói bejelentkezés.
Általában jó az egyes kérések részleteit úgy naplózni, hogy attribútumok alapján le lehessen fúrni. Így például egy userid vagy sessionid hozzáadása mindenhez lehetővé teszi a nyomkövetést. A kifejezett nyomkövetés (tracing) természetesen szintén jó. Az ELK használata erre afféle szegény ember https://www.honeycomb.io/ megoldása
A Graylog könnyebb
A Graylog tapasztalatom szerint könnyebben üzembe helyezhető.
A Prometheus némi hangolást igényel
Általában elégedett vagyok a Prometheusszal a metrikákhoz. A riasztás némi hangolást igényel, de elég jó. Az alkalmazástól függ. Úgy gondolom, a legjobb a végfelhasználó számára látható állapotokra riasztani, nem a mögöttes okokra. Például az oldalbetöltési idő jó, a másodpercenkénti kérések száma nem. Bár a nulla kérés másodpercenként azt jelzi, hogy valami nincs rendben.
A szolgáltatás előnye, hogy extra intelligenciát kínál dobozból kivéve. Általában kedvelem a Datadogot. A szolgáltatások ijesztően drágák lehetnek, ha sok adatod van, és néha olyan árazási modelljeik vannak, amelyek nem felhőbarátok, pl. példányonkénti díjazás, amikor a példányok dinamikusak. Különbség van aközött is, hogy a szolgáltatásokban minden kérés fizető felhasználótól jön, vagy hirdetéshez kapcsolódnak, így a kéréseknek csak egy kis százaléka hoz pénzt. Sok adatod lehet és nem túl nagy költségvetésed.
Olyan szolgáltatásokon dolgozom, amelyek naponta 1 milliárd kérést kapnak, ezért van értelme a saját monitorozás és naplózás üzemeltetésének. Ha a mennyiségeid kisebbek, a hosztolt szolgáltatások könnyebbek.
Az AWS-szolgáltatások vegyes élményt nyújtanak
Az AWS-szolgáltatásokkal kapcsolatos tapasztalataim vegyesek. Az Elasticsearch-szolgáltatásuk megbízhatatlan volt, ezért saját példányokat futtatunk. A CloudWatch-metrikák drágák, ezért általában csak „infrastruktúra” szintű metrikákhoz használjuk őket, nem az alkalmazáséhoz, azaz egészséggel kapcsolatos metrikákhoz, ahol az AWS jobban tudhatja, mi történik, mint a példányon futó szoftver. A CloudWatch Logs lassan frissülhet, és nincs sok metaadata. Az ELK futtatása segít ebben. Ha tényleg valós idejű adatot akarok, a Kafka naplószállítóként jobb. Ezt a Logstash elég jól támogatja. Egy Kafka-fürt kezelése azonban nem gyenge idegzetűeknek való, sok szabadon lévő csővezeték van.
Kafka
Megjegyzés: A Kafka időnként szuperfurcsa lehet, vagy lehet sziklaszilárd, és szinte elfelejted, hogy ott van, és mindent összeköt.
Megjegyzés: A Kafka szilárd volt, de meglepően sok munka volt beüzemelni. Úgy gondolok rá, mint egy relációs adatbázisra, de ahol csak a „fizikai” rétegen dolgozol, pl. táblaterek, fájlok és partíciók. Voltak korai időszakok, amikor hiányoztak a kezelőeszközök, és programokat kellett írnunk pl. egy fogyasztói csoport visszaállítására. http://howfuckedismydatabase.com/nosql/
Megjegyzés: A Kafkát „pufferként” használjuk naplóüzenetekhez, és helyként, ahol valós idejű adatfolyam-feldolgozást végezhetünk több kiszolgálóról érkező adatokon. Ha DDOS-támadást kapunk, szükségünk van egy módra az adatok elemzésére több példányon keresztül. Ha közvetlenül a kiszolgálókról naplózunk az ELK-ba, a terhelés felrobbanthatja az Elasticsearch-fürtöt.
Megjegyzés: A Kafka azért jó nekünk, mert ha DDOS-támadást kapunk, szükségünk van egy módra az adatok elemzésére több példányon keresztül. Ha közvetlenül a kiszolgálókról naplózunk az ELK-ba, a terhelés felrobbanthatja az Elasticsearch-fürtöt.
Megjegyzés: A Kafka kevesebb munkát végez és hatékonyabb, így jobban elbírja a terhelést. És a Kafka munkáját sorba állítjuk és újrapróbáljuk. És az, hogy a Kafka túlterhelt, nem érinti azokat a felhasználókat, akik interaktívan próbálnak dolgozni a Kibanával, ahogy tenné, ha az Elasticsearch küszködne.
Megjegyzés: Az adatfolyam-feldolgozás többnyire visszaélések keresése, pl. túl sok forgalom egyetlen IP-ről az egész fürtben, majd a tiltás megosztása az egész fürtben.
Megjegyzés: A logstash-output-kafka bővítmény jelenleg elég megbízhatatlan. Megharaptak a GitHub issues oldalán lévő számos problémája, amelyeket úgy tűnik, soha nem javítanak. El akarok állni a használatától, és közvetlenül az alkalmazásainkból küldeni a Kafkának.
Megjegyzés: Most strukturált eseményeket küldünk közvetlenül az alkalmazásból a Kafkának. A fő motiváció az volt, hogy kevesebbszer érjünk hozzá a naplóadatokhoz, és elkerüljük a lemez többszöri olvasását és írását. Nagy forgalmú rendszerekben a naplózás több munkát igényelhet, mint maga az alkalmazás. Azon gondolkodom, hogy a journald is közvetlenül küldje a naplókat, egy C programból.
Loki
Tartsd szemmel a Lokit. Még nem kész, de ha az lesz, azt várom, hogy jobban illeszkedik ebbe a stackbe. A Loki a Grafana Labs által létrehozott naplóaggregátor, a Prometheushoz hasonló gyűjtési és címkeszintaxist használ.
Prometheus + alertmanager + Rollbar + Graylog + Grafana
Prometheus + alertmanager metrikákhoz. <3 Prometheus.
Rollbar/Graylog naplózáshoz/hibajelentéshez (van itt némi átfedés; egy kis szolgáltatásnak valószínűleg nincs szüksége mindkettőre).
Jelenleg a riasztások csak néhány Slack-csatorna egyikére mennek, amelyeken az érdekelt felek bekapcsolták az értesítéseket. Ha komolyabban vennénk az ügyeletet (on-call), a PagerDuty/VictorOps stb. felé mennének.
Grafana grafikonokhoz és irányítópultokhoz. Lelkesen várom azt is, hogy a közelgő naplózási lehetőségeik feleslegessé teszik-e a Graylogot.
Thanos
A Thanost használjuk előtérként a HA-beállításunkhoz. Tudja deduplikálni a HA-párokat.
Jelenleg 6 hónapnyi helyi Prometheus-adatot tartunk. Ez elég jól működik nekünk. De épp a Thanos-beállításunkba építem a bucket-tárolást a hosszú távú adattároláshoz. Elméletileg a GCS-tárolás körülbelül 30%-kal olcsóbb lesz, mint a GCE standard tartós lemez, amelyet most használunk.
Jelenleg nem készítünk biztonsági másolatot a Prometheus-adatokról. Az adatok egyszerűen nem igazán fontosak számunkra a riasztáshoz szükséges mennyiségen túl. Az általános flottatelepítésünk annyit változik évről évre, hogy a néhány hónapnál régebbi múltbeli adatok nem igazán érdekesek. Érdekes lehet néhány alapstatisztika évről évre; felállíthatok egy alapstatisztikai rögzítési szabályrendszert, és tárolhatom Federationnel, vagy egyszerűen hagyom, hogy a Thanos gondoskodjon róla.
EDIT: Kisebb nyilatkozat: a Prometheus fejlesztője vagyok.
Prometheus HA
A HA a Prometheusban másolással történik — több gyűjtőpéldányt futtatsz, és vannak módok többet lekérdezni és deduplikálni az adatokat
A skálázás a hálózat felosztásával történik, és különböző Prometheusok kérdezik le a hálózat különböző részeit
A hosszú távú tárolás nem a Prometheus erőssége, hanem olyasmire hárul, mint az Influx vagy a timescaledb (amely technikailag a HA-pipát is kipipálja) cikk, amit erről olvastam https://blog.timescale.com/prometheus-ha-postgresql-8de68d19b6f5?gi=7df160f10e07
A hosszú távú dolgokat még nem próbáltam, mert még csak kísérletezem, és rövid távú grafikonokhoz használom, míg a librenms hosszú távon figyeli a hálózatomat
Datadog + PagerDuty + Threat Stack
Datadogot (PagerDutyval) és Threat Stacket használunk, és nem is lehetnénk elégedettebbek. Az egyetlen panaszom a DD-vel a metrikatárolás viszonylag magas költsége.
Zabbix
Zabbix egyedi szkriptekkel szinte mindenhez. Remekül működik.
Outlyer
Az Outlyert használom, de nyilatkoznom kell, hogy itt dolgozom, és a saját termék használata kötelező.
Még mindig szükségem van Graylogra, Sentryre és Statuscake-re a kiegészítéshez.
Elfogultan hangzik, de miután örömmel futtattam Nagiost és más monitorozórendszereket belsőleg, minden új helyen hosztolt megoldást vennék, és megszabadulnék ettől a fájdalomtól.
Nagios + Nagiosgraph
A Nagiost futtatjuk az összes monitorozáshoz és riasztáshoz. A riasztások e-mailen (figyelmeztetések és kritikus értesítések) és hallható alkalmazásértesítéseken (kritikus riasztásokhoz) keresztül történnek.
A Nagiosgraphot vizualizációkhoz használjuk.
Ez a beállítás nagyon hatékony volt abban, hogy átfogóan tájékozottak legyünk a környezetünkben zajló eseményekről. Körülbelül 110 küldetéskritikus kiszolgálót és körülbelül 760 adatpontot futtatunk és figyelünk, és több mint hét éve működik nálunk ez a rendszer.
Szeretném is valamikor aggregálni a naplókat Graylog vagy ELK segítségével.
Prometheus + Grafana + AlertManager
Prometheus + Grafana + AlertManager a remek Prometheus Operator helm charton keresztül. A naplók továbbra is a LogDNA birch tervhez mennek, mert észrevettük, hogy az ELK túl nehéz a szerény, minimum 3 és maximum 5 csomópontos fürtünkhöz a GKE-n.
DataDog + Sentry + PagerDuty.
Régebben minden saját monitorozási megoldásomat magam futtattam, mindenféle szoftverrel, többek között Nagios, Icinga, Zabbix, ELK, Greylog2, Influx és sok más eszközzel, de az igazság az, hogy túl sok erőfeszítés a saját monitorozási infrastruktúrát futtatni, különösen, amikor annyira alacsony díjakért fizethetsz valaki másnak, hogy megcsinálja helyetted!
Ha másoknak fizetek a monitorozási infrastruktúra futtatásáért, az ügyfeleim felszabadulnak, hogy a platformjaik futtatására összpontosítsanak a monitorozás monitorozása helyett, ami azt jelenti, hogy a platformjuk stabilitásából nyert érték messze meghaladja a Monitorozás mint szolgáltatás bármely költségét.
Sensu + Graphite + ELK
A cégem nagyon rá van állva a saját üzemeltetésű dolgokra.
Sensu -> PagerDuty
Graphite/Grafana
ELK (Elasticsearch, Logstash, Kibana)
Prometheus + Alertmanager
Prometheus + Alertmanager riasztáshoz, a csapatom úgy hiszi, hogy az egyszerű monitorozás jó monitorozás.
Más rendszerek, mint a naplózás és a nyomkövetés, gazdag kontextust adnak a diagnózishoz, amikor az ügyeletes riasztást kap, de ezekre soha nem építünk riasztást.
Sensu + Grafana + Graylog + Kibana + NewRelic.
Sensu, grafana, graylog, kibana, newrelic.
Prometheus + Circonus
Prometheusszal műszerezett szolgáltatások => Circonus-elemzés és vizualizáció
icinga2 + VictorOps + NewRelic + Sentry + Slack
Az alábbi szolgáltatásokat használjuk:
icinga2 a monitorozáshoz és VictorOps a riasztáshoz
NewRelic a szolgáltatás részletes monitorozásához
Sentry a hibakövetéshez a szolgáltatásban
A Slack/e-mail a riasztás része, amelyet a NewRelic vagy az icinga2 vált ki
AppDynamics + Papertrail + PagerDuty + Healthchecks.io + Stackdriver
AppDynamics
Papertrail
PagerDuty
Healthchecks.io
Stackdriver
icinga2 + elasticsearch
icinga2 elasticsearch-integrációval az elemzéshez és graphite+grafana integrációval a grafikonokhoz.
az icinga2 apply-szabályainak rugalmasságának köszönhetően a fejlesztők csak azokat a szolgáltatásokat látják, amelyekről értesítést kapnak.
és az icinga2 directoron keresztül a programozók könnyen definiálhatják saját ellenőrzéseiket (amit meg is tesznek, néhány naponta — 100 ellenőrzés ki, 100 másik be) nagy léptékben, gond nélkül.
DataDog + New Relic + ELK + EFK + Sentry + Alertmanager + VictorOps
Mink van most:
DataDog metrikákhoz
New Relic alkalmazásmonitorozáshoz
ELK (Elastic Search + Logstash + Kibana) a naplókhoz
Sentry (saját üzemeltetésű) kivételek naplózásához
E-mailek + Slack + VictorOps riasztáshoz (súlyosság alapján)
Mit szeretnénk:
Prometheus metrikákhoz (Grafana a vizualizációhoz)
New Relic (valószínűleg Elastic Search APM) az alkalmazásmonitorozáshoz
EFK (elastic search + fluentd + kibana) naplózáshoz. Valószínűleg a Grafana Lokija éles használatra kész lesz, mire idáig eljutunk
Sentry a kivételekhez
Alertmanager + e-mail + VictorOps a riasztásokhoz
Wavefront + Scalyr + PagerDuty + Stackstorm + Slack
Wavefront + Scalyr + PagerDuty + Stackstorm + Slack (Nyilatkozat: a VMware-nél dolgozom)
Telegraf + Prometheus + InfluxDB + Grafana
Telegraf kiszolgálómetrikákhoz, mint a CPU, lemez, memória és hálózat. A Telegrafot a hálózati eszközeink SNMP-monitorozásához is használjuk.
Prometheus alkalmazásmetrikákhoz. Egészségellenőrzéseket kódolunk az alkalmazásunkba, amelyeket a Prometheus lekaparja.
InfluxDB idősor-tároláshoz. Ide kerülnek a Telegraf adatai.
Grafana irányítópultokhoz és riasztásokhoz. A riasztómotor nem szuperrobusztus, de elvégzi a dolgát. A riasztásokat Slackbe is küldjük.
Amim jelenleg nincs, az egy központosított naplózási megoldás. Az ELK erőteljes, de nehéz beállítani és kezelni, és nem ismerek elég közeli ingyenes alternatívákat, hogy megnézzem őket.
Sematext + Logagent + Experience
Sematext metrikákhoz, naplókhoz, nyomokhoz, hamarosan valós felhasználói monitorozáshoz is. Egyszerűbb/olcsóbb, mint N különböző eszköz/szolgáltatás használata, szerény véleményem szerint.
A naplók szállításához régebben rsyslogot használtunk, aztán átváltottunk Logagentre.
A front-end összeomlásjelentéshez Sentryt használunk, de hamarosan átváltunk Experience-re.
Nyilatkozat: Sematextan (Sematext-alkalmazott) vagyok.
Azure Monitor/Analytics + OpsGenie
Bárcsak a Log Analytics jobb felülettel rendelkezne. Elmegyünk a Splunktól, amelyben sokkal könnyebb volt navigálni.
Prometheus + Alertmanager + Grafana + Splunk + PagerDuty
Prometheus, Alertmanager, Grafana, Splunk, PagerDuty
Tényleg nem akarod a saját értesítőrendszeredet futtatni. A Splunkot lecserélheted ELK-ra, hacsak a biztonsági csapatod nem a Splunkot részesíti előnyben.
Telegraf + Prometheus + Grafana + Alertmanager
Telegraf gyűjtőként, Prometheus + Alertmanager monitorozáshoz és riasztáshoz, integrálva slack-csatornákkal és pagerdutyval a kritikus riasztásokhoz. Grafana a gazdagép-metrikák vizualizációjához.
Prometheus + Grafana + Cloudwatch + sentry + kibana + elasticsearch
Prometheus metrikákhoz + riasztásokhoz
Grafana a Prometheus-irányítópultokhoz
Cloudwatch a Prometheus-példányok monitorozásához
sentry a kivételkövetéshez
kibana + elasticsearch
graylog
prometheus Push Gateway a batch/cronjobokhoz
SOP https://github.com/rapidloop/sop a metrikák „továbbítására/továbbküldésére“ egyik Prometheus-példányról a másikra
a kliensek a Prometheus-klienseket használják. Megpróbáljuk használni az opencensus.io-t a kliensoldalon
PagerDuty + Monitis
PagerDuty + Monitis. Plusz néhány egyedi Azure Functions egyes szolgáltatások állapotának tesztelésére.
Idén tervezzük bevezetni a Prometheust és a Grafanát
Prometheus + Grafana + Bosun
Prometheus az idősoros adatok tárolásához. Grafana a vizualizációhoz. Bosun a riasztáskezeléshez.
Azure Monitor/Analytics/Insights/Dashboards
Csak Azure-t használó cég: Azure Monitor, Log Analytics, App Insights, Azure Dashboards + Pager Duty
Grafana + Monitis + OpsGenie + Slack
Grafana a Kubernetesben futó konténerszolgáltatások monitorozásához Prometheuson keresztül
Monitis a végpontok közötti szolgáltatásmonitorozáshoz, főként webes API-khoz és webalkalmazásokhoz
OpsGenie a riasztáskezeléshez
Slack a rendszereinktől érkező állapotinformációk fogadásához
Checkly + AppOptics + Cloudwatch + Heroku + Pagerduty + Papertrail
Régi (dev)ops mérnök vagyok. A Nagioson nőttem fel. Szívesen hallanék véleményeket a bootstrapped SaaS-omról https://checklyhq.com. API-monitorozást és webhelytranzakció-monitorozást végzünk meglehetősen mélyre menő riasztással.
Azért kezdtem a Checklyt, mert az aktív / szintetikus monitorozás az API-k terén kissé korlátozott (és drága) volt. A böngészőalapú / szkriptelt monitorozás még zártabb és drágább. Puppeteert használunk, és az árakat a lehető legalacsonyabban tartjuk.
A monitorozási stackünk:
Checkly (a saját kutyaeledelünket esszük...)
AppOptics (egyedi grafikonok)
AWS Cloudwatch és SNS SMS-üzenetekhez.
beépített Heroku-riasztás.
Pagerduty
Papertrail
Instana + Logz.io + slack
Az Instana slacken értesít minket infrastruktúra-problémákról vagy teljesítményromlásról, a logz.io-t pedig úgy állítottuk be, hogy slacken riasszon az alkalmazásrétegből érkező hibaszintű naplók bizonyos mennyiségénél.
SignalFX + Splunk + PagerDuty + Slack
Jelenleg használjuk: SignalFX, Splunk, PagerDuty és Slack. Nem vagyok nagy rajongója a SignalFX-nek, bár a támogatási csapatuk szuperbarátságos és gyorsan reagál. Szeretem a Splunkot (megéri, ha megengedheted magadnak), a PagerDutyt és a Slacket.
Régebben a TICK stacket használtam, ahol a C legnagyobb része valójában G volt, vagyis Grafana, bár kicsit a Chronografot is használtam. Fantasztikus volt, de fájdalmas volt kezelni. A klasszikus SaaS kontra saját üzemeltetés dilemma.
Használtam DataDogot, New Relicet, Graylogot, ELK-t és BugSnagot. Nagyon szeretem a DataDogot és a New Relicet, a Graylog elég jó. Az ELK-nak nem vagyok nagy rajongója. A BugSnag szép, valójában úgy érzem, hogy a hibák/kivételek követése sok esetben elég jó helyettesítője a teljes naplómonitorozásnak.
ELK + Prometheus + Grafana
Mint mások, mi is ELK-t használunk naplókhoz, és Prometheus+Grafanát mindenhez máshoz.
E beállítás karbantartása könnyű, ha megengeded magadnak, hogy alkalmanként adatot veszíts. Például ha az ElasticSearch adatbázisunk rossz passzba kerül (ami nekünk sajnos 2–3 havonta megtörténik), nem foglalkozunk a HA-val, hanem kidobjuk az adatokat, és élünk tovább. Ha mindenképpen HA-ra vagy hosszú távú megőrzésre van szükséged, sok szerencsét.
Datadog + Prometheus + Grafana
A Datadogot havi alapon állítottam be, mert amikor ideértem, nem volt monitorozás és riasztás. Csak néhány oldalunkat figyelték 5 percenként az elérhetőségre. A Datadogot nagy különbséggel a legkönnyebb beállítani. Amikor befejezem az összes többi probléma kezelését, átváltok Prometheus+Grafanára. A naplókezelésben még nem vagyok 100%-ig biztos.
Nagios + ELK
Több mint 100 terméket támogatunk.
On-prem többnyire Nagios és ELK. A felhőben a DataDogról a NewRelicre költözünk.
Datadog vs. Site24x7 + StatusCake + PagerDuty + SumoLogic + Slack
Régebben datadogot használtunk, de túl drágának találtuk az igényeinkhez. Ne értsetek félre, csodálatos, de óriási költsége van. Sikerült beállítanunk a site24x7.com-ot éves előfizetéssel a DD költségének körülbelül 2–3 havi összegéért.
A monitorozási stackünk:
Site24x7 - APM, külső URL-monitorozás, SMTP-levélforgalom-monitorozás, ssl-lejáratok és folyamatmonitorozás.
StatusCake - URL-monitorozáshoz és megerősítéshez - ez a tartalékunk arra az esetre, ha a site24x7 kihagyna valamit (nem hagy ki), de az SC rugalmasabb a külső port- és szolgáltatásmonitorozáshoz az igényeinkre.
Mindkét eszköz a PagerDutyhoz eszkalál, aztán slacken kapjuk az eszkalációkat.
SumoLogic - naplómonitorozáshoz (nagyszerű eszköz, de egy kicsit bonyolult az igényeinkhez)
A slackből nyugtázhatjuk vagy elháríthatjuk a riasztást.
Aztán sok site24x7-automatizálásunk van, amelyek a commando.io-hoz kapcsolódnak a „BedOps”-hoz, ahogy mi nevezzük — ahol riasztás váltódik ki, elindítunk néhány szkriptet vagy automatizálást a helyzet orvoslására (az esetek 99%-ában az automatizálás + a szkriptjeink távol tartanak a bajtól).
Belső runbookjaink vannak a tudásbázisunkban arra az esetre, ha az automaták kudarcot vallanak, vagy ha valami hatókörön kívüli dolgot kell javítani.
Prometheus + AlertManager + Grafana + Stackdriver
Prometheus (Operator) / AlertManager / Grafana metrikákhoz a GKE-fürtjeinkben és virtuális gépeinken.
Google Stackdriver naplókhoz (mivel benne van és alapértelmezésben aktív, és jelenleg elég az igényeinkre).
Zabbix
Zabbix mindenre. Nincs szükség további szoftverre.