:>/dev/null

ラガードエンジニアの不撓不屈の精神/unlearning/go beyond

ゴールデンサークル

ゴールデンサークルとは 「なぜやるのか?」から始めて「どうやってそれを実現するか?」を考え、「何を作るか」の順番で考える/伝えるというものです。誰でも考える事のように思えますが、肝なのは順序。一般の方とは、伝える順が逆なんだとか。 NG What(…

AWS EC2インスタンスのEBSボリュームディスク拡張

aws

AWS EC2インスタンスのEBSボリュームディスクが不足したので拡張した時の学習メモ。 対象インスタンスにアタッチ済みボリューム拡張を↓この辺を参考にして事前に済ませておく。 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/console-modify.h…

GitHubでForkしてPull Request〜Mergeするまでの手順

git

GitHubを使う事が無かったが、チーム開発する環境への移動に伴い基本知識を学んだ時の学習メモ。 GitHubを利用したことのない人が、Fork〜Pull Request〜Merge までの入門記事です。 以下構築環境 クライアント:mac SCM:GitHub レポジトリ名:testrepo ■ G…

MacのCPU温度、ファンスピードなどをターミナル表示する方法

mac

夏場にPC(MacBook)を使用している場合、熱を多く持ち高熱(60℃後半)になることがしばしばあります。 FANはフル稼働していますが、排熱が間に合わず、熱暴走によって動作が重くなる/突然フリーズするなど発生する為、夏場の温度管理は必要です。 iStatsという…

XtraBackup(innobackupex)を使用したMySQLバックアップ(no-lock)

mysqldumpを使用したレプリケーション構築を作成するとします。このとき、mysqldumpに--master-dataを付与すると"FLUSH TABLES WITH READ LOCK" が発行され、一瞬のあいだ、全テーブルがロックが発生します。 mysqldump -uroot -pxxxxxxxx --single-transact…

MySQLの各Versionを跨いだ多段レプリケーション構成構築手順

前回の記事( MySQL+groonga+mroonga構築手順 - :>/dev/null )でレガシーシステムから現時点(2019/07/18)の最新Versionにアップデートする手順を検証したが、多段レプリケーションを用いた構成で再検討したので作業記録メモを残す。 多段構成として5.1 → 5.5 …

MySQL+groonga+mroonga移行手順(バージョンアップ)

前回の記事( MySQL+groonga+mroonga構築手順 - :>/dev/null )でレガシーシステムを検証したが、その環境を現時点(2019/07/18)の最新Versionにアップデートする必要があり作業記録メモを残す。 レガシーシステムではMySQLからgroongaをストレージエンジンとし…

MySQL+groonga+mroonga構築手順

オンプレ環境でMySQL+groonga+mroonga構成を検証する機会があり、Versionは古いが知見として作業記録メモを残す。 MySQLからgroongaをストレージエンジンとして利用する場合、mroonga plugin(MySQL組込)を使用するが直接利用するケースとの違いを参考資料と…

MySQL(Q4M) + DRBD + HA(Pacemaker/corosync) 構築手順 (障害対応/復旧手順編)

先行の記事(https://ogugu.hateblo.jp/entry/2019/07/02/121645)で構築完了したが、日々の運用で発生した障害対応を行った時の情報を知見として作業記録メモを残す。 HA / DRBD(冗長化)構築に伴い、障害対応時の確認事項が多い為、参考資料として共有。 以下…

MySQL(Q4M) + DRBD + HA(Pacemaker/corosync) 構築手順 (インストール編)

オンプレ環境でMySQL+DRBD+HA構成を検証する機会があり、クラウド全盛のタイミングだが低レイヤーの知見として作業記録メモを残す。 クラウドのマネージドサービスを使用した場合、クラウドベンダー範疇の為意識されてないが参考資料として共有。 基本となる…

cloudmapperに入門した

aws

awsの構成変更を行う場合、Document更新を忘れるので良い方法がないか調査した。 本来なら構成変更を行ったタイミングで自動化してDocument更新をするのが良いが効果的な方法が見つからない。 cloudmapperを使用した場合、現時点での構成が図表されるので代…

Ansibleを使用した構成管理に入門した

ansibleを使用して構成管理をする場合の条件分岐方法の調査を行った時の勉強メモ。 以下構築要件 Ansibleで構成管理を行う(冪等性の担保) Ansibleで各環境毎に設定内容を書き換える PRD(Production)/STG(Staging)/sandbox等 ■下記に各設定サンプルのconfファ…

Amazon Kinesis Client Library (KCL)を使用したログ収集基盤構成

Amazon Kinesis Client Library (KCL)を使用したログファイル収集基盤構成を構築する必要があり、調査を行った時の勉強メモ。 以下構築要件 apacheのaccess_logを集約サーバへ収集する 集約サーバでAmazon Kinesis Client Library (KCL) ライブラリを使用し…

aws cloud watchの各使用状況詳細

aws cloudwatchで各使用状況を確認出来るが、各コストに関して詳細に調査する必要があり、調査を行った時の勉強メモ。 請求ダッシュボード -> Cost Explorer -> サービス別の月別使用量ビュー リンクアカウント別の月別使用量ビュー 日別使用量ビュー cost r…

fluentdで送信recordに文字列を代入してから送信する

タイトル通り実装する要件があり、調査・設定行った時の勉強メモ。 fluentdを使用したログ集約環境で、送信データの特定フィールドの値をごにょごにょ加工したい(次工程に渡す)っていう要件があります。 調査の結果、fluentdのfilter_record_transformerプ…

amazon linux2でのpython3環境構築

Lambdaをpython3で書く必要があり、まずは環境構築を行った時の勉強メモ。 構築手順 python3 install pip3 install reqest package作成 boto3 package作成 Token取得 ※取得したTokenが正常か確認 ・python3 install $ sudo yum install python36 python36-vi…

aws cuiを使用してKinesis streamデータ登録・確認

Kinesisはライブラリとして使用する事が多い為、実際の挙動を把握せず使ってるので調査した時の勉強メモ。 実際の挙動を把握する事で障害対応等で効率的に行動出来るようにする。 ■ストリーム作成 aws kinesis create-stream --stream-name <ストリーム名> -…

CloudWatchでCustomMetrix設定

表記の通りCloudWatchに監視項目を追加する必要が発生したので調査した時の勉強メモ。 CustomMetrix追加手順 aws configureがインストールされてない環境での手順 cloudwatchのsrcファイル(今回は「CloudWatch-1.0.20.0」)をインストール カスタムメトリクス…

terminal is not big enough

sshターミナル環境でtopコマンド発行時、terminal is not big enoughが表示され出力されないので調査した時の勉強メモ。 sshターミナルでtopコマンド発行 発生内容:Sorry, terminal is not big enough 対応:代替えコマンド発行(mpstat -P ALL) [root@**** …

aws環境でfluentd経由を用いたログ基盤構築

aws環境でログ基盤を構築する必要があり、周辺関連の知識がたりなさすぎたので調査した時の勉強メモ。 lamda関数 処理フロー クラアント(td-agent)→Kinesis firehose→lamdba→s3 # # lamdba # import boto3 import json import base64 import time import sys…

td-agentでログ欠損が発生した

fluent(td-agent)で、Buffer溢れにによるログ欠損が発生したのでその時の調査・対応を下記へ記載しておく。 ・対応フロー コンソールからtd-agentのログ状況確認 Bufferの蓄積状況確認 td-agent.conf確認 td-agent.conf設定変更 td-agnetサービス再起動 以下…

ansible playbook performance tuning

ansibleでplaybookを書いていたが、大規模化するにつれ実行時間を要するようになり調査・対応を下記へ記載しておく。 以下、設定環境:ansible version2.1 ・ansible.confパラメータチューニング # cat .ansible.cfg [defaults] transport=ssh pipelining=Tr…

mongodbでのslowlog設定

Mongodb に関してslowlog出力設定での調査・対応を下記へ記載しておく。 mongosに設定追加は「profile currently not supported via mongos」とエラーとなる為、shard(mongod)に設定をする。 mongodへ設定追加後、mongosで解析行う。 以下対応フロー mongod…

logrotate設定のエラー改善されない事象に関して

apacheのaccess_logをカスタム出力設定後、ローテート設定したが正常稼働せず調査・対応を下記へ記載しておく。 以下対応フロー apacheのaccess_logを稼働出力設定する ログローテート設定に上記出力したファイルをローテート設定 ログローテート実行 ログロ…

apacheのaccess_logをjson化しtd-agentで集約サーバへ収集する

apacheのaccess_logを構築した集約サーバへ収集する必要があり、そのついでに解析しやすいようjson化設定したのでメモ。 apacheログをjson化する要件が発生した場合汎用性がありそうなので、調査・対応を下記へ記載しておく。 以下構築要件 apacheのaccess_l…

shで日時バックアップscript

shellで日時バックアップ処理を行う必要があった為、設定時メモ。 以下構築条件 デイリーバックアップ 圧縮必須 suffixが日時のみ処理 開始・終了時刻が記載 本条件でshell scriptを書いた #!/bin/sh set -e readonly SCRIPT_NAME=${0##*/} readonly HISTORY…

td-agentのbuffer_path重複障害

td-agentを起動した場合、buffer_path指定でエラー発生し、嵌ったので設定時メモ。 sourceディレクティブが複数あり、各tagを指定してサーバへ送信している環境。 以下構築条件 各sourceディレクティブでtag指定 sourceディレクティブでtag名重複は無い サー…

fluentdの複数sourceディレクティブで各label毎に特定record追加

fluent(td-agent)を使用したlabel切り分けで各label毎にrecord追加する対応が発生したので設定時でのメモ。 sourceディレクティブが複数あり、送信時に特定recordを追加して送りたい場合に有効。 汎用性がありそうな為、調査・対応を下記へ記載しておく。 以…

Zabbix で fluentd のbuffer・キュー等の項目を監視する

fluent(td-agent)サーバ構築時、buffer等の監視設定時のメモ。 Buffer溢れ、転送先サーバ接続不可などの検知に使用出来ればと考えた。 設定方法を下記へ記載しておく。 以下監視項目 buffer_queue_length -> (バッファーに蓄積されているキューの数)buffer_q…

fluentdの一時的labelの書き換え

fluent(td-agent)を使用したlabel切り分けで一時的設定→送信時変更する対応が発生したので設定時でのメモ。 sourceディレクティブが複数あり、送信時にsubgroup化して送りたい場合に有効。 sourceディレクティブにsubgroup機能が無い為、送信時のlabelディレ…