ようへいの日々精進XP

よかろうもん

python

IAM Role を付与した EC2 インスタンスから Amazon ES にアクセスするメモ(Python 版)

tl;dr Amazon ES のアクセス制御を IP だけでしかやったことなかったので、実運用を考慮すると IAM role で制御する場合の方法を模索してみました。 参考 http://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-createupdatedom…

Python boto3 で認証情報を指定するメモ

ども、かっぱです。ぼちぼちやってます。 tl;dr 適切な IAM Role が適用されていない環境で boto3 を使う際に避けては通れない(はず)の認証情報を指定する方法をメモっておく。 尚、ソースコード内に認証情報を書くのはよろしく無いので、あくまでも検証、…

Python logger の Slack Handler を試す(Incoming Webhook 編)

tl;dr Python スクリプトで logger を使って吐いているログを Slack に通知したいと思ったのでメモ。 memo 色々ある Slack にメッセージを飛ばすモジュールは色々あるけど、Slack API を生で叩くモジュールが多い印象。logger のハンドラとして利用出来て、…

シェルスクリプト と Ruby と Python で ctrl + c を捕捉するメモ

ども、ハゲです。 tl;dr ループさせているスクリプトを ctrl + c を押して止めたことを捕捉したいと思って調べたメモ。 メモ シェルスクリプト ver #!/bin/sh trap 'echo "trapped."; exit 0' INT echo "停止したいは ctrl + c を押して下さい" while : do d…

Python スクリプトから Windows Server のイベントログにログを送る雑なメモ

ども、初老丸です。 tl;dr Windows Server 上で Python スクリプトを動かしておいて、ログはイベントビューワーで見たいなって思ったので試してみました。ちなみに、Python と Windows のイベントログに関する知識はほぼ 0 な状態で書く記事なので誤り等あれ…

自分で作った Python スクリプトを Windows Server にサーヴィスとして登録するショートコント(1)

ども、「ブログはショートコント」だが持論の初老丸です。 ショートコント... Python スクリプトを Windows Server でサーヴィスとして動かしたい。 起 まずは コントは起承転結で。 ひとまず、自分で作った Python スクリプトを Windows Server でサーヴィ…

watchmedo が便利だと思ったのでメモ

ども、初老丸です。 tl;dr Python で watchdog というモジュールが個人的にホットでこのモジュールを使って、ファイル作成を検知したら任意のアクションを起こすツールをサクッと作ってみたりしたが、よくよく調べてみると watchdog に同梱されている watchm…

(ショロカレ 10 日目)S3 Event notification → Lamda → Amazon ES に挫折したので SQS → Amazon ES にしたメモ

ということで、これは「初老丸の独り Advent calendar 2015」の十日目の記事です。 tl;dr S3 で動かしている静的サイトの access_log を S3 Event notification → SQS → Amazon ES という流れで可視化してみようと思ったのでメモ。本当は SQS ではなくて Lam…

(ショロカレ 9 日目)Docker コンテナ内でちょっとしたアプリを立ち上げるのに Supervisord を使う

だいぶん体調が戻ってきたのでショロカレを続ける...ということで、これは「初老丸の独り Advent calendar 2015」の九日目の記事です。 tl;dr Docker コンテナ内でちょっとしたアプリ(スクリプト)を立ちあげたかったので、以下の記事を参考に Supervisord …

(超メモ)Python とか Ruby でターミナルのテキストに色を付ける

tl;dr オレオレテストスクリプトを作っていて OK ならば緑色や青色、 NG であれば赤色のテキストで出力したいと思って調べたメモ。 参考 unicode - Print in terminal with colors using Python? - Stack Overflow colors - Colorized Ruby output - Stack O…

(超メモ)初老が考えた Datadog を使った ログ監視 2 パターン

おはげようございます。 tl;dr Datadog でログ監視(ログの中から特定のパターンにマッチしたら何らかのアクションを行う)の方法を模索していて以下の 2 つのパターンを考えたのでメモ。 Datadog の Agent Check で監視する Fluentd を利用する アプリケー…

(超メモ)Ruby と Python で TCP Server サンプル

tl;dr ちょっとした動作確認とかで TCP Server が必要な時に使いたいので、参考サイトを見よう見まねで Echo サーバーっぽいのを写経した。 github.com Python de TCP Server 参考 http://docs.python.jp/2/library/socketserver.html http://qiita.com/pons…

(超メモ)Datadog の HTTP や TCP コネクションチェックのインターバル設定

tl;dr Datadog で HTTP や TCP のコネクションチェックを行うことが出来るけど、Agent Check が HTTP エンドポイントや TCP ポートへの接続を試行する間隔を指定出来ないのかなって調べたら、以下のように言及されていたので実際に調べてみた。 help.datadog…

(超メモ)私的な Datadog の Agent Check の書き方

超メモ。 Agent Check のポイント(ドキュメントより抜粋) 参考 http://docs.datadoghq.com/ja/guides/agent_checks/ 概要 Datadog Agent のプラグインという位置づけ Python で実装する デフォルトで 15 秒間隔(メインチェックの実行ループに組み込まれて…

(超メモ)fabric で ssh の config ファイルを指定する、利用する

おはげようございます。 tl;dr fabric で何がしたかったか? ssh の config ファイルに定義したホスト名を利用したい ついでに ssh の config ファイルのデフォルト(.ssh/config)以外を利用したい 参考 http://fabric-ja.readthedocs.org/ja/latest/usage/…

(超メモ)CloudWatch Logs Subscriptions → Lambda → Twitter メモ

超メモシリーズ。 何がしたいのか? CloudWatch Logs Subscriptions でフィルタされたレコードを Lambda で Twitter に呟かせたい。 メモ Lambda にはどのような状態でレコードが入ってくるのか? CloudWatch Logs Subscriptions でフィルタされたレコードは…

(超メモ)Python で Base64 と gzip で固められたデータを復元するメモ(CloudWatch Logs Subscriptions で Kinesis ストリームに入ったレコードを復元する)

何がしたいの? CloudWatch Logs Subscriptions で Kinesis に入ったレコードを取得すると以下のように gzip で固められて Base64 でエンコードされたデータになっている。 H4sIAAAAAAAAAJ2RTY+CMBCG/wrpXgXb0lLgZrJqTPbjoDdjTJWJNlIgpega43/fAbMfpz3sqZN3Ju…

ラムダこりゃ(Amazon Lambda チュートリアル 5)〜 Lambda と Python と Datadog で簡易 HTTP モニターを作る 〜

Lambda の Scheduled Handler と Python の組み合わせが地味に楽しいかっぱです。 tl;dr ラムダこりゃシリーズ 5 回目になるので、何か役に立ちそうなことをしてみたいということで Lambda + Python + Datadog で簡易 HTTP モニターを作ってみた。 どんなも…

Python で HTTP アクセスのレスポンスタイムを知る方法

tl;dr Python で HTTP アクセスのレスポンスタイムを知る方法が気になったので調べたメモ。 参考 http://stackoverflow.com/questions/11159687/meassure-website-load-time-with-python-requests http://docs.python-requests.org/en/latest/api/?highlight…

ラムダこりゃ(Amazon Lambda チュートリアル 4)〜 Lambda と Python で「赤い霊柩車シリーズ」の過去の作品名をTwitter につぶやかせる 〜

引き続き Lambda を触ってみたいと思います。 tl;dr Python の勉強を兼ねて Wikipedia の「赤い霊柩車シリーズ」ページから過去の作品のタイトルを取得して作品名と放映年を Twitter に呟かせる bot を Lambda で作ってみた。 赤い霊柩車シリーズ - Wikipedi…

make で実行可能なタスク一覧をデフォルトで出力させたいヨ

おはげようございます。朝の三分雑ハッキングのお時間です。 追記 以下のようにスクリプトをモジュールとして利用することでワンライナーっぽいことが出来るようになった。ちょっとうれしい。 #!/usr/bin/env python import re import sys def foo(): for li…

Supercharged AWS CLI = SAWS メモ(2)〜リソース補完を追加してみる〜

tl;dr 前回の続き。 触ってみただけではつまらないのでリソース補完を追加してみたのでメモ。 inokappa/saws at add_resource · GitHub DynamoDB のテーブル名を補完してみる 追加実装の概要 リソースリストを取得、管理する resources.py に取得したいリソ…

Python エンジニアではないけど「Pythonエンジニア養成読本」を読んだ

はじめに Pythonエンジニア養成読本[いまどきの開発ノウハウ満載!]作者: 鈴木たかのり,清原弘貴,嶋田健志,関根裕紀池内孝啓,若山史郎出版社/メーカー: 技術評論社発売日: 2015/06/16メディア: Kindle版この商品を含むブログを見る Python も Hello World …

「Python & AWS クックブック」を読んだ

奥さんの監視の目を盗みつつ初めて購入した電子書籍が Kindle に積読状態だったので読んだ。 O'Reilly Japan - Python & AWS クックブック 書籍について 目次 こちら より抜粋。 まえがき 本書で使用されている表記規則 サンプルコードの使用について お問合…

Elasticsearch の JVM のヒープ使用量を Graphite / Grafana で可視化するちょっとしたスクリプト

Elasticsearch の JVM ヒープ使用量を Graphite と Grafana を利用して可視化したいと思ったので Cluster API と Python を利用して実現してみた。 Cluster API Cluster APIs の Nodes Stats を利用するので curl を利用して取得してみる。 実際に叩いてみる…

jq を使わないで Python や Ruby だけで JSON から任意のキーの値を取り出す苦肉の策

jq のありがたみを感じる今日此の頃。 以下のような... test.json があるとする。(consul の service 情報を取得した際の出力結果) [ { "Address": "192.168.10.2", "Node": "node01", "ServiceID": "oreno-service", "ServiceName": "oreno-service", "Se…