Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/ziad-hsn/cpra
クラウドインフラストラクチャセキュリティ汎用ユーティリティコンテナセキュリティ構成監査ネットワークセキュリティDevSecOpsインシデントレスポンス異常検知ログ分析
GitHubziad-hsn/cpra

cpra

CPRAは、大規模なマイクロサービスアーキテクチャを管理するプラットフォームチーム向けに設計された高性能インフラストラクチャ監視システムです。Entity-Component-System(ECS)アーキテクチャと待ち行列理論の原理に基づき、CPRAは自動ワーカープールスケーリングによりSLO目標を達成しながら、100万以上の同時ヘルスチェックを処理します。

リポジトリを見るウェブサイト
1196日前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CPRa

Continuous Pulse and Recovery Agent
サービスをチェックし、アラートを送信し、設定した復旧アクションを実行します。

CI MIT license Go 1.25+ Documentation

CPRaはGoで書かれたセルフホスト型の監視・復旧エージェントです。スケジュールに従ってサービスに対してヘルスチェックを実行し、設定可能なしきい値に基づいてインシデントを開始・終了し、通知を送信し、サービス障害時に復旧アクション — コンテナの再起動、Webhookの呼び出し、Kubernetesワークロードの再起動またはスケール、EC2インスタンスの再起動、systemdユニットの再起動 — を実行します。単一のサーバーバイナリとして提供され、組み込みの読み取り専用ダッシュボード、HTTP API、およびcpractlコマンドラインクライアントを備えています。MITライセンスです。

ドキュメント: ziad-hsn.github.io/cpra — クイックスタート · モニター設定 · ドライバー · HTTP API · デプロイ · FAQ

ドキュメントと現在の開発状況

ドキュメントソースには、現在の開発リファレンスと、以前のリビジョン向けに明示的に日付を付けたガイドが含まれています。公開サイトは別途更新されます。バージョンと可用性はそれらの境界を示します:

  • このソースには、Raft永続化、履歴/SLO、暗号化された管理リソース、ダッシュボードフォーム、SDK/CLI収集ワークフローが含まれます。
  • 実装の進捗には、完了したチェックと、残っている外部ワーカー統合およびリリースゲートが記録されています。
  • Go SDKは現在のソースコントラクトを文書化しています。公開モジュールバージョンとダウンロードしたコンシューマーの認定は保留中です。
  • 以前の候補ガイドは固定された410fbfbリビジョンを説明しており、この開発ブランチのリリース認定ではありません。

出荷計画が公開を規定します。ソースの可用性は、完了したプロバイダー検証や耐久性検証を確立するものではありません。

クイックスタート

以下に示すソースワークスペースには、Go 1.25以降、Make、およびPython 3が必要です。リポジトリにはビルド済みのダッシュボードアセットが既に含まれています。

MakeはアプリケーションとそのローカルSDKモジュール用に無視されるbin/cpra-sdk.workを作成するため、未公開のSDK候補をこのチェックアウトからビルドできます。統合のサンプルモジュールはオプトインのままです。明示的なGOWORKパスまたはGOWORK=offが優先されます。Makeは選択された外部ワークスペースを決して変更しません。

make
cp examples/monitors.yaml monitors.yaml
# Set the service address in monitors.yaml.
./bin/cpra -yaml monitors.yaml

直接Goコマンドを使用する場合は、make dev-workspaceの後にワークスペースを明示的に選択します:

GOWORK="$PWD/bin/cpra-sdk.work" go test ./internal/cpractl/cli

公式リリースビルドはGOWORK=offを維持し、別途認定されたモジュール依存関係を必要とします。ローカルワークスペースビルドは、公開モジュールの可用性やリリース準備完了を確立するものではありません。

状態はデフォルトでプラットフォームのユーザー状態ディレクトリ(cpractl local paths)に永続化されます。Linuxのシステムサービスは明示的に/var/lib/cpraを使用します。再起動をまたいでそのディレクトリを保持してください。明示的な-data-dirはランタイム設定とプラットフォームのデフォルトを上書きします。レガシーの./cpra-dataには明示的なパスまたは停止した移行が必要です。使い捨ての実行には-runtime-config examples/runtime-memory.yamlを使用します。永続化と復旧は、ID、不明な結果、完全なバックアップについて説明しています。

設定されたAPI認証情報を使用してhttp://localhost:8060を開きます。管理セットアップは、./bin/cpractl get monitorsのような現在のSDKコマンドを有効にします。これらのコマンドは安定したリソースIDを使用します。設定が欠落しているか不正な場合は起動が停止します。空の設定には-allow-emptyが必要です。

サンプルはHTTPエンドポイントをチェックし、インシデントの遷移をalerts.jsonlに書き込みます。各モニターは、チェック間隔、タイムアウト、失敗しきい値、復旧しきい値、通知先、および復旧アクションを指定できます。メンテナンスウィンドウはチェックを継続しながらアラートと復旧を抑制します。これらは5フィールドのcron式、期間、およびIANAタイムゾーンを使用します。

ドライバー

機能デフォルトビルドオプションのビルドタグ
チェックHTTP、TCP、ICMP、DNS、UDP、TLS、Docker、gRPCポート到達性redis postgres mysql mongo rabbitmq kafka
復旧Docker、HTTP webhookkubernetes aws systemd
アラートLog、Slack、PagerDuty、email、webhook、Telegram、Discord、Opsgenie、Mattermost、VictorOps、Pushover、Datadogteams twilio
make BUILD_TAGS='redis postgres kubernetes'

grpcチェックはTCPポートをテストします。gRPCヘルスサービスを呼び出すわけではありません。UDPチェックにはペイロードと応答が必要です。PagerDutyにはEvents API v2ルーティングキーが必要です。EmailはSTARTTLSを使用したSMTPリレーを使用します。SMTPのユーザー名/パスワード認証は実装されていません。

TLSのwarn_daysは、復旧を開始せずに黄色のアラートと低下したモニターステータスを生成します。critical_daysはチェックを失敗させ、通常の復旧ポリシーに従います。Pushoverの緊急優先度はretryとexpireを秒単位で受け付け、デフォルトは60と1800です。Docker復旧は、タイムアウトが省略された場合、デーモンの停止猶予を保持します。

MongoDBチェックには直接のmongodb:// URIが必要です。選択されたドライバーは、初期のmongodb+srv://検出をチェックの期限で制限できないため、CPRaはそのモードを拒否します。Kubernetes復旧はトークン、証明書、およびクラスタ内認証情報をサポートします。kubeconfigのexec認証情報プラグインは、復旧の期限を超えて存続する可能性があるため拒否されます。

アクセス

サーバーはデフォルトでループバックでリッスンします。他のバインドアドレスには認証トークンが必要です。トークンはサービスアカウントが読み取れるファイルに保管してください:

./bin/cpra -yaml monitors.yaml -web.addr 0.0.0.0:8060 -web.auth-file /run/secrets/cpra-token
./bin/cpractl --server https://monitor.example.com --token-file /run/secrets/cpra-token get monitors

ブラウザログインはユーザー名cpraとトークンをパスワードとして使用します。APIはBearerトークンを受け付けます。サーバーとCLIはCPRA_AUTH_TOKENとCPRA_AUTH_TOKEN_FILEも読み取ります。リモートアクセスにはHTTPSリバースプロキシが必要です。組み込みリスナーはHTTPを提供します。

マニフェストは、プロセスアカウントの権限でチェック、通知先、および復旧アクションを承認します。信頼できる設定を使用してください。-ssrf-protectは接続時に非公開のHTTP宛先をブロックします。他のプロトコルやローカルアクションを制限するものではありません。プロファイリングはオプトインです。認証情報を含むトークンファイルとマニフェストはバージョン管理外に保管してください。

動作と制限

  • 単一ノードのRaftは、ディスパッチ前にインシデント状態とアクション意図をコミットします。結果が中断された開始済みの外部アクションは、再起動後に不明として保持されます。ヘルスチェックは再開されます。これは単一ノードの永続化であり、分散フェイルオーバーはありません。
  • 各インシデントは1つの復旧操作を許可します。復旧の成功後には、設定された連続成功チェックが続く必要があります。不明なアクションについてはプロバイダーの記録を確認してください。再起動しても自動的に繰り返されることはありません。
  • 通知エンドポイントの結果は別々です。あるエンドポイントが失敗したからといって、成功したエンドポイントが繰り返されることはありません。確認された再試行可能な拒否は、エンドポイントごとに最大3回の試行を許可します。トランスポートの受け入れは、人への配信を確認するものではありません。
  • /api/v2/healthzはライブネスを報告します。/api/v2/readyzは初期化されたアドミッション、コントローラーの進捗、および利用可能なストレージを必要とします。明示的に空の設定は準備完了になることができます。ダッシュボードプロジェクションの鮮度は別途報告されます。プロバイダーの停止はプロセスをデッドにしません。
  • フリートビューは増分的に更新され、数値ルートを保持し、安定したmonitor_id値を追加します。ページは制限されています。/api/v1/historyはインシデントとアクションのイベントを30日間保持します。/api/v1/stateは永続化と不明なアクションを公開します。/api/v1/sloは測定されたレイテンシ分布を公開します。すべて読み取り専用のままで、既存の認証を使用します。
  • 生のヘルスチェック履歴は保持されません。現在のカウンターと集約SLOウィンドウは再起動後も存続します。測定カバレッジのギャップは明示的です。測定SLO定義を参照してください。
  • JSONは増分的にデコードされます。YAMLはモニターにブロックシーケンスを必要とし、各エントリとメタデータを1 MiBに制限します。両方の形式には展開後の入力バジェットがあります。メモリ使用量はモニター数に応じて増加します。容量はチェック間隔、ターゲット、およびホストリソースに依存します。
  • ワーカースケーリングは、Allen-Cunneen変動調整を伴うErlang Cと15%のデフォルトヘッドルームを使用します。到着間隔と実行時間は最新の256観測を使用します。モデルは平均レイテンシを推定します。観測されたパーセンタイルフィードバックは、30秒の制御ウィンドウ、制限された成長、および容量を削減する前の健全なホールドを使用します。5分間のヘルスチェック目標は、p99キュー遅延≤250 msおよびスケジュールからコミットされた結果まで≤5秒です。ワーカー制限は残ります。これらはSLA保証ではなく測定目標です。
  • 設定は起動前にロードされます。ライブリロードとランタイムキューの移行はサポートされていません。

チェックとパッケージ

make check
make test-all-drivers

ダッシュボードの再ビルドにはNode.js 24.21.0、pnpm 11.22.0、およびPython 3が必要です:

make dashboard-build dashboard-check
make release VERSION=v0.1.0

記録されたリリースレシピは、チェックサムで固定されたGo 1.27.1コンパイラと明示的なソースIDを使用します。Linux、macOS、Windowsのamd64/arm64向けに、ストリップされていない最適化されたサーバー/クライアントアーカイブ、Linuxパッケージ、ソースアーカイブ、およびエビデンスインベントリを生成します。Go 1.25の互換性は別のテストです。ネイティブ実行ゲートが各プラットフォームを認定します。クロスビルドの成功だけではサポートを確立しません。

バージョン付きインストールにはGoとコミットされた埋め込みアセットのみが必要です:

go install github.com/ziad-hsn/cpra@VERSION
go install github.com/ziad-hsn/cpra/cmd/cpractl@VERSION
cpractl local init
cpra -capabilities
ツールをダウンロード