この特別版ウェビナーでは、モニタリングおよび可観測性にログがなぜ重要なのかとDatadogの制約のないログ管理機能 Logging Without Limits™ で課題を解決する方法が学べます。
この記事は Go Advent Calendar 2018 の16日目の記事です。 Golangでプログラムを書く時にログを吐くの、どうしてますか? 本記事ではログを吐く際のコツというか気にして欲しい事項と、 なぜそうなるのかを解説していきます。 一概に「ログを吐く」と言っても、 ライブラリからログを吐く場合とアプリケーションから吐く場合では 相当に事情が異なります。 TL;DR ライブラリ(パッケージ)を書く時は… まずログを吐かないことを検討しましょう。 error で返してライブラリのユーザーにログへ吐かせるかどうかを選ばせましょう。 *log.Logger を使いましょう。 デフォルトは log.Printf に対して吐き(またはそれと同等のログを吐く)、 ライブラリユーザーの設定で任意の *log.Logger に切り替えられるようにしましょう。 自前の Logger インターフ
まぁこれは基本的に膨大なログを見ている時に、ピンポイントで絞り込み検索をするという行動を前提としてるからだと思うんだけど、デバッグとかしてるときは「スゴク、コレジャナイ感…」がするわけです。 なので、そんな時はもう素直にkubectl get podsして、kubectl logs -f …. している自分がいました。 まぁこれでも充分なんです。充分なんですけど、辛い事が二つあって。 まず複数のコンテナにロードバランスされるペイロードに関しては自分が見てるコンテナにアクセスが来るとは限らないから全部のコンテナのログを見てるか、自分の見てるコンテナにアクセスが来るまで読み込み続けなければならない。 もうひとつは、開発をしている間の話なので、kubectl applyでdeploymentをガンガン入れ替えているのでコンテナもどんどん世代交代するわけです。そうすると… そう、当然コンテナはデコ
Home Rails Centralized Logging Guide Testing Appenders Metrics Signals Forking Log Rotation Filtering Customize Log Event GitHub Semantic Logger Semantic Logger is a feature rich logging framework, and replacement for existing Ruby & Rails loggers. Rails The rails_semantic_logger gem replaces the default Rails logger with Semantic Logger. It also reduces Rails logging output in production to almos
創造開発部インフラグループです。 (中の人:水野、中西) 昨今、SaaS 系のインフラツールが台頭してきています。 リブセンスでもかつて nagios で行っていたサーバ監視は、mackerel へと置き換わっています。 自社で持つものを厳選し、出せるものは外に出していくことで Web 企業のインフラエンジニアとして注力したい箇所へリソースを割くためにもこの手の SaaS 系ツールには注目しています。知らないだけで便利なサービスは他にもあるだろうということでリサーチを開始しました。 今回は、数ある SaaS のツールの中でもログ収集系に絞ったまとめとなります。 サーバログを管理したい時 オペレーション時に複数のターミナルを開いてログを見ながら作業を行うケースは多々あるかと思います。これから紹介するツール群は条件などで絞ったログや複数ホストのログを1枚の画面で出力してくれるツールとなります。
佐野です。ここ2ヶ月くらい坐骨神経痛を患って、座ると痛い、立つと痛い、歩くと痛い、朝起きると痛い、くしゃみすると痛い。靴下がはけない(痛いから)、しゃがめない(痛いから)、夜痛みで目が覚める。という生活をしています。こちらの記事( 頭痛に耐えかねて自殺する人も…【激痛を伴う病気ワースト5】 )によると、痛すぎる病気ワースト4位らしいです。さて、ご近所のplaidさんからlogdnaというログ収集サービスを教えていただいたのですが、試してみました。 logdna logdna https://logdna.com/ ローンチは2016年、つまり今年のようです。fluentd同様、エージェントをサーバに棲ませて、それがログをlogdnaに転送します。トレジャーデータ似ていますが、まだ機能は少なくて分析などはできないです。特定文言のハイライト、通知、grep...など全サーバのログを一覧するよう
Golangのerrorにはスタックトレース情報はない.基本は必要ないと思うし困ったこともない.一方で新しくプロジェクトに入りかつコードベースに慣れてない場合はどこが問題かアタリをつけるためにあっても良いとも思う.pkg/errorsを使ってるならそれはすぐに実現できる. pkg/errorsの基本的な考え方についてなどは GoCon 2016 springの後に "Golangのエラー処理とpkg/error"にまとめた(作者のDaveのブログ記事は "Don’t just check errors, handle them gracefully").ここで強調して書いたのはちゃんとエラーをアノテートする(何をしてそのエラーが発生したかの状況を付加する)ことである.特に外部のパッケージとやり取りする場合,つまりまともなエラーメッセージが返ってこないかもしれない場合,pkg/errorsの
アジャイル開発に取り組むチーム向けのコーチングや、技術顧問、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください(初回相談無料) みなさんこんにちは。@ryuzeeです。 6月10日にAmazon Web Services企業導入ガイドブックが発売になっていますのでよろしくお願いします。 さて今回はAWS上でログ収集と分析をする際に、Amazon Elasticsearch Serviceを使う前提とした場合だとどのような構成案がありそうかいくつか考えてみたのでご紹介します。 なお、検討の材料にしている全体の構成としては、複数のVPC(またはAWSアカウント)があって、さらにオンプレ側とDirect ConnectやInternet VPNで接続しているような、よくあるそれなりの規模の構成になります。 各VPCの中には複数のサブネットがあり、そのうちの
(本稿は、QCon London 2016で行った講演の内容に基づいています。スライドとビデオは近日中に掲載予定です) 2014年に開催された最初のGopherConで、私は「 Best Practices in Production Environments(本番環境でのベストプラクティス) 」と題した講演を行いました。 SoundCloud の私たちはGoのアーリーアダプターで、その時点までに既に2年近く、本番環境向けの様々なGoコードを書き、実行し、メンテナンスしていました。そして私たちはいくつかのことを学んだので、その教訓をまとめ、多くの人に伝えたいと思ったのです。 それ以来、私はフルタイムでGoを使う仕事を続けています。SoundCloudではその後の活動やインフラチームで、そして現在は Weaveworks で Weave Scope や Weave Mesh の開発に使ってい
1. Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. Experience Design 2016 SPRING - Data × Design - DeNAの 機械学習・深層学習活用した 体験提供の挑戦 株式会社ディー・エヌ・エー 濱田晃一 Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. 2. Copyright (C) 2016 DeNA Co.,Ltd. All Rights Reserved. 2 AGENDA ◆DeNAのサービス ◆講師紹介 ◆最後に ◆深層学習の進展 ◆深層学習活用した体験提供 ◆機械学習活用した体験提供の挑戦 ◆機械学習活用したサービス開発 ◆はじめに ◆機械学習活用した体験提供
Site Reliability Engineering Teamの@cubicdaiyaです。 今回はGo製のログ転送エージェントであるfluent-agent-hydraとメルカリでの利用事例について紹介します。 メルカリとFluentd メルカリではAPIサーバのアクセスログやアプリケーション固有のログをはじめとする各サーバに散らばっているログデータを転送・集約するのにFluentdを活用しています。 具体的にはローカルに書き込まれるログファイルのin_tailやそれらを転送するための(out|in)_forward、ElasticsearchやBigQueryにログを放り込むためのプラグインを利用しているほか、いくつか特殊な用途のプラグインを独自に開発して運用してたりもします。 ログの流量とFluentdのパフォーマンス 多機能で柔軟なプラグイン機構を持つ便利なFluentdですが
モバイルファースト室の @rejasupotaro です。 クックパッドでは、サービスをリリースしてログを収集して分析して改善してまたリリースして、というサイクルを素早く回すことでより良いものを作るということをウェブではやってきました。 クックパッドのサービス開発のフレームワークをモバイルアプリでも適用したいのですが、モバイルアプリにはウェブアプリと違ったロギングの難しさがあります。 今回はモバイルアプリのロギングの問題点とPureeというログ収集ライブラリについて話します。 モバイルアプリのロギングの難しさ ウェブアプリでは、基本的にはサーバー側でログを収集することができますが、モバイルアプリの場合は画面の制御はアプリ側で行われ、APIを介してデータを受け取るため、クライアント側でログを収集して送信する必要があります。 アプリのログを収集するのに、画面遷移をしたりタップするたびにサーバー
Scenario You have an application written in Rails and want to collect data into MongoDB, HDFS, Elasticsearch, et. al. for analytics/search. Logging directly into MongoDB/HDFS/Elasticsearch is not highly recommended since synchronous logging is slow/potentially hazardous for the backend. You can build asynchronous logging into your application, but Fluentd can sit between your application and backe
The unsung heroes of log analysis are the log collectors. They are the hard-working daemons that run on servers to pull server metrics, parse loogs, and transport them to systems like Elasticsearch or PostgreSQL. While visualization tools like Kibana or re:dash bask in the glory, log collectors’s routing making it all possible. Here, we will pit the two of the most popular data collectors in the o
【追記 2018/01/06】現在Mackerelは、時系列データベースという概念をクラウドの技で再構築する - ゆううきブログの時系列データベース実装へ移行しています。 サーバモニタリングサービス Mackerel で採用している時系列データベース Graphite を用いたシステムの構築と運用事情を紹介します。Graphiteについては、プロビジョニングやアプリケーションからの使い方、Graphite自体のモニタリングなど様々なトピックがありますが、特に大規模ならではのトピックとして、Graphiteの内部アーキテクチャ、パフォーマンスチューニングおよびクラスタ構成についての知見を書きます。 背景 Graphiteシステム概観 データ構造とアーキテクチャ whisperのデータ構造 carbon-cacheのアーキテクチャ パフォーマンス特性 パフォーマンスチューニング ミドルウェアレ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く