Submit Search
Laravelのログにエラーが吐き出されたら自動的にBacklogにログ内容を記載したチケットを作成する #sa_study
1 like
1,944 views
Hikari Fukasawa
2019/04/19に行ったスタジオ・アルカナ社内勉強会で使用したスライドです。
Technology
Read more
1 of 18
Download now
Download to read offline
1
2
3
Most read
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
More Related Content
PDF
【勉強会資料】Systems Managerによるパッチ管理 for PCI DSS
Nobuhiro Nakayama
PDF
Amazon VPC VPN接続設定 参考資料
Amazon Web Services Japan
PDF
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
Amazon Web Services Japan
PDF
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
PDF
AWS Black Belt Online Seminar 2017 Auto Scaling
Amazon Web Services Japan
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
PPTX
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
PDF
Black Belt Online Seminar AWS上の暗号化ソリューション
Amazon Web Services Japan
【勉強会資料】Systems Managerによるパッチ管理 for PCI DSS
Nobuhiro Nakayama
Amazon VPC VPN接続設定 参考資料
Amazon Web Services Japan
20180704(20190520 Renewed) AWS Black Belt Online Seminar Amazon Elastic File ...
Amazon Web Services Japan
Linux-HA Japanプロジェクトのこれまでとこれから
ksk_ha
AWS Black Belt Online Seminar 2017 Auto Scaling
Amazon Web Services Japan
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
分散ストレージ技術Cephの最新情報
Emma Haruka Iwao
Black Belt Online Seminar AWS上の暗号化ソリューション
Amazon Web Services Japan
What's hot
(20)
PDF
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
PDF
サーバレスアーキテクチャで実現した「M-1グランプリ」敗者復活戦投票システム
Eiji KOMINAMI
PPTX
Elasticsearchインデクシングのパフォーマンスを測ってみた
Ryoji Kurosawa
PDF
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
Amazon Web Services Japan
PDF
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
Amazon Web Services Korea
PDF
おひとりさまAWS Organizationsのススメ
Makio Tsukamoto
PDF
20201008 AWS独自設計推論チップInferentiaとInf1インスタンス
Hiroshi Tokoyo
PPTX
AWS Amplify 入門
Hideaki Aoyagi
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
PDF
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
PDF
AWS Black Belt Online Seminar 2017 AWS Shield
Amazon Web Services Japan
PDF
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
hideakikabuto
PDF
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
Amazon Web Services Japan
PDF
会社概要_株式会社サーバーワークス
Serverworks Co.,Ltd.
PDF
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
PPTX
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
西岡 賢一郎
PDF
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
PDF
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
PDF
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
LINE Corporation
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
サーバレスアーキテクチャで実現した「M-1グランプリ」敗者復活戦投票システム
Eiji KOMINAMI
Elasticsearchインデクシングのパフォーマンスを測ってみた
Ryoji Kurosawa
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
Amazon Web Services Japan
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019
Amazon Web Services Korea
おひとりさまAWS Organizationsのススメ
Makio Tsukamoto
20201008 AWS独自設計推論チップInferentiaとInf1インスタンス
Hiroshi Tokoyo
AWS Amplify 入門
Hideaki Aoyagi
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
崇之 清水
AWS Black Belt Online Seminar 2017 AWS Shield
Amazon Web Services Japan
これで怖くない!?大規模環境で体験するDB負荷対策~垂直から水平の彼方へ~
hideakikabuto
AWS Black Belt Tech シリーズ 2016 - Amazon SQS / Amazon SNS
Amazon Web Services Japan
会社概要_株式会社サーバーワークス
Serverworks Co.,Ltd.
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
機械学習用のデータを準備する Amazon SageMaker Data Wrangler - ノーコードで前処理から学習まで
西岡 賢一郎
AWS Black Belt Online Seminar 2016 AWS CloudFormation
Amazon Web Services Japan
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
ソフトウェアでのパケット処理あれこれ〜何故我々はロードバランサを自作するに至ったのか〜
LINE Corporation
Ad
More from Hikari Fukasawa
(14)
PDF
『バーチャルキャスト』で自己紹介 #sa_study
Hikari Fukasawa
PDF
アルカナのサーバーサイド開発を見直してみたい #sa_study
Hikari Fukasawa
PDF
Unity&VR初心者が UnityでVRゲームを つくってみたい #sa_study
Hikari Fukasawa
PDF
まよいの墓 - HackDay2017 #hackdayjp
Hikari Fukasawa
PDF
Phpstormをつかいはじめました〜序〜 #sa_study
Hikari Fukasawa
PDF
24時間ハッカソン応援システム『ちくるちゃん』@HackDay2016 #hackdayjp
Hikari Fukasawa
PDF
抱負をわすれたくない #innocafe
Hikari Fukasawa
PDF
みんなでおばけになる #mlkcca
Hikari Fukasawa
PDF
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
PDF
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
Hikari Fukasawa
PDF
【あらすじ】PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@第94回PHP勉強会 #phpstudy
Hikari Fukasawa
PDF
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hikari Fukasawa
PDF
PHPer女子が語る!こんなコードを書くヒトはモテない~きほん編~@PHPカンファレンス2014
Hikari Fukasawa
PDF
スマホの動画をテレビで再生!動画共有アプリがChromecastと歩む物語|DevLOVE現場甲子園2014 東日本大会
Hikari Fukasawa
『バーチャルキャスト』で自己紹介 #sa_study
Hikari Fukasawa
アルカナのサーバーサイド開発を見直してみたい #sa_study
Hikari Fukasawa
Unity&VR初心者が UnityでVRゲームを つくってみたい #sa_study
Hikari Fukasawa
まよいの墓 - HackDay2017 #hackdayjp
Hikari Fukasawa
Phpstormをつかいはじめました〜序〜 #sa_study
Hikari Fukasawa
24時間ハッカソン応援システム『ちくるちゃん』@HackDay2016 #hackdayjp
Hikari Fukasawa
抱負をわすれたくない #innocafe
Hikari Fukasawa
みんなでおばけになる #mlkcca
Hikari Fukasawa
PHP7を実際に動かしてみた@第96回PHP勉強会 #phpstudy
Hikari Fukasawa
PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@PHPカンファレンス2015 #phpcon2015
Hikari Fukasawa
【あらすじ】PHPer女子が語る2015!こんなコードを書くヒトはモテない〜コラボ編〜@第94回PHP勉強会 #phpstudy
Hikari Fukasawa
Hello Girl's World!!@女子エンジニアLT会 #dotsgirls
Hikari Fukasawa
PHPer女子が語る!こんなコードを書くヒトはモテない~きほん編~@PHPカンファレンス2014
Hikari Fukasawa
スマホの動画をテレビで再生!動画共有アプリがChromecastと歩む物語|DevLOVE現場甲子園2014 東日本大会
Hikari Fukasawa
Ad
Laravelのログにエラーが吐き出されたら自動的にBacklogにログ内容を記載したチケットを作成する #sa_study
1.
Laravelのログにエラーが吐き出されたら自動的にBacklogにロ グ内容を記載したチケットを作成する 20190419ARCANAMeetup#49 HikariFukasawa@hico00
2.
依頼されました リーダー 「CloudWatchから発行されるバグチケットが見辛いから、 エラー内容とか追記されるようにしてっ!」
3.
当時の通知仕様 1.エラーが発生すると、laravel.logにstacktraceが吐き出される。 2.CloudWatchで"stacktrace"の文字列がログファイルに吐き出されると、アラートが発生するよ うなアラームを設定。 3.アラートが発生すると、Backlogにメール(AWSSNS)でチケット登録する。 4.チケットが登録されたら、CloudWatch上で該当時間のログファイルを確認。(余裕があれば、 チケットの件名を書き換えたり)
5.
確かに見辛いというか、めんどかった
6.
やりましょう すでにCloudWatchでアラームは設定されているので、AWSSDKを使ってログ内容を取得する ようなLambda関数を作成します。 laravel.logにstacktraceが吐き出されているので、それの内容をすべて抽出。
7.
構成 CloudWatch‑>SNS‑>Lambda‑>SNS(Backlogのメール課題登録)
8.
CloudWatchから渡されるデータ { AlarmName: 'php7app-stg20-ERROR', AlarmDescription: null, AWSAccountId:
'217903947487', NewStateValue: 'ALARM', NewStateReason: 'Threshold Crossed: 1 datapoint [1.0 (20/03/19 09:27:00)] was StateChangeTime: '2019-03-20T09:42:59.895+0000', Region: 'Asia Pacific (Tokyo)', OldStateValue: 'OK', Trigger: { MetricName: 'php7app-stg20-ERROR', Namespace: 'LogMetrics', StatisticType: 'Statistic', Statistic: 'SUM', ・・・省略 } }
9.
AWSSDK(JS) 使うメソッド 1.describeMetricFilters() 2.filterLogEvents()
10.
describeMetricFilters 指定されたメトリクスフィルタの一覧を取得する https://docs.aws.amazon.com/ja_jp/AmazonCloudWatchLogs/latest/APIReference/API_Delete MetricFilter.html CloudWatchから渡される情報だけだと足りないので、詳細を取得する。 metricNameとmetricNamespaceの2つをパラメーターで渡す。
11.
describeMetricFiltersのレスポンス { metricFilters: [{ filterName: 'stg20-ERROR', filterPattern:
'stacktrace', metricTransformations: [Array], creationTime: 1553058610295, logGroupName: 'kimisuka-stg-20/php7app/srv/current/storage/logs/laravel.log' }] }
12.
filterLogEvents 指定されたロググループからのログイベント一覧を取得する https://docs.aws.amazon.com/ja_jp/AmazonCloudWatchLogs/latest/APIReference/API_FilterL ogEvents.html describeMetricFiltersで取得したデータを元に取得する。 logGroupName,filterPettern... limit:取得件数 startTime/endTime:時間範囲をUnixタイムスタンプ(ミリ秒)で指定
13.
filterLogEventsのレスポンス { events: [ { logStreamName: 'php7app1', timestamp:
1553249141154, message: '[2019-03-22 19:05:40] staging.ERROR: Undefined variable: input { ingestionTime: 1553249146221, eventId: '34638613326711879619236554788766527172305841119978192896' }, { logStreamName: 'php7app1', timestamp: 1553249141154, message: '[stacktrace]', ingestionTime: 1553249146221, eventId: '34638613326711879619236554788766527172305841119978192897' }, ...省略 ] }
14.
request.logの取得 laravel.logと同じディレクトリに存在しているので、logGroupNameの"laravel.log"箇所を書き 換えて取得。
16.
おわりに AWSLambda関数を作成するとき、ブラウザ上で直接コードを書くことはおすすめしません… (ブラウザで開きっぱなしとかにしてると、セッションが切れて強制的にログインし直す必要が 出てきた時、保存されてない変更内容は…(お察し))
17.
参考 CloudWatchでエラーログの内容を通知させたい|Qiita https://qiita.com/onooooo/items/f59c69e30dc5b477f9fd
18.
ご静聴ありがとうございました。
Download