最近...
全然記事を書いていないので、書かなければいけないなと思いつつなかなか筆が進んでおりません。
ネタ
- Azure Cloud Shell
- Azure Container Instance
- Azure Database for MySQL/PostgreSQL
Fukuoka.NET#5で登壇してきました
1/27に開催されましたFukuoka.NET#5で登壇してきました。
C#やVB.NETなどMicrosoftの.NETに関するコミュニティです。通称「ふくてん」。
Fukuoka.NET - ふくてん
と言っても私はC#ビギナー!!
年末にXamarinや.NET Coreを使ったくらいで・・・
今回は.NET CoreをメインにOSSを使って、AzureVM構築から.NET Core環境、新規プロジェクトのデプロイまでを行いました。
Terraform
Ansible
Ansible is Simple IT Automation
続きを読むXamarin Dev Days Hands-On手順と自前のWebAPIを使ってiOS/Androidアプリを作る
このエントリは Xamarin(その2) Advent Calendar 2016 - Qiita の24日目です。
ぎりぎりクリスマスイブ中に投稿できたと思います。
今回はXamarinです。
Azure上に.NET Coreでモバイルバックエンドを作ってみる - 我水也 にあるように自分でAzure API AppにデプロイしたなんちゃってWebAPIを使って、Xamarin Dev Days Hands-On手順書に沿ってアプリを実装してみたいと思います。
手順書はこれ GitHub - xamarin/dev-days-labs です。
日本語版はちょまどさんが作成しているこれ xamarin-dev-doc/hands-on at master · chomado/xamarin-dev-doc · GitHub です。
Azure上に.NET Coreでモバイルバックエンドを作ってみる
このエントリは Microsoft Azure Advent Calendar 2016 - Qiita の17日目です。
最近弊社で Xamarin に取り組んでいることもあり、全然モバイル畑ではないですが、勢いで Xamarin(その2) Advent Calendar 2016 - Qiita にもエントリしてしまったので、Azure側でバックエンドを実装してみようと思います。
続きを読むRailsのエラーログをAzure Application Insightsに集約する
運用中のWebアプリに問題が発生した際に、エラーログから原因を探ったりすることがありますよね。
その際に、幾つものサーバーのログを確認したりしませんか?結構面倒ですよね。
私は面倒です。
1箇所にまとまっていれば...いちいちサーバーにログインしてログを目grepするのは...
Azureに、Application Insights(PREVIEW)というWebアプリ向けのパフォーマンス監視が出来るものがあります。
今回はRuby on Railsを使いたいのですが、実はMicrosoft純正のgemがあります。
github.com
・・・ですが、これ・・・
> Ruby 1.9.3 is currently supported by this gem.
とあるんですよね。
Ruby 2.0.0以降で使えないかな〜と探していたところ、ありました!
github.com
本家を活用した Ruby 2.0 or later 向けのgemです。ありがたや、ありがたや。
今回はこれを使ってみたいと思います。
利用した環境は次の通りです。
まずは、AzureポータルでApplication Insightsの準備
メニューでApplication Insightsを選択し、「+Add」を選びます。
適当なNameを入れ、今回はApplication Typeを「Other (preview)」にします。
あとはそれぞれ適当なものを選び、「Create」。
作成されたら、「Properties」の「INSTRUMENTATION KEY」をメモっておく。
次にRailsプロジェクトに移ります。
Gemfileに以下を追記します
gem 'appinsights'
追記したら、いつも通り。
$ bundle install
あとは設定ファイルを作成したら準備完了です。
config/application_insights.toml
[ai] instrumentation_key = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' custom = 4 properties = 'belong to the context' # Contracts configuration [ai.application] ver = '0.5.0' [ai.device] id = 'hoge' os = 'hogehoge' # Enable/Disable Middlewares [[middleware]] name = 'AppInsights::ExceptionHandling' enabled = true [[middleware]] name = 'ApplicationInsights::Rack::TrackRequest' enabled = true [middleware.initialize] instrumentation_key = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' buffer_size = 500 send_interval = 60
この設定ファイルはTOMLという形式を使っています。
TOMLについては、こちらの記事をどうぞ。
qiita.com
あとはアプリを起動して待つだけです。
上記設定では通常のリクエストもApplicationInsightsに登録され、エラー時にも登録されます。
こんな感じになります。
例外発生時にはerror_messageが表示され、詳細はこんな情報が見れます。
backtraceもしっかり表示され調査・分析しやすいです。
サーバー毎にログ確認をする手間が省けますので、是非使ってみてください。