なぜログの出力形式をJSONにするのか

ログを出力形式をどうするか考えたとき、基本的にはJSONを推すことにしている。 その理由を整理してみた。 1. ツールを使ってパースしやすい TableauやSplunkなどのBIツールを使って解析するのにJSON形式は都合が良いと聞いた。 残念ながら自分はBIツールを…

pytestメモ

Udemyでお世話になっている酒井さんの講座の学習メモ。 www.udemy.com テストしたい関数がある。 class Cal(object): def add_num_and_double(self, x, y): if type(x) is not int or type(y) is not int: raise ValueError result = x + y result *= 2 retu…

django メモ

下書きの肥やしになっていたdjangoの試した時のメモ。 環境 software version django 2.2.1 アプリケーションファイル views.py from django.http import HttpResponse def index(request): return HttpResponse("Hello, world. You're at the polls index."…

シェルスクリプトをSSMのドキュメントに登録して実行する

AWS

目的 Lambdaを使ってEC2上でコマンド実行したい 実現案 Lambda --> SSM --> EC2 SSMが実行するアクションを「ドキュメント」として定義できる。 ドキュメントにはいくつかのタイプがあり、コマンドを使用できるRun Commandを使えば実現できそう。 やってみた…

Python の if not と or を組み合わせた時は条件に注意

Pythonで以下のようなif not 条件1 or 条件2を実行する。 def sleep_in(weekday, vacation): if not weekday or vacation: return True else: return False すると以下のような結果となる。 weekday vacation 実行結果 True True True True False False Fals…

Elasticache比較

Elasticacheとは インメモリデータベースのサービス。 インメモリデータベースはデータをメモリ上で持ち、ディスクにアクセスする必要性を除くことによって、最小限の応答時間を達成するように設計されている。 すべてのデータはメインメモリにのみ保存およ…

ask-sdk V2 for node.js 開発メモ

ask-sdk も node.js も分からない状態からスキル開発を行いました。その時のメモです。 誰かの役に立つかもしれないのでまとめ方雑ですが載せます。 node.js strict mode コードの先頭に"use strict";と記述があるかもしれません。 これは通常よりも厳しくコ…

git でリモートリポジトリに ssh するときに Permission denied (publickey).

概要 ローカルからリモートリポジトリに push しようとして以下のエラーが出ちゃったときの話。 $ git push origin master username@hostname.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you hav…

CloudWatchのログをS3に送る

AWS

以下記事の続き。 dafukui.hatenablog.com 今回は以下のイメージで、EC2で稼働するApacheのログデータをS3に保管したいと思います。 Kinesis Firehose の設定 WEBコンソールで設定します。 Firehoseの配信ストリームの作成に進む。 送信されるデータは標準で…

CloudWatch でアプリケーションのログを取得

AWS

環境 software version ubuntu 18.04 LTS CloudWatch Logs Agent の導入 CloudWatch でアプリケーションのログを取得するには、対象となるサーバに CloudWatch Logs Agent を導入する。 ubuntu@ip-10-0-0-183:~$ curl https://s3.amazonaws.com/aws-cloudwat…

django + mysql メモ

環境 software version amazon linux 2018.03 python 3.7.3 django 2.2.1 mysql 5.7 DjangoとMySQLを接続するにあたって公式の推奨に従い、mysqlclientを選択する。 docs.djangoproject.com python の設定 以下を参考に実施する。 danieleriksson.net パッケ…

Amazon EC2 Auto Scaling 入門

AWS

Amazon EC2 Auto Scaling ってどんな機能? 耐障害性の向上のため、または可用性の向上のために、予め設定した範囲の中でEC2 インスタンスの数を増減させることができるサービス。 例えば以下のような使い方ができる。 アプリケーションの高まった負荷を処理…

AWS Config 入門

どんなサービス? AWS リソース(モノ)の設定、変更を記録して履歴として確認できるようになる。また、AWS Config ルールを作成すれば、設定内容がルールに準拠しているか評価して、非準拠なら Amazon SNS で通知できる。 また、特定の AWS リソースを使用す…

AWS Organizations 入門

AWS Organizations とは 複数の AWS アカウントを統合するためのアカウント管理サービス。 実現できること AWS アカウントのグループを作成し、作成したグループにポリシーを適用して、利用サービスを制限できる AWS アカウントの新規作成は自動化できる 複…

Amazon Inspector 入門

Amazon Inspectorって? 自動化されたセキュリティ評価サービス。 Amazon EC2 インスタンスのネットワークアクセスと、そのインスタンスで実行しているアプリケーションのセキュリティ状態をテストできる。 Amazon Inspector を使用すると、どのようなことが…

Pycharm で Vim のプラグインを入れてから実行のショートカットが使えなくなった時

Vim を入れることで Keymap の設定に変更がかかるとショートカットが変わる。 Vim を使いながらも IDE のショートカットを有効にすると良い。 Preferences > Editor > Vim Emulation > Run All Cells の Handler を IDE に設定 > OKで閉じる

PowerShell で AWS CLI のプロファイルを環境変数に設定する

Windows 端末の PowerShell で AWS CLI を利用する環境を想定。 AWS CLIで複数のプロファイルを登録していたり、IAMロールをスイッチする使い方をする場合、以下のコマンドを実行してプロファイルを指定することができます。 > $env:AWS_PROFILE = YourProfi…

fluentd を使って S3 にログを集約する

環境 ソフトウェア バージョン Ubuntu 16.04 td-agent 1.2.6 Apache 2.4 期待値 apache のアクセスログを s3 のバケット内に保管する。 設定方法 1. Fluentd をインストール インストールスクリプトが公開されているため実行してインストールする。 URLにOS…

docker + nginx + uwsgi + flask の構築

環境 software version Ubuntu 18.04 Docker 18.09.0 docker-compose 1.23.2 ディレクトリ構成 ┣ myServer ┣ app ┣ Dockerfile ┣ main.py ┣ requirements.txt ┣ uwsgi.ini ┣ docker-compose.yaml ┣ nginx ┣ Dockerfile ┣ nginx.conf 1. docker-compose.yaml…

ubuntu で Ansible を使う

1. 構成 server ---> client 役割 IP OS ホスト名 server 10.0.0.204 ubuntu 18.04 develop01 client 10.0.1.217 ubuntu 16.04 develop02 2. Ansibleの導入 インストール ubuntu@develop01:~$ sudo apt-get update ubuntu@develop01:~$ sudo apt-get install…

ヤマハRTX830 の設定

既存のルータをヤマハRTX830と置き換えることにした。 設定はWeb GUIとコマンドで行う方法がある。 Web GUIでは設定できないパラメータ(DHCPの割当予約)があるためコマンドによる設定を行う。 1. telnetで接続 Teratarmを使用。192.168.100.1にtelnet接続す…

2018/12 状況

最近気になる技術 firebase 最近試した技術 VyOS Active Directory 最近読んだ本 なぜネットワークはつながるのか リーダブルコード

Salesforce Connectの設定 (WCF Data Services 4.5)

Salesforce Connectとは Salesforceから外部データに対してリアルタイムでアクセスできる機能。 データ自体をSalesforceに蓄えることなく外部オブジェクトとして操作することができる。 参考 : Salesforce Connect の概要 環境 AWS上に以下の環境を構築。 We…