汎用ポリシー言語Rego + OPAと認可・検証事例の紹介 / Introduction Rego & OPA for authorization and validation

The product is great and the customer service is fantastic as well. —Remi Silva, Blanktag 12% of pages load with errors. About 0% are reported by users. Every minute people are left frustrated by broken software. It doesn't have to be like this. CatchJS tracks any JavaScript error that happens on your site, and notifies you when new problems happen.
console.log関連についてまとめました。 モダンブラウザであればどれも使用できると思いますが、基本出力結果等はchromeで確認したものです。 console.hogehogeのいろいろ console.log 基本 引数を入れることで出力結果をカスタマイズできます console.info、console.warn、console.error それぞれで見た目を変えることができます。 console.assert 式を評価してfalseの場合にログ出力します。 console.count ログの出力結果が同じ場合にカウント数が自動的に増えていきます。 console.dir オブジェクトのプロパティの中身をログに出力します。 console.dirxml HTMLとかXMLの要素を渡すと、下の要素が全部見れるようになります。 console.group、conosle.group
こんにちは、nekoyaです。 システムを日々運用していく中で、その処理結果の記録や異常検知の仕組みは地味ながらも大切な存在です。 各種監視ツールからの通知や、ブラウザから利用可能なWebインタフェースなど、その形態も様々です。 今回はその中から、バッチ処理の結果通知について、我々のチームが実践している方式をご紹介します。 loggerを通して記録する まず前提として、通知する内容はプログラマ自身が出力することが基本になります。 自分はここ数年はPythonをメインに使っていて、標準のloggingモジュールを通して import logging logger = logging.getLogger(__name__) logger.info('hello!') のようにログを吐いておくと、スクリプトの終了時にそれまで出力したログがいい感じに集約されて通知されるようにしています。 ログレベ
Innovation EGG 第8回 『可視化・課題と支える技術』セッションの資料です。
かつて、Log4jというロギングライブラリがありました。 最強でした。1999年のお話です。 ロギングの大切さとLog4jの素晴らしさが見直され、Java標準にjava.util.loggingというAPIが追加されました。2002年のお話です。 java.util.loggingはLog4jを参考に作られましたが、ところどころ使いづらかったため、「標準」という武器をもってしても、Log4jに置き換わることはできませんでした。そのため、Javaの世界には2つのロギングライブラリが残ってしまいました。 Maven1.0が2004年にリリースされ、人々はOSSライブラリを組み合わせてアプリケーションを作るようになりました。 ところが、ロギングライブラリが2つあったため、Log4jを使っているライブラリと、java.util.loggingを使っているライブラリが混在してしまい、アプリケーション
27. 27 host:::1<Tab>ident:MTkyLjE2OC41Ni4xMDE0MDkxMTk2ODQ<Ta b>user:1<Tab>time:[08/Apr/2015:10:00:00 +0900]<Tab>Request:GET /sample HTTP/1.1<Tab>status: 200<Tab>size:5039<Tab>referer:foo.com<Tab>agent:Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12A365 Safari/600.1.4<Tab>attr:Mjg0ZmUyMzk0Yzg0ZGIzZTIzYTI3N2ExY zhm One Line 28. 28 h
fluentdを使う時にまず知っておいたほうがよさそうなこと はじめに 朝からElasticsearchへのデータの投げ込み方を考えていました。 データベースやメッセージキューなどにデータを投げ込んでおいて、ニアリアルなバッチでElasticsearchに投げ込むよりも、fluentdを使う方が圧倒的に簡単で信頼性が高いものができますね。自分で作りこむのがバカらしくなりますね。 ということで、fluentd利用時に気を付けておきたいことについて調べてみました。内容は公式ドキュメントの内容をベースに自身で調べたことを追記しています。公式ドキュメントへのリンクも貼ってありますので適宜そちらをご覧いただければと。 環境 CentOS6.7 td-agent 0.12.19 Ruby2.2.2(リストアスクリプトで利用) Fluent-Logger(0.5.1) Elasticsearch2.1.
※2017/4/11追記: 新しいバージョンのFluentd 2.3 + Elasticsearch 5.3 + Kibana 5.3での環境構築記事を書きました。 totech.hateblo.jp 今年の冬休みは前々から気になっていた、ログ可視化ツールとして名高い3点セット、Fluentd + Elasticsearch + Kibana で遊んでみることにした。 ググればいたるところに構築手順はあるものの、バージョン違いなどで苦労した箇所もあったので、現時点の最新版を一から構築したときのメモを残す。 入れるバージョンは全て現時点での最新版である以下の通り。 Fluentd (td-agent 2.3.0) : ログ収集ミドルウェアで、今回はログファイルをElasticsearchへ転送する用途のみに使う Elasticsearch 2.1.1 : 全文検索システムで、データベースを内
Webフロントエンドの開発時にDevToolsを開くことはよくあるかと思います。ただ、画面の大きさを結構とりますし、常に開いておくのが邪魔という方もいるでしょう。 そこで使ってみたいのがscreenlog.jsです。console.logのように使えて、画面上にログを出力してくれるソフトウェアです。 screenlog.jsの使い方 screenlog.jsを使っているのでところです。右上にデバッグメッセージが出ています。 自動的にメッセージが追記されていきます。 screenlog.jsはconsoleオブジェクトの代わりにscreenLogオブジェクトを使います。ログのクリアもできるので、デバッグに活躍してくれるのではないでしょうか。 screenlog.jsはJavaScript製、MIT Licenseのオープンソース・ソフトウェアです。 chinchang/screenlog.j
こんにちは。インフラストラクチャー部 セキュリティグループの星 (@kani_b) です。 主に "セキュリティ" や "AWS" といったタグのつきそうなこと全般を担当しています。 Fluentd などのデータコレクタ、Kibana やその他 SaaS による可視化、Kafka, Kinesis, Spark などのストリーム処理といった様々な分野で「ログの処理」がホットですが、アプリケーションのログ (行動ログなど) に関する話題が多くを占めています。 そうしたログの他に重要なのが OS や各種ミドルウェアのシステムログです。これらはトラブルシューティングであったり、セキュリティ上の問題を見つけたり、といったことに使われますが、最低限 syslog でどこかに集約しているだけ、といった例をよく見かけます。 これらのログをきちんと検索可能にし、分析することで、今まで気づかなかったような問
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
「nginxでアクセスログにspdyのバージョンを出す」の時と同様にlog_formatで出力できる。 nginx 1.9.3 + patch.http2-v2で試す 環境構築は「nginx1.9.3 HTTP/2 パッチを試す」 設定 http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' 'h2:$http2'; access_log /var/log/nginx/access.log main; server { listen 443 ssl http2 ; ssl_prefer_server_ciphers on; ...このように、log_formatの部分に$http2を加えるだけ。 出力
突然Macのストレージが一杯に。原因は……?「お使いの起動ディスクはほとんど一杯です。」と出てきて「うそだろ承太郎!」と調べてみたところ、確かにほとんど空きがない。 容量を食いがちな写真や動画でもないようです。 さっぱり心当たりがないので、こういうときは何のファイルが容量を圧迫しているのかOmniDiskSweeperで調べてみるのが吉。 関連:Macの容量を空けたい人へ。フォルダやファイルのサイズが一目でわかるアプリ「OmniDiskSweeper」それで、調べて見た結果が以下。なんだこの「PDApp.log」っていうファイルは…400GB近くも占めとるやんけ……。 Adobe Creative Cloudのログファイル「PDApp.log」が原因だったググってみたところ発見したのが、以下の記事。 NELog.logに大量の書き込みはAdobe Creative Cloudの問題 | B
ども、大瀧です。 Dockerバージョン1.6でLogging Driverというプラガブルなログ機構が追加され、DockerコンテナのログをSyslogに送信するなど柔軟なログ構成ができるようになりました。 ログアグリゲータとして著名なFluentdのLogging Driverが最近Dockerのmasterブランチにマージされたので、試してみた様子をご紹介します。 検証環境 OS : Ubuntu 15.04 Vivid Vervet(AMI : ubuntu-vivid-15.04-amd64-server-20150616.1 (ami-0473a904) 東京リージョン) Docker : Master Binaries 1.8.0-dev/Git commit: 90024b9 まだリリースされていない段階なので、最新リリースのDockerパッケージをインストールした状態でG
こねたです。 以下のようにするとログ出力のときに、呼び出し元メソッド名まで出力できます。 (と書いたけど、改めてstackoverflowを見たら、.Net4.5からもっと簡単に取得できるみたいです。CallerMemberNameAttribute Class) ※ リリースビルドでこれを利用するためには、PDBファイルを生成しておく必要があります。 [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.NoInlining)] private void log(LogLevel logLevel, String message, params Object[] objs) { if (!isOutput(logLevel)) { return; } co
Q2:ログイベントをバッファリングするには? AsyncAppender によってログイベントをバッファリングし、バッファが満杯になったら非同期でログ出力することができます。 <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> <param name="BufferSize" value="64" /> <appender-ref ref="FOR_LOG4J_PERFORMANCE" /> </appender> AsyncAppender は他のアペンダを非同期化するためのアペンダで、上の例では appender-ref 要素で非同期化するアペンダを指定しています。尚、この記述は XML ファイルでしかできません。BufferSize パラメータはログイベントのバッファサイズです。デフォルト設定は 128 です
先日書いたマルチスレッド下のログ出力性能測定 - torutkの日記への補足となります。コメントで、log4jには、AsyncAppenderがあると教えてもらい、log4jでAsyncAppenderを使ったときの性能計測を先日のブログに追加しました。 ここでは、AsyncAppenderを設定した際のメモを記述します。 設定ファイルはXMLが必要 log4jの設定は、PropertyConfiguratorを使って、Javaのプロパティ形式で記述するのが一般的(?)です。 しかし、AsyncAppenderを使うときは、設定をDOMConfiguratorを使って、XML形式で記述する必要があるとのことです。 参考URL http://www.nurs.or.jp/~sug/soft/log4j/log4j10.htm log4jの初期化は、DOMConfiguratorのconfig
ど忘れしていたのでメモです。 LinuxでApacheのログローテート時に、プロセスをgracefulしたつもりが何らかの原因によりできていなくて、その後古いログファイルを圧縮して、いらなくなったその生ログファイルをrmしたつもりが、プロセスはそのログファイルのinodeを掴みっぱなしになっていて、古いログファイルにログを吐き続けていて困ったみたいな事があると思います。 その場合に、そのまま古いログファイルに吐き出さされているログをもう一度参照したいこともあります。差分がでてしまいますからね。 これinodeは掴みっぱなしだし、ディレクトリエントリからファイル名は消えているけど、fdもわかるから簡単にファイル内容取得できるはずだけどどうやるんだったかなーと思って試していたら、非常に簡単に取得できましたというメモです。 対象のプロセスからPIDを取得して、 ls -l /proc/PID/f
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く