ablog

不器用で落着きのない技術者のメモ

sysbench で MySQL に負荷をかける

EC2 に sysbench をインストール Amazon Linux 2 に sysbench をインストールしようとすると、libmysqlclient_r.so.16 とlibmysqlclient_r.so.16 が必要と怒られる - ablog sysbench でテーブルを作成してデータを投入する。 export HOST=rds-mysql-57-22.**…

Amazon Linux 2 に sysbench をインストールしようとすると、libmysqlclient_r.so.16 とlibmysqlclient_r.so.16 が必要と怒られる

AWS

yum で Amazon Linux 2 に sysbench をインストールしようとすると、libmysqlclient_r.so.16 とlibmysqlclient_r.so.16 が必要と怒られる。 事象 コマンド curl -s https://packagecloud.io/install/repositories/akopytov/sysbench/script.rpm.sh | sudo ba…

Amazon S3 のプレフィックスはオブジェクトか?

AWS

$ dd if=/dev/urandom of=origin.dat count=100 bs=1M 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.568612 s, 184 MB/s $ aws s3 mb s3://ponkotsu-jp make_bucket: ponkotsu-jp $ aws s3api put-object --bucket ponkotsu-jp -…

Github で fork する

Github にログインした状態で fork したいリポジトリに移動して [Fork] をクリックする。 参考 リポジトリのフォークは、2 つのステップからなるシンプルなプロセスです。 練習用のリポジトリを用意しましたので、ぜひお使いください。 GitHub で、octocat/S…

Python データ処理チートシート

Gropu By Multiple functions can also be applied at once. For instance, say we’d like to see how tip amount differs by day of the week - agg() allows you to pass a dictionary to your grouped DataFrame, indicating which functions to apply to…

pandas で csv_read すると "Unnamed: 1" といったカラムが追加される

事象 pandas で csv_read すると "Unnamed: 1" といったカラムが追加される 原因 よく見るとヘッダにタブが 2 つ入っていたので、1 つに修正したらお直った。 # hostname と date の間に 2 つタブが入っている hostname date timestamp kbmemfree kbmemused …

sar を Jupyter Notebook でグラフ化してみる

sar をテキストに出力して加工する。 export LANG=C ls *.dat|while read LINE do ARR=(${LINE//_/ }) sar -u -f ${LINE}|perl -slane '/(\d{2}\/\d{2}\/\d{2})/ and $d=$1;if($#F==7 and !/%user/){printf(qq/%s\t%s\t%s\n/,$node,$d,join(qq/\t/,@F))}' --…

Juputer Notebook チートシート

ショートカット 実行: Shift + Return

Juputer Notebook を使って pandas でデータを生成する

Dataframe でデータを生成する コード import pandas as pd df = pd.DataFrame({ 'col1' : 1., 'col2' : pd.Timestamp('20200101'), 'col3' : pd.Series(1,index=list(range(20)),dtype='float32') }) df 実行結果 1分間隔のタイムスタンプを生成する コード…

AWS Glue で Jupyter Notebook を使う

AWS

Project Jupyter Project Jupyter (/ˈdʒuːpɪtər/ (About this soundlisten)) is a nonprofit organization created to "develop open-source software, open-standards, and services for interactive computing across dozens of programming languages". S…

Amazon Chime のチャットで Markdown 記法を使う

AWS

Sending Markdown Messages To send an Amazon Chime chat message using markdown syntax, type /md followed by a space at the beginning of your message. Compose your message using markdown syntax. Press Enter to send. The following example dem…

Python shell ジョブで six と python_dateutil をインストールする

AWS

閉域構成(ジョブにダミー接続をアタッチしてVPC内のみアクセス可能) Python ライブラリパス s3://az2-pypi-org/six-1.14.0-py2.py3-none-any.whl,s3://az2-pypi-org/python_dateutil-2.8.1-py2.py3-none-any.whl ログ Processing ./glue-python-libs-y3k8n…

MySQL で接続先サーバのホスト名を確認する

MySQL [(none)]> show variables like 'hostname'; +---------------+--------------+ | Variable_name | Value | +---------------+--------------+ | hostname | ip-10-7-1-22 | +---------------+--------------+ 1 row in set (0.01 sec) 参考 接続先の…

Route 53 ヘルスチェッカーの IP アドレス範囲を調べる

AWS

Route 53 の現在の IP アドレス範囲を表示するには、ip-ranges.json をダウンロードし、ファイルで次の値を検索します。(中略) "service": "ROUTE53_HEALTHCHECKS" これらの IP アドレス範囲は、Route 53 ヘルスチェッカーによって使用されます。Route 53 …

AWS の各リージョンとコードの対応表

AWS

2020/5/16 時点 リージョンエンドポイント ほとんどの Amazon Web Services では、リクエストの実行に使用できるリージョンのエンドポイントを提供しています。リージョンエンドポイントの一般的な構文は次のとおりです。 protocol://service-code.region-co…

macOS で DNS キャッシュをクリアする

OS 10.10.4以降 sudo killall -HUP mDNSResponder OS 10.10 〜 10.10.3以降 sudo discoveryutil mdnsflushcache OS 10.9.5以前 sudo killall -HUP mDNSResponder macOSでDNSのキャッシュを削除する方法 参考 Flush DNS cache locally in macOS, OSX, Linux a…

dig で IP アドレスだけを出力する

digコマンドに+shortオプションを指定して正引きするとIPアドレスだけを取得できます。 $ dig example.com +short 93.184.216.119 Understanding the dig commandで知りました。 dig(1): DNS lookup utility - Linux man pageでは [no]short Provide a terse…

Route53 を使って同一 AZ のリードレプリカ障害時に別 AZ にフェイルオーバーする

AWS

要件 Aurora のリードレプリカを AZ1 と AZ2 に作成、正常時は AZ1 の AP サーバ on EC2 から AZ1 のリードレプリカに接続(同一AZのほうがレイテンシが低いため)、AZ1 障害時のみ AZ2 のリードレプリカに接続したい。 実装方式 Route53 の DNS フェイルオ…

Route 53 ヘルスチェッカーの IP アドレス範囲を調べる

AWS

Route 53 のRoute 53 ヘルスチェッカーの IP アドレス範囲を調べる。 $ curl https://ip-ranges.amazonaws.com/ip-ranges.json|jq -r '.prefixes[]|select(.service=="ROUTE53_HEALTHCHECKS")|@text "\(.region)\t\(.ip_prefix)"' % Total % Received % Xfer…

Aurora のカスタムエンドポイント

AWS

Aurora レプリカは、使用不可になっても、カスタムエンドポイントに関連付けられたままになります。たとえば、異常、停止、再起動などに伴って、カスタムエンドポイントの一部として残ります。ただし、レプリカが再度使用可能になるまでは、これらのエンドポ…

macOS に mysql クライアントをインストールする

インストール インストールする $ brew install mysql mysql-client バージョンを確認する $ mysql -V mysql Ver 8.0.19 for osx10.14 on x86_64 (Homebrew) 接続する $ mysql -h aurora-mysql57.cluster-******.ap-northeast-1.rds.amazonaws.com -u awsuse…

macOS に psql をインストールする

インストール インストールする $ brew install postgresql インストールされたバージョンを確認する $ psql -V psql (PostgreSQL) 12.3 接続する $ psql "host=aurora-postgres-116.cluster-******.ap-northeast-1.rds.amazonaws.com user=awsuser dbname=m…

RDS Oracle の Active Data Guard によるクロスリージョンリードレプリカ

AWS

本日より、Amazon Relational Database Service (RDS) for Oracle で Oracle Active Data Guard を使用したクロスリージョンリードレプリカのサポートが開始されます。Amazon RDS for Oracle により、プライマリ DB インスタンスからさまざまな AWS リージョ…

CloudFront の S3 へのログ配信

AWS

ログファイル配信のタイミング CloudFront は、ディストリビューションのアクセスログを 1 時間に最大で数回配信します。一般的に、ログファイルには、一定期間内に CloudFront が受信したリクエストに関する情報が含まれています。CloudFront は通常、その…

マネコンで別アカウントに SwitchRole 時のイベントは us-east-1 に記録される

AWS

質問 AWSマネジメントコンソールで別のAWSアカウントに SwitchRole したときにスイッチ先アカウントの CloudTrail ログ(S3)を Athena で検索しても "SwitchRole" イベントが見つからない。 CloudTrail の「イベント履歴」にはスイッチ元とスイッチ先の両方…

PostgreSQL の 接続・クエリ・切断のログは Process ID で紐付けできる

PostgreSQL で接続・クエリ・切断のログは Process ID で紐付けることができる。今回は Aurora PostgreSQL 互換 11.6 で確認した。 設定 パラメータグループで以下を設定する(今回は接続・接続のログのみ確認した)。 log_connections = 1 log_disconnectio…

Aurora PostgreSQL 互換のアクティビティストリームの clientApplication にアプリ名をセットする

AWS

pg_stat_activity.aplication_name や Aurora PostgreSQL 互換のアクティビティストリームの clientApplication にアプリ名を記録したい場合は、アプリケーションから接続時に application_name パラメータをセットしてやればよい。以下は Python で psycopg…

Amazon Linux2 で Off-CPU Analysis を行う

AWS

準備 BCC をインストールする。 $ sudo amazon-linux-extras enable BCC $ sudo yum -y install kernel-devel-$(uname -r) $ sudo yum -y install bcc FlameGraph をダウンロードする。 $ git clone https://github.com/brendangregg/FlameGraph 使ってみる …

"UnboundLocalError: local variable 'x' referenced before assignment" エラー

Python で "UnboundLocalError: local variable 'x' referenced before assignment" エラーが出る場合の解決策。 事象 グローバル変数を関数内で使うと以下のエラーが出る。 UnboundLocalError: local variable 'record_cnt' referenced before assignment …

Python のソースから wheel ファイルにパッケージングする手順

Python のライブラリをソースから wheel ファイルにパッケージングする手順。 準備 wheel をインストールする。 $ pip install wheel パッケージングする ソースを入手する。 $ wget https://files.pythonhosted.org/packages/be/ed/5bbc91f03fa4c839c4c7360…