Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ
参考 http://wiki.nginx.org/Phases (2016.3追記)上記のURLは ページがなくなっていました。残念ながらオフィシャルページで似た記載が見当たりません。下記あたりを参照してください。 http://www.aosabook.org/en/nginx.html#sec.nginx.internals http://www.nginxguts.com/2011/01/phases/ http://www.programering.com/a/MzN4MzMwATY.html http://www.slideshare.net/joshzhu/nginx-internals/37 lua-nginx-module がフックする処理 lua-nginx-module は、上記の nginx の Phase のうち、Rewrite, Access, Content,
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
なぜ? ヤマハのRTXルーターにリモートアクセスVPN(L2TP/IPsec又はPPTP)の設定をして何年か使ってきましたが、その間ずっと思ってきたことがあります。それは、RTXルーターにVPN接続があったことをVPNユーザー名と共に知りたいということ。いちいちsyslogを遡って確認するのではなく、例えばVPN接続があったらその時点でメールで知らせてくれたらどんなに便利だろうと思っていた。この度、RTX1210に乗り換えたこともあり、どうすれば実現できるか調べてみた。 調査結果 RTXルーターには不正アクセスがあった場合なんかにメール通知するというコマンドはあるけども、VPN接続があったことをメール通知してくれるそれ専用の機能はない(はず)。他の方法を探すと、なにやらRTXルーターはLuaスクリプト(ヤマハ公式サイト)というものが実行できるらしく、設定サンプルを見るとsyslogを拾った
はじめに YAMAHAルーターでネットボランチDNSサービス以外のDDNSを使用したく思い、Luaスクリプトでどうにかできないか調べたところ NVR-500でDynDNSの登録更新をしてみた という記事を見つけたのでインスパイアされてみました。 以下の記録はすべて NVR700W でのものとなります。 元ネタが NVR500 向けなのでネットボランチ系のルーターであればおそらく同様に動きますが、HTTPクライアント機能に対応したバージョンのファームウエア(_RT_LUA_VERSION_NUM >= 102)を搭載している必要があります。 動作 ルーターの起動時にLuaスクリプトをスケジュール実行して常駐します。 syslogwatch 経由でPPPoEのlocal側 IPアドレスを監視し、変動があれば取得したIPアドレスでDDNSを更新します(IPアドレスが同じであれば更新しません)。D
今までヤマハルータを使って様々なネットワーク構築例を紹介しました。 今回はネットワーク構築ではなく、ルータの状態を定期的にメールで通知したり、動作を通知する設定を紹介します。 ヤマハルータではLuaスクリプトを実行することができます。今回はヤマハで公開している様々なLuaスクリプトを参考に設定を行ってきます。 尚、Luaスクリプト機能を利用することで以下のようなことができるようになります。 ルータの動作状況(showコマンドの出力結果)を定期的にメールで通知 特定のパソコンまたは複数のパソコンとの通信監視 ログの監視 ルータの状態(CPU使用率やメモリ使用率)などを定期的にメールで通知 ルータの異常な状態時(ハードウェアや回線の過負荷)にメールで通知 Luaスクリプトの実行までの手順 ここからはLuaスクリプトをルータで実行させるまでの手順を紹介します。 ルータの設定内容 まずは今回使用す
FlashAir開発者向け非公式wiki 東芝から発売されているFlashAirを用いた開発を行う人々向けのまとめwikiです。※本wikiは東芝及びフィックスターズ、キオクシアとは何の関係もありません。お問合わせは管理者へお願いします。 トップページページ一覧メンバー編集 × Luaスクリプトサンプル集 最終更新: gps_nmea 2020年02月27日(木) 22:14:19履歴 Tweet FlashAirのLua機能のスクリプト例の紹介ページです。 Luaスクリプトサンプル集 どなたでも編集できますので、良いスクリプトがありましたら、どんどん投稿してください。 投稿の際には、ページを新規作成し、このページ上にリンクしてください。 ⚠ページタイトルは、「Lua:」からスタートしてください。 ⚠スクリプトのライセンスに関する表記を必ずしてください。 表記のないものは、MIT Lice
これはクローラー/Webスクレイピング Advent Calendar 2015の9日目の記事です。 本記事では、Scrapinghub社*1が開発しているSplashというオープンソースソフトウェアを紹介します。 github.com JavaScriptを使ったページからスクレイピングする方法としては、PhantomJSとSelenium/CasperJSなどの組み合わせが一般的ですが、これらとは少し違う手段として使えるかもしれないソフトウェアです。 私自身Splashを最近知ったばかりで、軽く探した限りでは日本語の情報もないので、調査しつつSplashの使いドコロを探ってみたいと思います。 Splashとは READMEには以下のように書かれています。 Splash is a javascript rendering service with an HTTP API. It's a
Site Reliability Engineering(SRE) Teamの@cubicdaiyaです。 今回は数あるnginxのサードパーティモジュールの中でも一際強力で、メルカリでも活用しているngx_luaの便利な活用方法や最適化集について紹介します。 ngx_luaは軽量スクリプト言語のLuaでnginxを拡張できるモジュールです。 nginxの設定ファイル内にLuaのコードを埋め込んだり、nginxの拡張モジュールをCではなくLuaで開発することができます。以下はngx_luaにおける「Hello, World!」です。 location / { content_by_lua 'ngx.say("Hello, World!")'; } 上記のロケーションにHTTPでアクセスするとnginxはボディが「Hello, World!」のレスポンスを返します。 なお、先月末にリリースさ
Jobs at SeatGeek We are growing fast, and have lots of open positions! Explore Career Opportunities at SeatGeek **TL;DR:** We built OAuth2 authentication and authorization layer via nginx middleware using lua. If you intend on performing this, read the docs, automate what you can, and carry rations. As SeatGeek has grown over the years, we’ve amassed quite a few different administrative interfaces
Wikimedia の公式ブログ記事によれば、Wikimedia 財団は、管轄するプロジェクトで プログラミング言語 Lua を使ったテンプレートの利用の開始したと発表した。英語版ウィキペディアなど、一部は先行して実装していたが、これにより全てのプロジェクトで有効になった。 これまで、MediaWiki では独自のテンプレート言語を使ってきたが、複雑で、かつパフォーマンスにも難があった。今回の動きで MediaWiki 上で Lua によるコードを含めたテンプレートを作成できるようになり、それによりより簡潔でパワフルなテンプレートが作成可能になった。そのうちの一部は英語版ウィキペディアの Category:Lua-based templates のページから確認できる。同等の機能を自前の MediaWiki に組み込むには、Extension:Scribunto を利用する必要がある。
Fluentd meetup in Japan #2 #fluentd on Zusaarに参加中の@fukataです。 弊社で作成している広告配信エンジン部分のログ収集にfluentdの使用を検討しています。現在の配信エンジンはc + luaで構成されています。そこで、luaからfluentdに書き込みたかったのでモジュールを作成(修正)したので、fluent-logger-luaについて書きたいと思います。 ちなみにFluentd meetup in Japan #2の会場からリリース記事書いています。 fluent-logger-luaは既にfluent.logger_luaがあったので、本人に許可を頂いて、ほぼ同等コードにエラー周りのコードを追加したものをngigroup-developer/fluent-logger-luaとして公開しました。 msgpackのモジュールがfor
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 といいつつも、そこまで大したことはしていない。 luaという高速に動作する組み込み系のスクリプト言語で遊んでみたかったのと、それだったmod_luaで遊んでみればいいなと思っただけである。で、実際にmod_luaをコンパイルして遊んでみた。コンパイルオプションは以下。 ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --enable-modules=all --enable-mods-shared=all --enable-mpms-shared='prefork worker event' -
先週ネット通販サイト「Kohga.zh」でかったビックバイパー。入金確認から発送まで32F、家につくまで538Fと非常に早かった。そしてゲームをし始めたTASさんは弾が出ないことに気が付いた。よく見るとこれは「VIC WIPER」だった。説明書には機銃の代わりに歯医者のドリルが付いているとのこと。しかし、せっかくのビックワイパーだ。遊ばないわけにもいかない。こうしてTASさんのドリルグラディウスが始まった。───以下、うp主から───総フレーム数:48794追記回数:2752luaスプリクトを使ってキー入力を音げー風にしてあります。TAS動画なので普通の人にもできるようになっていますので、ぜひお試しを。speed runではないので注意9月以降になるけれど、二週目やる
せっかく Lightroom を買った ので、Lightroom に詳しくなろう、と思って Lightroom SDK を触ってみました。Lightroom では Lua でプラグインを書くことができます。Lua は C 言語に組み込んで使うのが簡単なようで、Wireshark やいくつかのオンラインゲームなどに組み込まれているようです。また、Lightroom はプラグインだけでなく、本体の開発も Lua で行われているようです。興味深いですね。例えばAdobeの画像処理ソフトウェア「Lightroom」では、40%に相当する部分がLuaで記述されているという。[Think IT] 第2回:言語開発者が目標にするパフォーマンス「Lua」 (1/3)さっそくプラグインを作ってみたさて、その Lua を使ったらどんなことができるのか調べるために、簡単にコードを eval できるプラグインを作
最近、基礎文法最速マスターというプログラミング言語の解説が流行ってるようなので、便乗してみた。個人的にはC++やPythonの方が慣れ親しんでいるのだが、自分でも勉強できるように普段使っていない言語を書いてみることにした。以前にここのブログで言及した言語、Processing、Erlang、Lua、PowerShellなどの中でもErlangとLuaに興味があったので、比較的書きやすいLuaを選んでみた。 何故Luaなのか? Wikipediaによると、Luaはブラジル・リオデジャネイロのカトリカ大学で生まれた手続き型言語だ。高速な動作、高い移植性、組み込みの容易さが特徴だ。また、ホストプログラムへの組み込みが容易であることもあって、コンピュータゲームなどで利用されている。有名どころでは、PlayStation HomeやWorld of Warcraftなどがある。また、小飼弾氏もなんて
結構前に買ったエキスパートPythonプログラミングですが、案の定当時の自分にはちょっとレベルが高かったので寝かせてたのですが最近また再開してます。それで、コルーチンを実装するってところがよくわかんなかったので、ネイティブでコルーチンを実装してるLuaをやってみようと思い立ったのでした。 以下、自分用の備忘録ですがせっかくなので公開用にまとめてみました。 といってもチュートリアル自体はめちゃめちゃ簡単です。問題は自分の編集能力の低さですね。 Windowsへのインストール luaforwindows - Installation of Lua for the Windows operating systems including many lua libraries. - Google Project Hosting から「LuaForWindows_v5.1.4-40.exe」をダウンロ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く