ITとPythonに関するGedowFatherのブックマーク (6)

  • AWS Lambda Python2 を Python3 に変換した記録 | 外道父の匠

    わかっちゃいたけど後回しにしていた Lambda Python2、たまたまやる気が燃え上がったので Python3 に移行しました。 Python 自体はまぁそこそこの素人なので、詳しいことはあんま書かないで、やったこととか変更点のピックアップとかしていきたいと思います。 Python2 よや すら かに Python2 がこんな感じで終焉を迎えるので、 Python 2系終了のタイムリミット迫る。早く「3系」に切り替えよう:気になるニュース&ネット記事 – @IT Lambdaの公式説明的には、段階的ではあるものの、End of life 以降は使えなくなっていくので、それまでに切り替えようねということになります。 ランタイムサポートポリシー – AWS Lambda Pythonの公式をチェックすると、Python2.7 は 2020-01-01 なので、もーさすがに頃合いというか早よ

    AWS Lambda Python2 を Python3 に変換した記録 | 外道父の匠
    GedowFather
    GedowFather 2019/11/06
    書きました
  • RDSのGeneralLogをパケットキャプチャに切り替える | 外道父の匠

    三年以上前に サービス品質の改善効率を高める仕組み | 外道父の匠 の一部にて、GeneralLog と EXPLAIN を使って、クエリ品質を自動算出していることを書きました。 この仕組みは2011年に開発して以降、言語変更や新環境に適応させたりしつつも、ほぼそのまま稼働し続けていて、最近はRDSが対象になることが多いのですが、RDSだとGeneralLogの採取に問題が発生したので、DBサーバーではなく、ClientでのPythonを使った採取に切り替えてみました、という話になります。 RDSのGeneralLogは高QPSでは非推奨 RDSで GeneralLog を採取するには、パラメータグループで general_log を ON にするしかないのですが、数百qps 程度なら問題なく動いても、数千~万qps となると、ほぼ期待通りに切り替わってくれなくなります。 それまでは、AP

    RDSのGeneralLogをパケットキャプチャに切り替える | 外道父の匠
    GedowFather
    GedowFather 2018/03/06
    書きました
  • AWS Lambda (Python) のクラス変数の挙動メモ | 外道父の匠

    Lambda Pythonが楽しい季節になって参りました。 クラスを書いていると変わった挙動に出会ったので、軽く調べてメモしておきます。 クラス変数の挙動試験 キッカケ 最初は、Pythonにおけるクラス変数とインスタンス変数の関係的なものを知らず、変数の初期化の役割をクラス変数にやらせていました。 それが、どうもLambdaで実行するとクラス変数の値の変更がキャッシュされてしまうことがあるようで、そうでないこともあるようで、色々と不審に思って調べ始めました。 テストコード 内容はこんな感じ。 複数種類のクラス変数を定義 ホスト名を確認 現在のクラス変数値とメモリアドレスを確認 クラス変数を更新 これを何度も実行する import os import time from socket import gethostname def lambda_handler(event, context)

    AWS Lambda (Python) のクラス変数の挙動メモ | 外道父の匠
    GedowFather
    GedowFather 2015/12/10
    書きました
  • AWS Lambda(Python)からCollectdにメトリクス値を送るスクリプト+要望と感想 | 外道父の匠

    Lambda Pythonの最後三つ目の記事で、今度はCollectdに値を送信する内容になります。最後にちょろっと要望/感想的なことを書いてます。 普段は管理サーバーにて、CollectdのExecスクリプトでAWSAPIを叩いてPUTVALを送っているのですが、これもサーバーレスにできるなと。ただ、見て分かる通り、Zabbixよりだいぶ面倒くさかったです。 使い方 Collectdプロトコルについてはこの辺で。 Binary protocol – collectd Wiki Python collectd package v1.0, collectd module source code :: PyDoc.net Lambdaに以下の様な構成でzipをアップロードします。 __init__.py は空ファイルです。 . ├── GraphMetricSender.py └── mod

    AWS Lambda(Python)からCollectdにメトリクス値を送るスクリプト+要望と感想 | 外道父の匠
    GedowFather
    GedowFather 2015/12/08
    書きました(3/3)
  • AWS Lambda(Python)からZabbix Senderでメトリクス値を送るスクリプト | 外道父の匠

    Lambda Pythonの二つ目の記事で、今度はZabbixに値を送信する内容になります。 普段はZabbix Agentを使っていたのですが、それだと Server => Agent:10050 への通信が発生してしまうので、それに無理に対応するのはウマくないと判断し、Zabbix Senderと同じ手法をとりました。 使い方 Zabbix プロトコルのドキュメントはこの辺で。 3 Passive and active agent checks [Zabbix Documentation 2.4] Docs/protocols/zabbix agent/2.4 – Zabbix.org Docs/protocols/zabbix sender/2.0 – Zabbix.org Lambdaに以下の様な構成でzipをアップロードします。 __init__.py は空ファイルです。 . ├

    AWS Lambda(Python)からZabbix Senderでメトリクス値を送るスクリプト | 外道父の匠
    GedowFather
    GedowFather 2015/12/08
    書きました(2/3)
  • AWS Lambda(Python)からZabbix APIを叩くスクリプト | 外道父の匠

    AWS Lambdaが年内にVPC対応するとかしないとかを受けて、管理系の監視データをサーバーレスにしようかなということで、いくつかスクリプトを書いてみました。 一緒くたにすると見づらいだけなので、この一つ目の記事ではZabbix APIを叩くクラスを貼り付けておきます。また、要望/感想の類は、関連記事の最後の最後で書こうと思います。 ご注意 私はPythonを真面目に書くのはこれが初めてなので、基ができていなかったり、慣習を知らないまま書いている部分があるかもしれません。 なので、全体の構成とかよりは肝心の処理部分やプロトコルだけでも参考にしてもらえればな、という気持ちで共有しております。 使い方 Zabbix APIのドキュメントはこの辺で。 17. API [Zabbix Documentation 2.4] Lambdaに以下の様な構成でzipをアップロードします。 __init

    AWS Lambda(Python)からZabbix APIを叩くスクリプト | 外道父の匠
    GedowFather
    GedowFather 2015/12/08
    書きました(1/3)
  • 1