rainit2006 / My_AWS-Cloud

0 stars 0 forks source link

Cloud工具 #32

Open rainit2006 opened 3 years ago

rainit2006 commented 3 years ago

///

rainit2006 commented 3 years ago

インフラ・サービス監視ツール

Prometheus + Grafana + Pagerduty

### Prometheus 优势:数据采集精度高(可以说业界第一?),可以精确到1-5秒的采集精度。 監視対象が動的に変更されるようなスケーラブルな環境のリソース監視を意識した設計になっています - 監視対象のサーバーから情報を取得 & 保管 - 保管済みデータに対して集計クエリを発行できる - しきい値を超えた場合のアラート (メール、Slack、がんばればTwilioで電話) - 柔軟なアラート設定 (同じエラーはまとめて通知とかの設定ができる) 名称 | 説明 -- | -- exporter | 監視対象サーバー上で動かすプログラムテキスト形式でリソース情報を公開するWeb API のようなもの監視対象のリソース毎に exporter が用意されている prometheus | 監視サーバーのプログラム定期的に全ての exporter をポーリングしてリソース情報を収集する監視したデータは prometheus 内の DB に保持される ### prometheus vs nagios vs others ### Grafana Grafana は Grafana Labs が公開しているログ・データ可視化のためのツールです。可視化ツールとしては kibana とほぼ同じようなものです。 Grafana も kibana も、DB に保存されたログに対してリアルタイムにクエリを投げてデータを表示することができ、 表示する期間の長さや時間帯を変えたり、パーツ毎に特定のノードだけのデータを表示したりインタラクティブに可視化を操作することができます。 Grafana は複数のデータベース(Prometheus、InfluxDB、Mysql、AWS Cloudwatchなど)に対応しておる。kibana は elasticsearch のみ対応しています。 ### PagerDuty アプリ、サーバ等からの通知をきっかけに、予め定義していたエスカレーションポリシーとスケジューリングに基いて様々なアクションを実行することができるSaaSです。 様々な監視ツール(Datadog, Mackerel, Zabbix 等) からのアラート通知をPagerDutyで集約して、予め設定/登録した任意の通知ルールに従って様々なアクションを実行できます。 通知の例として 電話・SMS・メール・プッシュ型のアラート通知 (iOS or android 用のアプリが用意されています) 等があります。 1. Create new service 2. Create Integrate with an email address in “integration” (it’s the easiest way for Alicloud, since it was not really bond well with pagerduty). 3. In Alicould -> CloudMinitor -> AlarmContact, create a contact and assign this mail address into a group on alicloud. 4. create an alarm rule in Alicloud, assign to your group (the email address belongs to this this group) 今回紹介するインシデント管理サービスPagerDutyには次のような機能があります。 1, 複数のアラートを集約して担当者に通知する。もし担当者が決められた時間以内に通知確認をしなければ、あらかじめ決められた順番で他の担当者に通知する(エスカレーション)。通知の手段は音声電話、SMS、Slackなどのチャット、メールなど、インシデントの重要度に従って設定できる。インシデントの重要度はあらかじめ閾値を決めておく。 2, 簡単に連携できる監視ツールは200種類、REST APIでのアラートも受け付ける。 3, インシデントの状況を対応チーム全員がダッシュボードで確認できる。 4, チャットサービスとの連携やWeb会議などでチームでコミュニケーションをとりながら対応に当たることができる。 5, インシデント対応をあらかじめワークフロー化しておける。これにより素早く間違いのない障害対応が可能になる。 6,オンコールエンジニアのスケジューリングを簡単に行える。時間、曜日、週などでのローテーションをビジュアルに組むことができ、突発的な変更にも素早く対処できる。時差を考慮したグローバルなサービスにも対応。 7,システムのヘルスレポート、チーム、スタッフの負荷などを表示。 8,インシデント解決後のレポート作成機能により、将来のインシデントに備えることができる。 ## 不错的参考文章 https://zhuanlan.zhihu.com/p/265341729
rainit2006 commented 3 years ago

statuspage.io (Atlanssian)

サービスの稼働状況やインシデントの共有ツール。StatusPageは、顧客がサービスの中断や復旧予定、再開に関する情報を適時ユーザーに通知できるようにする、コミュニケーションの橋渡し役として機能する。

E.g. Jira service management on statuspage https://jira-service-management.status.atlassian.com/

Cachet: status page opensource

https://cachethq.io/

Cloudfare

cloudflare is popular cdn/ddos operation, and very professional to deal with DDOS, in the meanwhile it provides WAF/CDN/DNS just in one console, and very good visualized web console, easy to use. https://www.cloudflare.com/ddos/

rainit2006 commented 3 years ago

工具和技术一览:

Cloud Resources

rainit2006 commented 3 years ago

SendGrid

Email service

Twilio

SMS service

rainit2006 commented 3 years ago

Chaos Engineering (カオスエンジニアリング, 混沌工程)

是在分布式系统上进行实验的学科, 目的是建立对系统抵御生产环境中失控条件的能力以及信心。最早由Netflix及相关团队提出。 混沌工程的典型代表 - 猴子。拜 Netflix 所赐,现在大部分的混沌工程项目都叫做 Monkey,也就是一只讨厌的猴子,在你的系统里面上蹦下窜,不停捣乱,直到搞挂你的系统。 混沌工程其实是很重要的,但我之前一直以为混沌工程就是测试,但它们还是有区别的。虽然混沌工程跟传统测试通常都会共用很多测试工具的,譬如都会使用错误注入工具,但混沌工程是通过实践对系统有更新的认知,而传统测试则是使用特定方式对某一块进行特定测试。

カオスエンジニアリングの5原則: https://principlesofchaos.org/

混沌工具:

  1. tool for kubernets https://github.com/chaos-mesh/chaos-mesh
  2. tool for ec2 https://www.alibabacloud.com/blog/chaosblade---an-open-source-chaos-engineering-tool-by-alibaba_594850
rainit2006 commented 3 years ago
rainit2006 commented 3 years ago

YUMI multiboot 工具: onebox用 https://www.pendrivelinux.com/yumi-multiboot-usb-creator/