New Relic ステータス API から JSON を取得し、コンポーネントのステータスを解析し、問題をログに記録します。
要件:
- ステータス API アクセス。
- ログ取り込み権限。
このワークフローの機能:
- New RelicステータスAPIからJSONデータを取得します
- コンポーネントを動作状態別に抽出し分類します
- 条件付きで運用コンポーネントをログに記録する(有効な場合)
- 条件付きで非動作コンポーネントをログに記録する(有効な場合)
- HTTPエラーを処理し、エラーメッセージをログに記録します
キーアクション: http.get 、 newrelic.ingest.sendLogs
name: parse_status_api
steps: - name: fetchStatus type: action action: http.get version: 1 inputs: url: 'https://status.newrelic.com/api/v2/summary.json' selectors: - name: operational expression: '.components[] | select(.status == "operational") | .name' - name: degraded expression: '.components[] | select(.status != "operational") | .name'
- name: logNonOperational type: action action: newrelic.ingest.sendLogs version: 1 inputs: logs: - message: 'Services with issues: ${{ .steps.fetchStatus.outputs.degraded | tostring }}' attributes: operationalServices: ${{ .steps.fetchStatus.outputs.operational }}