《51信用卡在微服务架构下的监控平台架构实践》-杨帆

51信用卡在微服务架构下的监控平台架构实践
演讲大纲:

  • 公司简介
  • 微服务的监控
  • 当互金遇上微服务
  • 51信用卡的应对之道
  • 智能化实践
  • 未来展望
展开查看详情

1.̽51‫מ‬አ‫ࣁܜ‬ங๐‫ۓ‬ຝ຅ӥጱፊഴଘ‫ݣ‬ຝ຅ਫ᪢̾ ᄍᦖᘏ҈ ๷૴

2. ‫ى‬ԭ౯ • ๷૴ • 51‫מ‬አ‫ܜ‬ຝ຅૵҅Ԇᥝᨮᨱፊഴᔮᕹጱᦡᦇ • Ԟ݇Өᬦᐺํԯ҅හഝପᒵᬩᖌଘ‫ݣ‬ጱ୏‫ݎ‬ • ࡅཻರᚸ҅ฎӻሞঁ

3. ፓ୯ ‫ݪل‬Օᕨ ୮԰ᰂ᭬Ӥங๐‫ۓ‬ ฬᚆ۸ਫ᪢ 1 2 3 4 5 6 ங๐‫ۓ‬ጱፊഴ 51‫מ‬አ‫ܜ‬ጱଫ੒ԏ᭲ ๚๶઀๕

4.1҂‫ݪل‬Օᕨ

5. Ӿࢵᶾ‫ض‬ᑀದᰂᣟᇿ᥯ْ 51‫מ‬አ‫҅ܜ‬Ӿࢵᶾ‫ض‬ᰂᣟᑀದᇿ᥯ْ҅ӱ‫ۓ‬႗ፍӻՈ‫מ‬አᓕቘ๐‫̵ۓ‬ ‫מ‬አ‫ܜ‬ᑀದ๐‫̵ۓ‬ᕚӤ‫מ‬ᩅඏ‫݊ݳ‬ಭᩒ๐‫ۓ‬ӣय़ӱ‫ۓ‬຃ࣘ҅෪ӥํ“51‫מ‬ አ‫ܜ‬ᓕਹ”̵“51Ոߝ”̵ “51Ոߝᩅ”̵“ᕳ֦ᜰ”ᒵ໐ஞAPP҅೜ํ᩻ᬦ1 Պᄶၚአಁ̶

6.2҂ங๐‫ۓ‬ጱፊഴ

7.փᕹጱፊഴ‫੶ړ‬ አಁᒒ ᬩ០ࠟᨶᰁ҅‫ڹ‬ᒒ჉ວ ӱ‫ۓ‬ Իฃᰁ҅ᦢᳯᰁ҅౮‫ۑ‬ሲ ଫአ API҅RT ᔮᕹ CPU҅ᨮ᫹҅ᗑ‫҅ܜ‬ᏺፏ चᏐᦡෞ ๢಄҅ᗑᕶ҅Ꮭկ

8.փᕹጱᥴ٬ොໜ - Zabbix սᅩ - ౮ᆧ‫ݢ‬ᶌ ᘌᇈፊഴ᫫կ҅ᐒ‫܄‬౮ᆧ҅ൊկռग̶़ սᅩ - ᔮᕹ೰ຽ‫ق‬ᶎ ‫ݱ‬ᐿፊഴᵱ࿢᮷ํ੒ଫጱᥴ٬ොໜ҅೰ຽஉ‫҅ق‬ᬮ ᚆֵአᛔਧԎᚕ๜̶ ᗌᅩ - ֵአ౮๜உṛ ‫ے‬Ӟӻፊഴ౮๜உṛ҅உग़ᬩᖌԞ‫ํݝ‬च๜ጱԧ ᥴ̶ ᗌᅩ - ଫአፊഴള‫ࢯف‬ᵙ ੒ԭங๐‫ۓ‬ᒵ॔๥ጱຝ຅҅ള‫ف‬ጱොໜଚӧො‫̶׎‬

9.୮փᕹຝ຅᫨‫ݻ‬ங๐‫҅ݸۓ‬ᥤ᥯‫ݎ‬ኞද‫ݒ‬

10. զ๐‫ۓ‬ԅᖌଶጱፊഴ ೰ຽፊഴ ‫ݍ‬ଫӞӻᔮᕹጱच๜ఘ‫ݢ҅٭‬զ ᱾᪠ፊഴ ‫ݍ‬ଫ๐‫ۓ‬ፗളጱ᧣አ‫ى‬ᔮ҅᧣አ ฎ᎖෸꧊ֺ҅ই඙֢ᔮᕹጱ ෸ᳵ҅ᥤ᥯‫ڦ܄‬ԭ೰ຽፊഴ҅ฎ cpu҅ᗑᕶጱၞᰁ҅Ԟ‫ݢ‬զฎӞ ӻᘸ‫ݳ‬꧊ֺ҅ইᦢᳯጱ௛ᰁ̶ ଫአ զ᧗࿢ԅच๜‫̶֖ܔ‬ ෭பፊഴ ෭பጱ᯻ᵞ̵઀ᐏ̵ፊഴ̶

11. ᐒ‫܄‬ጱᥴ٬ොໜ ೰ຽፊഴ ᱾᪠ፊഴ Prometheus҅Influxdb Pinpont҅Zipkin ٌ՜ ෭பፊഴ Zabbix ELK

12.3҂୮԰ᰂ᭬Ӥங๐‫ۓ‬

13. ங๐‫ۓ‬ፊഴํՋԍᇙᅩ ๐‫ۑۓ‬ᚆ‫ܔ‬Ӟ ೰ຽහᰁग़ ྯӻ๐‫ۓ‬൉‫׀‬ጱ‫ۑ‬ᚆ‫ܔ‬Ӟ҅ಅզ᭜౮ ๐‫ۓ‬හᰁग़᭜౮೰ຽහᰁग̶़ ๐‫ۓ‬ጱහᰁᶋଉग̶़ ଫአፗള᧣አ॔๥ ‫ᦄޞ‬හᰁग़ ྯӻ๐‫ۓ‬᮷տ᧣አᝑଗӻଫአ҅᭜౮ ྯӻ๐‫ۓ‬᮷ᵱᥝ‫ᦤכ‬ፊഴ݊‫҅ᦄޞ‬᭜ ᧣አ‫ى‬ᔮ॔๥̶ ౮‫ᦄޞ‬හᰁग̶़

14.԰ᰂ + ங๐‫ۓ‬տᏳඊ‫ߺڊ‬Զᳯ᷌Ҙ

15. ԰ᰂӥጱங๐‫ۓ‬ፊഴ ੒ඳᵑ਻தᑕଶ֗ ӱ‫޾ۓ‬ᩒᰂ௳௳ፘ‫҅ى‬԰ᰂᶾऒᶋଉ᯿ᥤᨶᰁ ᭄࿢‫ق‬ᶎጱፊഴ ੒ᔮᕹጱ‫ݱ‬ӻ᥯៧᮷ᵱᥝፊഴ‫҅ک‬ᩒᰂ෫ੜԪ ᭄࿢ள᭛ጱ‫ᦄޞ‬ ᵱᥝᒫӞ෸ᳵ‫҅ᦄޞ‬ഴ‫ګ‬ᩒഖᵱᥝ޾෸ᳵᩦ᪒ ࣁ॔๥ጱங๐‫ۓ‬ӥᵱᥝள᭛᦬ෙ ፊഴᵱᥝӧ֕ᵱᥝ‫ํ֦ᦫޞ‬ᳯ᷌҅ᬮᵱᥝ‫ߺ֦ᦫޞ‬ ᯾ํᳯ᷌

16. 51ங๐‫ۓ‬ፊഴጱ‫ڡ‬๗ Prometheus Http ള‫ݗ‬ ೉ཛྷୗ ᛔଃ‫ᦄޞ‬ Grafana ᥤࢶ

17. WEB应用服务器 Prometheus ӥጱፊഴ prometheus client node exportor Prometheus 抓取 discovery Consul 存储 告警 ᯻ᵞᔉଶᅎၚ Spring Cloud ኞா෫ᖲള‫ف‬ WEB应用服务器 ൉‫ ׀‬label ጱ༷ஷ҅ᘸ‫ݳ‬ᅎၚ ൉‫ ׀‬exportor ޾ discovery҅ള ‫ف‬ங๐‫ۓ‬ኞாஉො‫׎‬ prometheus client ဌํ‫૲ړ‬ୗොໜ ଘ‫ݣ‬۸ࢯᵙ҅਍ԟ౮๜ׁᆐӧ֗ ‫ݝ‬ᚆ‫ܔ‬๢ᬩᤈ҅ᘸ‫ޞ޾ؙਂ̵ݳ‬ grafana + alertmanager ጱଘ‫ݣ‬ node exportor ᦄ᮷‫ݝ‬ᚆ‫ܔ‬๢ᬩᤈ ۸౮๜உṛ

18. ᵋ፳๐‫ۓ‬ीᳩ҅୏তӧෙ᪴ࣗ • ‫૲ړ‬ୗ౮๜உṛ҅40 cores + 256G + ssd ጱ‫ܔ‬๢உளᏳ‫ک‬௔ᚆኒ᷀ • ‫᦬ᦄޞ‬ෙጱᦫ࿢᩼๶᩼ग़҅֕चԭ‫ܔ‬๢ଚӧঅ؉ • PromQL ਍ԟ౮๜ӧ֗҅੒ෛಋଚӧ‫݋‬অ • ೉ཛྷୗࣁّ਻ӧ‫ݶ‬හഝრӤᶎ୏ত‫ݒ‬஑᩼๶᩼ࢯᵙ

19. Docker KVM Service D Service B ங๐‫ۓ‬ፊഴࢯह Service C Service A

20. හഝ຅౮ Ԇ๢௔ᚆፊഴ ᡦ೙๢̵਻࢏௔ᚆፊഴ ਾԆ๢ጱ CPU̵ᗑ‫ܜ‬ᒵ ਻࢏ጱ௔ᚆ೰ຽ҅Ԟ‫ݶ‬໏۱ೡ CPU̵ᗑ‫ܜ‬ᒵ ଫአ௔ᚆ೰ຽ ෭ப೰ຽ API̵RT̵GC ᒵහഝ ۱ೡᔮᕹ݊ଫአጱᲙ᧏හ҅୑ଉ හᒵ೰ຽ ଫአᳵ᧣አ೰ຽ ӱ‫ۓ‬೰ຽ ଫአᳵ᧣አ‫ى‬ᔮ҅ᆤෙ҅RT ᒵ ޾ӱ‫ۓ‬ፘ‫ى‬೰ຽ ‫௳מ‬

21. ᓒᒟᨴ҅ྯी‫ے‬Ӟӻ๐‫ۓ‬ • Ӟӻ๐‫ۓ‬೜ํ 10 ӻ API • Ӟӻ๐‫ۓ‬ଘ࣐ 8 ӻਫֺ • Ӟӻ๐‫ۓ‬ଘ࣐᧣አ 10 ӻ๐‫ۓ‬ • ྯी‫ے‬Ӟӻ๐‫҅ۓ‬ी‫ے‬ᕅ 5000 ӻ೰ຽ • ইຎٚी‫ے‬ᖌଶҁֺই dc҂҅‫ے‬ள᯻ᵞ᷇ሲ҅ᬯӻහਁᬮ஑ᘉ‫پ‬ኾ

22. ԅՋԍ೰ຽᔉଶᬯԍᕡҘ • ԰ᰂ + ங๐‫ۓ‬ጱຝ຅ӥ҅౯ժ੒ፊഴ᦬ෙํๅᕡᛘጱᥝ࿢ • ౯ժጱፓጱӧྊฎԅԧ‫ݎ‬ሿᳯ᷌҅ᘒӬԞᥝᬥ᭛‫ᦫޞ‬౯ժᳯ᷌ࣁߺ᯾ • devops҅APM҅ፊഴ҅‫ᦄޞ‬ᬯԶ༷ஷྋࣁӧෙᣟ‫ݎݳ‬ኞ۸਍‫ݍ‬ଫ

23.4҂51‫מ‬አ‫ܜ‬ጱଫ੒ԏ᭲

24.ଘ‫ݣ‬۸

25.ԅՋԍᥝଘ‫ݣ‬۸Ҙ ԅෛ‫فے‬ጱ୏‫ݎ‬Ոާ൉‫׀‬ᕹӞጱ֛ḵ ፊഴ̵‫ᦄޞ‬զ݊᦬ෙጱӞᒊୗ๐‫ۓ‬ ԅ AIOps ൉‫׀‬మ᨝‫ێ‬

26.ই֜຅ୌ੒Ӥ੶ᕹӞጱਂ‫ؙ‬

27.चԭ Prometheus ጱຝ຅දᬰ PromQL兼容 ‫૲ړ‬ୗጱਂ‫ؙ‬ḘӤଃ๶ෛጱᳯ᷌ 抓取服务器 转发服务器 Pull 模型 转换层 Push 模型 KairosDB 格式 Cassandra Cassandra DC1 DC2

28. ‫ᦄޞ‬ጱ௔ᚆኒ᷀ • Labels ‫܃‬ᯈጱ൤ᔱපሲ • ဌํᶼᘸ‫ݳ‬᭜౮᧛‫ݐ‬ጱັᧃኒ᷀ +෫ဩᥴ٬ጱ LSM ٟள᧛ౌ • Metric ᬦᳩጱັᧃ௔ᚆ • ᖌଶᆷᅨ݊ᖌଶ᯿॔ࢯह

29. Labels ‫܃‬ᯈጱ൤ᔱපሲ sum(increase(service_api_count{port=~"8.*"})) by instance Inverted Index service_api_count{instance="192.168.1.1", port="80"} service_api_count{instance="192.168.1.2", port="81"} service_api_count{instance="192.168.1.2", port="71"} service_api_count{instance="192.168.1.2", port="72"}