chevron_left

メインカテゴリーを選択しなおす

cancel
社外SE技術日記(OUTPUT) https://www.mtioutput.com/

インフラ部門の社外SEが学んだことを発信しています。最近は自動化技術に興味があります。

社外SEくん
フォロー
住所
未設定
出身
未設定
ブログ村参加

2019/07/13

arrow_drop_down
  • 【Keycloak/RHBK】ユーザのアカウントロックをAdminAPIで行う

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にて任意のユーザのアカウントロック(アカウントの無効化)を取得する。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 ユーザのIDをURIに付与した状態でenabledをtrueからfalseに変更する。 $ curl --location --request PUT 'http://localhost:8080/admin/realms/master/users/'"$id"'' --header 'Content-Type: ap…

  • 【Keycloak/RHBK】特定のユーザーが所属しているグループ名を取得する

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてユーザ名をキーにグループ名を取得する。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 以下のようにユーザ情報を出力した上で ./kc.sh export --dir Test --users different_filesユーザ情報が格納されたmasterファイルからユーザ名(test01)を条件にグループ情報を出力する。 $ cat master-users-0.json jq -r '.users[] select(…

  • 【Keycloak/RHBK】jqコマンドを利用してGETするユーザを属性の値で絞る

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてAdmin API経由でリスト表示するユーザを絞る。 具体的には属性hogeの値がfugaのユーザのみの出力を行う。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 アクセストークンの取得を行い $ AT=`curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/token --user admin-cli:admin …

  • 【Keycloak/RHBK】PowerShellからREST経由でアクセストークンを発行する

    やりたいこと PowerShellからKeycloak(RedHat Build of Keycloak)のアクセストークンを発行する。尚、adminユーザを利用したパスワード方式での実行を想定する。 環境情報 rhbk-22.0.8 PowerShell 7.3.11 やり方 ボディデータをハッシュテーブルで定義した上でInvoke-RestMethodでPOSTリクエスト送信する。具体的てには以下スクリプトを実行することで取得が行えた。 $client_id = "admin-cli" $client_secret = "admin" $token_endpoint = "http://x…

  • 【Linux】Powershellのスクリプト(.ps1)を実行する

    やりたいこと Linux機でPowerShellのスクリプトファイル(.ps1)を実行する。 環境情報 Amazon Linux 2 PowerShell 7.3.11 やり方 マイクロソフトのリポジトリ情報を追加した上で $ curl https://packages.microsoft.com/config/rhel/7/prod.repo sudo tee /etc/yum.repos.d/microsoft.repoインストールを行うと $ yum -y install powershell以下にPowerShell用のコマンドが配置される。 $ which pwsh /usr/b…

  • 【Keycloak/RHBK】ログイン後のセッション情報をブラウザとサーバー側で確認する

    はじめに Keycloak(RedHat Build of Keycloak)ではログインに成功すると内部的にはセッションが生成され、サーバ側で認証されたユーザを管理しています。また、その情報に相対する情報がブラウザ側にもクッキーとして保管されます。本記事ではサーバ側及びブラウザ側それぞれで、ログイン前/ログイン後に発行されるセッションに関する値を確認してみました。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 GoogleChrome 122.0.6261.69 ログイン前の状態 今回はテスト用ユーザにて管理用コンソールへのログ…

  • 【Keycloak/RHBK】AdminAPIでログイン済みのセッション数を取得する

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてAdmin API経由でログイン済みのユーザセッション数の合計を取得する。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 アクセストークンの取得を行い $ AT=`curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/token --user admin-cli:admin -H 'content-type: app…

  • 【AWS/EC2】IAMロール変更時にFailed to replace instance profileとエラーが出る

    事象 InstanceProfileとしてIAMロールを設定していたEC2に対して「Modify IAM role」を実行すると Failed to replace instance profile The association iip-assoc-xx is not the active association というエラーとなる。 環境情報 $ aws --version aws-cli/2.15.5 Python/3.11.6 Linux/4.14.336-257.562.amzn2.x86_64 exe/x86_64.amzn.2 prompt/off 原因/解決策 インスタスプロフ…

  • 【NGINX/Linux】特定の文字列が入ったリクエストをエラーにする

    やりたいこと リクエストの中で指定されるURLの中に指定した文字列が入っていた場合にエラー処理を行う。 例としてAmazon Linuxにて検証を行い、"a"という文字列が入っていた場合に応答コード400でエラーとする。 環境情報 # nginx -v nginx version: nginx/1.25.1 (nginx-plus-r30-p1) やり方 mapディレクティブにて特定のリクエストとして"a"が含まれる場合の設定を行い http { ... map $request_uri $invalid_uri { default 0; "~*a" 1; } ... その条件の場合のエラーコ…

  • 【Keycloak/RHBK】AdminAPIで100ユーザ以上の情報を一括で取得する

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてAdmin API経由でユーザ情報を一気に取得する。尚、デフォルトでは100ユーザを上限として出力される。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 アクセストークンの取得を行い $ AT=`curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/token --user admin-cli:admin -H 'c…

  • 【Keycloak/RHBK】AdminAPIでユーザ名からidを取得する

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてAdmin API経由でユーザ名(username)からidを取得する。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 アクセストークンの取得を行い $ AT=`curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/token --user admin-cli:admin -H 'content-type: appl…

  • 【Keycloak/RHBK】AdminAPIで既存ユーザのパスワードを設定する

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてAdmin API経由でユーザのパスワードを設定する。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 アクセストークンの取得を行い $ AT=`curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/token --user admin-cli:admin -H 'content-type: application/x…

  • 【RHBK】AdminAPIによるPOSTで新規ユーザを作成する

    やりたいこと Red Hat build of Keycloak(Keycloakの商用版)にてAdmin API経由でユーザを作成する。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) rhbk-22.0.8 やり方 アクセストークンの取得を行い $ AT=`curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/token --user admin-cli:admin -H 'content-type: application/x-www-f…

  • 【RHEL】RHBK(Build of Keycloak)のインストールの流れ

    やりたいこと Red Hat build of Keycloakのインストール作業を行う。 環境情報 Red Hat Enterprise Linux : 9.3 (Plow) openjdk 17.0 やり方 Javaの環境をインストールした上で # yum install java-17-openjdk# java --version openjdk 17.0.10 ... LTS OpenJDK Runtime Environment (Red_Hat-17.0.10.0.7-1) (build 17.0.10+7-LTS) OpenJDK 64-Bit Server VM (Red_H…

  • 【AWS/Route53】Pythonで特定のAレコードのIPアドレスを変更する

    やりたいこと Lambda関数にてRoute 53に登録してあるドメインのAレコードを変更する。 環境情報 Python 3.2 やり方 変更したい Hosted zone ID Record name を確認し、IPアドレスをValue欄に入力を行い実行する。 import boto3 AWS_HOST_ZONE_ID="XX" AWS_RECORD_NAME="XX" r53 = boto3.client('route53') def lambda_handler(event, context): response = r53.change_resource_record_sets( Ho…

  • 【AWS】CloudWatch AlarmsにてLambdaが権限不足で実行されないエラー

    事象 CloudWatchのActionにて以下のような設定が"Actions enabled"になっているが Type Description Config Lambda When ALARM, invoke "xx" Lambda Function - アラーム発動時にHistoryには以下のような失敗のログが表示される。 Date Type Description xx Action Failed to execute action arn:aws:lambda:xx:function:xx. Received error: "CloudWatch Alarms is not autho…

  • 【Bash/Linux/sed】開始文字と終了文字を与えてその部分を置換する

    やりたいこと 以下のような文があるとして ef&abc;gh&と;で挟まれている箇所を"A"で置換して efAghとする。 環境情報 sed (GNU sed) 4.4 やり方 sedコマンドを用いて以下のように置換をかける。 $ sed -e 's/&.*;/A/g'実際に置換をかけた結果は以下。 # echo "ef&abc;gh" sed -e 's/&.*;/A/g' efAgh以下、補足です。 補足 任意の二つの文字で挟まれた箇所を切り取るワンライナーとなります。 例えば別の例として以下のような例でも、正常に動作していることが分かります。 $ echo "abcdefghijkl…

  • 【自動更新】QiitaのDailyランキングTop10

    更新日時 2024/01/11/07:07 Qiita Trends Daily 1位 ※前日2位 Python,機械学習,pandas,データ分析,ibis-framework Qiita Trends Daily 2位 [New] Python,GUI,Tkinter,Udemy,デスクトップアプリ Qiita Trends Daily 3位 ※前日6位 JavaScript,日本語訳,proposal,es2024 Qiita Trends Daily 4位 [New] Python,GitHub,自然言語処理,Python3,アプリ開発 Qiita Trends Daily 5位 [N…

  • 【Keycloak/Nginx】プロキシ型でアプリケーションを認証保護する流れ

    はじめに ウェブサーバであるNginxと認証認可ツールKeycloakを連携させることで、アクセス時にユーザ認証をかけることが可能です。 本記事では実際にNginxとKeycloakを連携させ、アクセス時にログイン画面が表示される動きを確認しました。 環境情報 keycloak-23.0.3 nginx version: nginx/1.25.3 Linux 事前準備(Nginx) Nginxを準備した上でJavaScriptのモジュール(njs)をインストールします。 $ yum install nginx-plus-module-njs ... Installing: nginx-plus…

  • 【mermaid-cli】Error: Failed to launch the browser processというエラー

    事象 マーメイド記法を扱うツールであるmermaid-cliを以下のようにインストールした後に $ npm install -g @mermaid-js/mermaid-cli ... added 94 packages, and audited 95 packages in 2s ... found 0 vulnerabilities同コマンドの実行を行うも $ mmdc -i test.mmd -o test.png以下のエラーとなる。 Error: Failed to launch the browser process! /home/ec2-user/.cache/puppeteer/…

  • 【AWS/Bedrock】Pythonから日本語でチャットAPIを利用する

    やりたいこと Cloud9からAmazon Bedrockを利用する。尚、サンプルとしては「こんにちは」と入力する。 環境情報 Python 3.7.16 Anthropic Claude Instant やり方 boto3をインストールした上で $ pip install --upgrade boto3 Defaulting to user installation because normal site-packages is not writeable Collecting boto3 Downloading boto3-1.33.13-py3-none-any.whl (139 k…

  • 【AWS/EKS】You must be logged in to the server (Unauthorized)というエラー

    事象 マネージメントコンソールから作成したEKSに対してCloud9からkubectlコマンドで接続に行くも以下のようなエラーとなる。 $ kubectl get svc error: You must be logged in to the server (Unauthorized)詳細なデバッグログは以下。 $ kubectl get svc -v=9 ... helpers.go:246] server response object: [{ "metadata": {}, "status": "Failure", "message": "Unauthorized", "reason":…

  • 【AWS/EKS】Cloud9からプライベートのエンドポイントに接続できない

    事象 Cloud9から「API server endpoint access」が「Private」であるEKSに対し、接続ができない。 具体的にはaws eks update-kubeconfig --name xxによってコンフィグファイルに接続先情報が入っているにも関わらず以下のように応答が返ってこない。 $ kubectl get pod ^C 環境情報 EKS : 1.28 aws-cli/2.15.5 原因/解決策 EKSに設定したSecurity Groupによって通信がブロックされている。 該当のEKSに入っている設定は「Networking」タブの「Cluster securi…

  • 【AWS/EC2】RHELに対してEC2 Instance Connect Endpoinでログインする

    やりたいこと プライベートサブネットに立てたRed Hat Enterprise Linuxを搭載したEC2に対し、EC2 Instance Connect Endpoint経由での接続を行う。 環境情報 RHEL-9.3.0_HVM やり方 初期状態でオーダーをしただけでは以下のようなエラーとなる。 Failed to connect to your instance Error establishing SSH connection to your instance. Try again later. 原因としては接続用のモジュールが不足しているため、ユーザスクリプト(インスタンス作成時に…

  • 【NGINX Plus】yumによるインストール時におけるconflicts with fileというエラー

    事象 既にNginxをインストールしている環境にNginx Plusをインストールをすると以下のエラーとなる。 # yum install -y nginx-plus ... Downloading Packages: nginx-plus-30-2.amzn2023.ngx.x86_64.rpm 1.2 MB/s 3.5 MB 00:02 ------------------------------------------------------------------------------------------------------------------------------…

  • 【AWS】Fleet ManagerによるRemote Desktopを行う際の権限エラー

    事象 EC2にて用意したWindowsServerに対してSystem Manager > Fleet Manager > Remote Desktop にてキーペアを指定して接続を試みるも以下のエラーとなる。 An error occurred while calling the StartConnection API operation. AccessDeniedException: User: arn:aws:iam::xx:user/xx is not authorized to perform: ssm-guiconnect:StartConnection on resource: …

  • 【Nginx】末尾にスラッシュ/をつけないと301 Moved Permanentlyとなる事象を解消する

    事象 sample/index.htmlにアクセスさせるために/sampleとたたいた際に以下となる。 $ curl localhost/sample <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.24.0</center> </body> </html>尚、末尾にスラッシュをつけると正常に用意したものが表示される。 $ curl localhost/sample/ my sam…

  • 【vi/vim】viへのコピペでインデントがずれる事象への対策

    事象 コピー(Ctrl+c)したテキスト情報をviのinsertモードでペースト(Ctrl+v)するとインデントがずれていく。 具体的には以下のようになる。 [ { "Notification": { "NotificationType": "ACTUAL", 環境情報 $ vi --version VIM - Vi IMproved 9.0 対応策 viのコマンドモードにて以下を入力する。 :set pasteこの状態でinsertモードに入ると下部にてpaste modeとなっていることが表示され -- INSERT (paste) -- インデントがずれずにペースト(貼り付け)が行える。…

  • 【AWS/Cost Explorer】CLIによる通知付きBudgetの作り方及び通知設定の確認方法

    やりたいこと AWSコマンドで予算を管理するバジェットを作成し、作成したバジェットを確認する。 環境情報 aws --version aws-cli/1.19.112 Python/2.7.18 Linux/4.14.322-244.536.amzn2.x86_64 botocore/1.20.112 やり方 作成方法は以下。 $ aws budgets create-budget --account-id xx --budget file://a.json --notifications-with-subscribers file://b.jsonアカウントIDは以下で確認を行い $ aws…

  • 【AWS】LambdaでEC2にRole/InstanceProfileを付与する

    やりたいこと Lambdaを利用してEC2に特定のRoleを付与する。 尚、言語はPythonとした上でAWSリソースをPython から操作するためのライブラリであるboto3を利用する。 環境情報 aws --version aws-cli/1.19.112 Python/2.7.18 Linux/4.14.322-244.536.amzn2.x86_64 botocore/1.20.112 やり方 「ec2.associate_iam_instance_profile」を利用する。 Cloud Trialのイベントを引数にした場合の具体的なコードは以下。 import boto3, js…

  • 【AWS/EventBridge】ユーザネームの部分一致でパターンを記載する

    やりたいこと Amazon EventBridgeにて特定のユーザ群がEC2インスタンスをLaunchした場合のパターンを記述する。尚、ユーザ名はTESTで始まるとする。 環境情報 aws --version aws-cli/1.19.112 Python/2.7.18 Linux/4.14.322-244.536.amzn2.x86_64 botocore/1.20.112 やり方 Event pattern部分に以下のJSONを記載する。 { "source": ["aws.ec2"], "detail-type": ["AWS API Call via CloudTrail"], "de…

  • 【AWS/SageMaker】Session-Hrs ,KernelGateway費用を止めるためにドメインを削除する

    やりたいこと 使用していないドメインを削除することでAWSの機械学習系サービスであるSagemakerに伴って発生している以下のコスト請求を停止させる。以下はCostExplorerにて表示されるタグ。 APN1-Canvas:Session-Hrs APN1-Studio_DW:KernelGateway-ml.m5.4xlarge 環境情報 aws --version aws-cli/1.19.112 Python/2.7.18 Linux/4.14.322-244.536.amzn2.x86_64 botocore/1.20.112 やり方 アプリケーション、ユーザプロファイルを削除した…

  • 【AWS/Comprehend】日本語文章に対してawsコマンドからポジネガ判定を行う

    はじめに AWSの機械学習系サービスである「Amazon Comprehend」を利用するとドキュメント内のテキストから価値あるインサイトを導き出し、理解することが可能です。同サービスにはいくつかの機能がありますが、その中で「感情の検出」を担うdetect-sentimentを日本語文章に対して実施してみました。 環境情報 aws --version aws-cli/1.19.112 Python/2.7.18 Linux/4.14.322-244.536.amzn2.x86_64 botocore/1.20.112 ポジネガ判定の流れ 以下のコマンドでポジネガ判定が行えます。 $ aws c…

  • 【Keycloak】Admin REST APIを利用してユーザ一覧を取得する

    やりたいこと Keycloak(RedHat SSO)上に存在するユーザをAdmin REST APIを利用して取得する。 尚、今回はデフォルトで存在するクライアント「admin-cli」を利用するケースで記載を行い、masterレルムを取得対象とする。 環境情報 Linux(fedora) keycloak-21.1.2 やり方 Keycloakが動作しているサーバに対して以下のようにアクセストークンの発行を行なった上で # curl --insecure -X POST http://localhost:8080/realms/master/protocol/openid-connect/…

  • 【Keycloak】H2データベースに格納された情報をコマンドから確認する

    はじめに Keycloak(RedHat SSO)は開発モード(start-dev)で起動するとH2データベースに情報が格納されます。 本記事では同データベースに保管されているデータをLinux機のターミナル上で確認する流れについて記載しました。 環境情報 Linux(fedora) keycloak-21.1.2 h2-2.1.214 事前準備 h2の公式サイトから「h2-2022-06-13.zip」をダウンロードし、Keycloakが動作しているサーバ上で解凍します。今回はLinuxなのでh2.shを利用しますが $ ls h2/bin/ h2-2.1.214.jar h2.bat h2…

  • 【Keycloak】一時パスワードのままのユーザをコマンドから確認する

    やりたいこと Keycloak(RedHat SSO)上に存在するユーザにて一時パスワード(Temporary)のユーザをコマンドから確認する。 環境情報 Linux(fedora) keycloak-21.1.2 やり方 Keycloakが稼働しているサーバ上でレルムに関するファイルを出力した上で $ /kc.sh export --file ./test.json --realm master同ファイルの「requiredActions」が「UPDATE_PASSWORD」となっているユーザを確認する。 "requiredActions" : [ "UPDATE_PASSWORD" ],以…

  • 【Keycloak】User Storage Providerを利用してテキストファイルでユーザ管理を行う

    はじめに Keycloak(RedHat SSO)には「User Storage SPI」という拡張機能があり、これを用いると直接接続しているデータベースとは別の認証情報ストアを利用することができます。本記事では公式が提供する「user-storage-simple」というチュートリアルを利用し、テキストファイルで保持されたユーザ名パスワードを利用してユーザ管理を行う流れを記載しました。 環境情報 Linux(fedora) keycloak-21.1.2 Apache Maven 3.8.8 事前準備 Keycloakをインストールした上で管理者ユーザでログインできるようにしておきます。 管…

  • 【Linux】maxloginsを用いて同時ログイン数に制限をかける

    やりたいこと 同一ユーザの同時ログイン数に制限をかける。 環境情報 $ uname -a Linux ... .amzn2023.x86_64 ... GNU/Linux やり方 下記のファイルにて /etc/pam.d/password-authpam_limitsモジュールを利用する設定を入れた後に session required pam_limits.so下記ファイルに /etc/security/limits.confユーザー名とmaxloginsの数値を入れる。2と入れた場合は同時ログインの最大は2となる。 ec2-user - maxlogins 2以下、補足です。 補足 該当の…

  • 【ExcelVBA】Word.Applicationを用いてファイル全体の形態素分割を行う

    やりたいこと 特定ファイルの全てのセルを対象に形態素毎に分離を行い、結果を別のシートに格納する。 環境情報 Microsoft Visual Basic for Applications 7.1 やり方 Word文書の新規文書を用意した上で Set wd = CreateObject("Word.Application") Set doc = wd.Documents.Add解析対象のファイル名を取得した上でVBAが書かれているファイルのアクティブシートを取得し fName = Dir(ThisWorkbook.Path & "\*解析対象のファイル名*.xlsx", vbNormal) Se…

  • 【ExcelVBA】文字列の長さでソートを行う

    やりたいこと 文字列の長さで列の値をソートする。 例としては 123 あい abcdを abcd 123 あいに並び替える。 環境情報 Microsoft Visual Basic for Applications 7.1 やり方 並べ替えを列の最終行を取得した上で(1列目とする) lastRowNum = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Rowその列の隣に文字列の長さを記載し For i = 1 To lastRowNum ... Cells(i,2)=Len(Cells(i,1))2列目をキーにソートを行う。 Dim sortRang…

  • 【Keycloak】Direct access grantsを利用してcurlでアクセストークンを発行する

    はじめに DirectAccessGrantsとはクライアントがユーザー認証を行う際の方式の一つで、主に簡易的な認証手段として利用されます。 直接ユーザ名とパスワードでのみ認証を行うことからクライアント側での認証実装が不要であるため、今回はKeycloakの動作検証として同方式でアクセストークンを発行する流れを記載しました。 環境情報 Linux(fedora) keycloak-21.1.2 事前準備 Keycloakを立ち上げた上で $ ./bin/kc.sh start-devKeycloakの管理コンソールにログインし、テスト用のレルム(testrealm)1を用意した上でその中にクラ…

  • 【Keycloak】管理コンソールを開いた際にHTTPS requiredという画面になる事象

    事象 トップ画面にて管理コンソール(Administration Console)を表示するために進めようとするもトップ画面「We are sorry... HTTPS required」という画面に遷移してエラーとなる。HTTPS requiredという画面 環境情報 Linux(fedora) keycloak-21.1.2 原因/解決策 KeycloakがSSL通信を必須としているためログインエラーとなっている。 以下はエラー時のログ。 ... WARN [org.keycloak.events] (executor-thread-2) type=LOGIN_ERROR, realmId…

  • 【Keycloak/Linux】tarで配置した資材からインストールを行う流れ

    はじめに IAMに関するOSSであるKeycloakですが、同ツールをインストールするためにはJDK環境が必要です。 本記事ではJDKのインストールからKeycloakの起動を行うまでの流れを記事にしました。尚、インターネットから隔離された環境を考慮してyum等のツールは利用していません。 環境情報 fedora keycloak-21.1.2 Javaのインストール OpenJDKの公式サイトからLinux用のモジュール(openjdk-xx_linux-x64_bin.tar.gz)を入手した上で展開します。 # ls openjdk-20_linux-x64_bin.tar.gz # w…

  • 【AWS】CloudShell / EC2 Instance ConnectでESCが効かない

    事象 Google ChromeでCloudShellを利用時にEscキーが効かなくなる。 環境情報 $ aws --version aws-cli/2.11.25 …Vimium : 1.67.4 原因/解決策 GoogleChromeにて利用していた拡張ツール(Vimium)によってショートカットとして認識されていた。 同拡張を無効化することで正常にESCキーが反応するようになった。以下、補足です。 補足 viを利用している際に多用するEscですが、Vimiumを利用しているとEscが効かなくなるシーンがありました。 ターミナルからであれば問題ないものの、ブラウザ経由で操作する場合に特定の…

  • 【AWS】SecurityGroupを削除時にhas a dependent objectというエラーになる

    事象 不要になったセキュリティグループ(SecurityGroup)をコマンドから削除するも $ aws ec2 delete-security-group --group-id sg-xx以下のエラーで失敗する。 An error occurred (DependencyViolation) when calling the DeleteSecurityGroup operation: resource sg-xx has a dependent object 環境情報 $ aws --version aws-cli/2.11.25 … 原因/解決策 以下のどれかが原因と考えられる。 ネット…

  • 【macOS】FFmpegを利用してMP4ファイルから画像データを抽出する

    やりたいこと 映像データ(MP4)から写真データを出力する。 尚、FFmpegはインストール済みでコマンドは打てる状態とする。 環境情報 macOS 10.15 ffmpeg version N-106666 the FFmpeg developers やり方 動画データ(test.mp4)にピクセルにてサイズ(1920x1280等)を指定した上で以下のように出力先を与えると $ ./ffmpeg -i test.mp4 -s 1920x1080 -r 1 -q:v 1 -vcodec png Test/%06d.png以下のような標準出力の後に動画を1秒毎に切り出した画像が出力される。 fr…

  • 【PowerAutomate】Outlookの定期開催の会議情報を取得する

    やりたいこと PowerAutomateにて特定日の個人予定に格納されている会議情報を全て取得する。 環境情報 Microsoft Teams バージョン 1.6 Power Automate Free Power Automate for Office 365 やり方 アクション「イベントのカレンダービューの取得(V4)」を利用する。 注意点としてアクション「イベントの取得(V4)」を代替として利用すると、定期的に開催される会議情報が初回以外取得ができない。以下、補足です。 補足 会議情報を取得すると以下のような形式にて情報が格納されるので { "subject": "テスト", "star…

  • 【ExcelVBA】列に選択式の入力規則を追加する

    やりたいこと 特定の列に対し、プルダウンリスト(ドロップダウンリスト)をVBAにて設定する。 環境情報 Microsoft Visual Basic for Applications 7.1 やり方 選択式にしたいセル範囲をRangeで用意した上で以下のように記載することで With Range(hoge).Validation .Delete .Add Type:=xlValidateList, Formula1:="A,B,C" End With セルにはA、B、Cを選択して入力することしかできなくなる。以下、補足です。 補足 範囲情報はデータ行の最初から最後までなので、以下のように最終行…

  • 【ExcelVBA】結合されたセルの左上と右下のアドレスを取得する

    やりたいこと 以下のように結合されたセルがB2:C2とE2:E4に存在する場合に A B C D E 1 あ い う え お 2 かきく けこそと 3 さ し す せ 4 た ち つ て それらのセルのアドレス情報をVBAにて取得したい。 環境情報 Microsoft Visual Basic for Applications 7.1 やり方 以下のように記載することで For c = 1 to 10 For r = 1 to 10 If Cell(r,c).MergeCells Then x = Cells(r,c).Address(False,False) y = Range(x).Mer…

  • 【Python/tweepy】tweepy.Clientを利用するためにtweepyのバージョンをあげる手順

    やりたいこと Twitter API v2経由でツイートをするためにtweepy.Clientを利用したい。 ただし、現状のバージョンでは以下のエラーとなるためPython/tweepyのバージョンアップが必要。 # python3 test.py Traceback (most recent call last): File "test.py", line 9, in <module> client = tweepy.Client(BT, AK, AS, AT, ATS) AttributeError: module 'tweepy' has no attribute 'Client' 環境…

  • 【Linux】日本語を含む文字列を文字サイズ順に並べ替えるワンライナー

    やりたいこと 以下のようなファイルがあった場合に $ cat test.txt いちに onetwo 12 一二日本語の文字も1文字扱いで文字数順に並び替えたい。 環境情報 GNU bash, 4.4.12(1)-release (x86_64-pc-linux-gnu) やり方 以下を実行すると $ cat test.txt while read line; do echo "$line" wc -m;echo $line; done awk 'NR%2 != 0{printf "%s ", $1} NR%2 == 0 {printf "%s\n",$1}' sed -e s…

  • 【入門/暗号】離散対数問題とは?

    はじめに 主に公開鍵暗号の方式で活用される離散対数問題。辞書にて以下のように解説されています。 離散対数問題とは、ある計算の結果から簡単に逆算ができないような数学上の問題の一つで、整数のべき乗(冪乗)を素数で割った余りを求める計算を用いるもの。 本記事ではそこから「具体的にどういう問題?」「なぜ暗号の世界で利用されているの?」という観点で深掘りし、分かりやすく説明してみました。 離散対数問題とはどういう問題? 離散対数問題を理解するために質問ですが、「とある整数aを冪乗した時、とある整数bで割った余りはいくつか?」という問題と「整数aを何乗すれば整数bで割った余りがcになるか?」という問題、ど…

  • 【Linux】任意の数値の小数点以下の桁数を削除する

    やりたいこと 1.2345のような数値列がある際に以下のような切り出し方を行う。 1.2 1.23 1.234 環境情報 $ bc --version bc 1.06.95 やり方 数値列に対して1での除算を行う。 $ echo "scale=1;1.2345/1" bcscaleで指定する数値を変更することで小数点以下の桁数を指定できる。 $ echo "scale=2;1.2345/1" bc 1.23 $ echo "scale=3;1.2345/1" bc 1.234以下、補足です。 補足 以下のように数値をそのまま入れるだけでは小数点処理はされないため $ echo "s…

  • 【Python】スクリプトで利用する環境変数を設定ファイルから読み込む

    やりたいこと 以下のようにスクリプト内で利用する変数の値を client = tweepy.Client(BT, AK, AS, AT, ATS)別ファイルからの読み込みで与えたい。 環境情報 Debian GNU/Linux 9 Python 3.9.2 やり方 スクリプトが配置されているディレクトリ内に.envファイルを用意し、スクリプト内からそれを読み出す。具体的にはdotenvモジュールを以下のようにインストールした上で # pip3 install python-dotenv ... Successfully installed python-dotenv-1.0.0 ..スクリプト…

  • 【Linux】grep実行時に「無効な範囲終了です」というエラーになる

    事象 二つのファイルの比較作業として以下を実行した際に $ grep -x -v -f /root/test2.txt /root/test1.txt以下のエラーとなる。 grep: /root/test2.txt:128: 無効な範囲終了です 環境情報 $ grep --version grep (GNU grep) 2.27 原因/解決策 正規表現で使用する特殊な文字(\、[、]、^、$、*、.など)が該当行に存在した。 特殊文字をエスケープせずに検索するためにFオプションを利用することで解消する。 $ grep -x -v -F -f /root/test2.txt /root/test…

  • 【Db2】特定のSQLに対してインデックスの利用有無を確認する

    やりたいこと Db2環境で発行するSQLにてテーブルに作成してあるインデックスの利用有無を確認する。 環境情報 DB2 v11.5 RHEL 7 やり方 db2explnコマンドを利用する。接続情報及びqオプションにて発行したいSQLを記載した結果にて $ db2expln -d sample -u DB2INST1 P@ssword -t -g -q "select * from sales where SALES = 15"以下のようにIndexが含まれているかどうかを確認する。 Optimizer Plan: Rows Operator (ID) Cost 12.6715 RETURN …

  • 【Db2】SQLにかかる時間をdb2batchで計測する

    やりたいこと Db2環境で発行するSQLの処理時間を確認する。 環境情報 DB2 v11.5 RHEL 7 やり方 db2batchコマンドを利用する。 $ which db2batch ~/sqllib/bin/db2batchSQL分を記載したファイルを用意した上で select * from sales; 以下のように引数にてデータベースへの接続情報を入力すると $ db2batch -d XX -a DB2INST1/XX -f test.sql -i complete -o f -1 p 1 o 5以下のようにSQLの実行結果及び計測結果が出力される。 * 2176 row(s) f…

  • 【Kubernetes】特定のPodに対してパケットキャプチャーをしかける

    やりたいこと WorkerNode上で動作する特定のPod(例IngressController等)を宛先とする通信のパケットを取得する。 環境情報 Kubernetes v1.23 やり方 tcpdumpが含まれたコンテナイメージを用意した上でIngress ControllerのPodが動くWorkerNodeを以下のYAMLのnodeSelectorに記載。 apiVersion: v1 kind: Pod metadata: name: test namespace: default spec: containers: - args: ["-c", "sleep 1d"] comman…

  • 【JP1/AJS3】ジョブネットの実行予定と実行結果をコマンドで表示させる

    やりたいこと JP1/AJS3 ManagerがインストールされたLinux機において特定のジョブネットの実行予定時刻及び実行結果を確認する。 環境情報 JP1AJS_1260L01 JP1AJS_1260W01 やり方 ジョブスケジュール(test)を以下のように指定すると実行結果が確認でき # /opt/jp1ajs2/bin/ajsshow -T "/test/*" AJSPATH = /test/ Name Type Status Code Start time End time test2_jpb net normal *** ... 1:00 ... 1:00 AJSPATH = …

  • 【JP1/AJS3】ジョブネットとジョブの一覧をコマンドで出力する

    やりたいこと JP1/AJS3 - Viewにて以下のように表示されている場合にジョブネット定義ジョブネット、ジョブの一覧をLinux機側で表示する。 環境情報 JP1AJS_1260L01 JP1AJS_1260W01 やり方 ajsprintコマンドで表示する。 # /opt/jp1ajs2/bin/ajsprint -a "/*" grep unit出力情報としてジョブグループやジョブネットが以下のような形式で表示される。 # /opt/jp1ajs2/bin/ajsprint "/*" grep unit unit=test,,jp1admin,; #ジョブグループ unit=…

  • 【JP1/AJS3】Managerのインストール/初期構築の流れ

    はじめに ジョブスケジューラのJP1構築の参考として Linux側にJP1/Base&Jp1/Managerをインストール Windows側にViewをインストール ViewからManagerに接続 を実施した流れを記載します。 環境情報 JP1AJS_1260L01 JP1AJS_1260W01 Manager(Linux)側のインストール モジュール(JP1AJS_1260L01_P1.iso)を配置した上で展開し、以下のディレクトリにあるLINUX/SETUPからインストールを行います。 # find JP1AJS_1260L01_P1 grep -i setup JP1AJS_12…

  • 【JP1/AJS】認証サーバのホスト名を確認する

    やりたいこと JP1/Automatic Job Management System 3における、JP1/Baseの認証サーバに指定しているホスト名を確認する。 環境情報 CentOS 7 P-812C-6LCL,125004(T),JP1/Base やり方 以下のファイルを確認する。 # file /opt/jp1/hcclibcnf/regdir/HKEY_LOCAL_MACHINE.dat /opt/jp1/hcclibcnf/regdir/HKEY_LOCAL_MACHINE.dat: ASCII text具体的にはSVNAMEという項目で値が管理されている。 # cat /opt/j…

  • 【AWS】作成済みのIAMユーザに対する対するパスワードの強制変更フラグ付与

    やりたいこと AWSアカウントにおいて、既にプロファイル作成済みのIAMユーザーに対してパスワードの強制変更フラグを付与してパスワードを変更する。 環境情報 $ aws --version aws-cli/2.11.25 … やり方 該当のユーザを—user-nameで指定した上で以下のようにログインプロファイルをアップデートする。 $ aws iam update-login-profile --user-name test --password p@ssw0rd --password-reset-required尚、パスワードの強制変更のフラグの有無は以下にて確認ができる。 $ aws i…

  • 【Linux】crontabにて%を付与したコマンド実行がエラーとなる

    事象 crontabに以下のような記載をした場合に # crontab -l * * * * * curl test.com -o /dev/null -w '%{http_code}\n' -scronログにはエラーとして出力される。 /bin/sh: -c: line 0: unexpected EOF while looking for matching `'' /bin/sh: -c: line 1: syntax error: unexpected end of file 環境情報 Red Hat Enterprise Linux Server 7.9 原因/解決策 コマンド部分の%…

  • 【Linux】curlコマンドを実施するもCannot assign requested addressというエラーになる

    事象 curlコマンドにて外部システムに対してリクエストを発行するも以下のエラーとなる。 $ curl 10.X.X.X -v * About to connect() to 10.X.X.X port 80 (#0) * Trying 10.X.X.X... * Failed to connect to 10.X.X.X: Cannot assign requested address * couldn't connect to host at 10.X.X.X:80 * Closing connection 0 curl: (7) Failed to connect to 10.X.X.X…

  • 【Wireshark】分割されたパケットキャプチャデータをコマンドで結合する

    やりたいこと 分割されたパケットデータ(.pcap)をCUIから統合して1ファイルとする。 環境情報 Wireshark 3.2.2 CYGWIN_NT-10.0 ... 3.3.4... x86_64 Cygwin やり方 Wiresharkフォルダに格納されているmergecap.exeを利用する。 $ ls -l /cygdrive/c/Program\ Files/Wireshark/mergecap.exe -rwxr-x---+ 1 ... '/cygdrive/c/Program Files/Wireshark/mergecap.exe'カレントディレクトリにpcap形式のファイ…

  • 【IBMCloud/Windows】CUIでチケットに対してファイルを添付する

    やりたいこと IBMCloud上で起票したチケットに"ibmcloud.exe sl ticket"コマンドでファイルを添付したい。 環境情報 $ ibmcloud version C:\Program version 2.13.0..$ uname -a CYGWIN_NT-10.0 ... 3.3.4... x86_64 Cygwin やり方 以下でオープン中のチケットの一意のIDを確認した後に $ ibmcloud sl ticket list Id Assigned User Title Last Edited Status Updates Priority 1234567890 xx…

  • 【Vyatta】VRRPにおけるadvert_intの値を変更する

    やりたいこと Vyattaにてkeepalivedにおけるadvert_intの値を変更する。 環境情報 Debian 4.19.150-0vyatta1 やり方 以下のように、冗長構成を取っている両機に対して構成変更モードに遷移した後に設定変更を実施する。数字の単位は秒。 $ configure # set interfaces bonding XX vrrp vrrp-group XX advertise-interval 30 # commit # exit設定値は以下で確認ができる。 $ show vrrp detail --------------------------------…

  • 【JMeter/Linux】CUIで実施時に応答時間の結果をLatencyで確認する

    やりたいこと JMeterを実行ができる状況にて # jmeter -n -t test.jmx各リクエストに対する応答時間を確認する。 環境情報 apache-jmeter-5.4.1 java-1.8.0 RedHatEnterpriseLinux 7 やり方 lオプションを付与して実行することで # jmeter -n -t test.jmx -l test.csv以下のような応答結果が出る。 # head test.csv timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,f…

  • 【Linux/CentOS】timedatectlによるNTPとの時刻同期方法

    はじめに CentOS7のNTPによる時刻同期ができていない環境にて、NTPによる時刻同期を行う流れについて記載しました。 尚、時刻同期ができている状態とはtimedatectlコマンドの結果が以下という状態を指しています。 # timedatectl ... NTP enabled: yes NTP synchronized: yes 環境情報 CentOS Linux 7.7 ntp.x86_64 0:4.2.6p5-29.el7.centos.2 NTP enabled 時刻同期ができていないデフォルトの状態は以下となっています。 # timedatectl ... NTP enable…

  • 【Kubernetes】kube-controller-managerのnode-monitor-grace-periodを変更する

    やりたいこと WorkerNodeの状態を管理するパラメータである「node-monitor-grace-period」を変更する。 環境情報 Kubernetes v1.23.2 やり方 kube-contoller-managerの引数に記載する数値を変更する。(デフォルトは40秒) - kube-controller-manager - --node-monitor-grace-period=40s尚、同値を変更することでkube-controller-managerがNodeのステータスのヘルスチェックに関する閾値が変更される。 I1025 ...1 event.go:294] "Ev…

  • 【Db2】アクティブログのミラーログをMIRRORLOGPATHで設定する

    確認したいこと アクティブログのミラー先を設定した後に $ db2 UPDATE DB CFG FOR sample USING MIRRORLOGPATH /test/db2inst1/Mirror DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configur…

  • 【Nginx/Ingress】Endpointに紐づくPodのIP変更を検知する流れ

    確認したいこと NGINX Ingress ControllerはService/Endpointに紐づくPodのIPが変更されるとそれを検知します。 今回はDeploymentでNGINX Ingress Controllerが動作している環境で、変更検知の流れをログから調査しました。 環境情報 NGINX Ingress controller Release: v0.48.1 Kubernetes: v1.23 確認方法/結果 Nginx Ingress Controllerにはでバックログ(Debug Logging)機能があり、デプロイメント起動時に--v=5を指定することでログレベル…

  • 【Nginx/Ingress】Sticky sessionsを有効にすることで同一PODに通信を流す

    はじめに NGINX Ingress Controllerにはセッションが続いている間は同じクライアントを同じサーバへ誘導する機能(Sticky sessions)が存在します。本記事ではそれを実際に有効にすることで、ブラウザ通信が同一のPodに流れることを実機で確認しました。 環境情報 NGINX Ingress controller Release: v0.48.1 Kubernetes: v1.23 事前準備 Deployment, Service, Ingressを用意することでロードバランサのIPに通信を発生させるとNginxのPodに通信が流れるようにしておきます。 $ kubec…

  • 【Db2】HADR_STATE=REMOTE_CATCHUP_PENDINGから復旧させた流れ

    事象 スタンバイ機のDBのHADRが正常に機能しない。具体的にはステータスがREMOTE_CATCHUP_PENDINGとなっている。 $ db2pd -db sample -hadr .... HADR_ROLE = STANDBY HADR_STATE = REMOTE_CATCHUP_PENDING HADR_CONNECT_STATUS = DISCONNECTED ... 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 解消方法 プライマリーとスタンバイ側のDB2インスタンスを停止させた状…

  • 【Db2】STANDBY機のサーバ再起動時におけるTSA/RSCTによる復旧確認

    確認したいこと db2haicuで設定したTSAMP構成が組まれている環境で $ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs - Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:test1 '- Offline IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:…

  • 【JitsiMeet】ミーティング参加を試みるとWebsocket errorで接続が切断される事象

    事象 トップ画面は正常にアクセスできるが「ミーティングを開始/参加」をしようとすると あなたは切断されました というメッセージが出た後に再接続が繰り返される。 原因/解決策 ブラウザ経由でのWebSocket機能が正常に利用できていない。docker-composeによるJitsiMeetの設定ファイルである.envに以下を記述すると ENABLE_XMPP_WEBSOCKET=0正常に起動する。以下、補足です。 補足 以下の記事で作成した環境へProxy(プロキシー)経由で接続した際にエラーとなりました。 ブラウザ上でデバッグすると下記のように出力されていたので init @ app.bun…

  • 【Db2】データベースマネージャー構成パラメーターを確認する

    やりたいこと 以下のように設定を行うデータベースマネージャー(dbm)の構成パラメーターの現在値の確認する。 $ db2 update dbm cfg using xx yy 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 やり方 以下のコマンドを押下すると $ db2 get dbm cfg以下の形式で値が表示される。 Database Manager Configuration Node type = Enterprise Server Edition with local and remote…

  • 【Db2】db2_killを用いたインスタンス障害時のTSA/RSCTによる復旧確認

    確認したいこと db2haicuで設定したTSAMP構成が組まれている環境で $ lssam Online IBM.ResourceGroup:db2_db2inst1_db2inst1_SAMPLE-rg Nominal=Online '- Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs - Online IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:test1 '- Offline IBM.Application:db2_db2inst1_db2inst1_SAMPLE-rs:…

  • 【Db2】db2haicuの設定情報をxml形式で出力する

    やりたいこと db2haicuで対話形式に設定したTSAMP構成をXML形式に出力する。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 やり方 -o(output)オプションを利用し、出力先のファイル名を指定すると $ db2haicu -o test.xml Welcome to the DB2 High Availability Instance Configuration Utility (db2haicu). db2haicu determined the current DB2 data…

  • 【ICOS】curlコマンドのみでファイルをアップロードする

    やりたいこと IBM CloudのICOS(IBM Cloud Object Storage)にWindowsに標準搭載されているcurlコマンドを利用してファイルをアップロードする。尚、ibmcloudコマンドは利用せず、事前にAPIキーを作成しておく 環境情報 > curl -V curl 7.83.1 (Windows) libcurl/7.83.1 Schannel ... やり方 APIキーを引数に入れた上で下記コマンドを押下すると > curl -X "POST" "https://iam.cloud.ibm.com/identity/token" --data-urlencode…

  • 【Db2】TSAによるHADR自動切り替えにおけるクォーラムデバイスの役割

    はじめに クラスタリングツールの世界にはクォーラムデバイス(quorum device)と呼ばれる概念があり、実際にDb2のクラスタリングを組む際に以下のように指定します。 Configure a quorum device for the domain called 'xx'? [1] ... The following is a list of supported quorum device types: 1. Network Quorum/2. Disk Quorum/3. Majority Node Set...本記事では、同デバイスの役割と実際にそれがどのように使われるのかの動き方を…

  • 【Db2】db2haicuで設定した自動テイクオーバーを確認する

    はじめに スタンバイ側にてdb2haicuを実施した後に プライマリーでも同設定を行い、機能検証としてプライマリー側のOSをシャットダウンしてみました。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 Primary側の手順 db2haicuを対話モードで実行し、Sutandby側と同じクラスターとDB名を指定します。 $ db2haicu ... The following are valid settings for the high availability configuration par…

  • 【Db2】スタンバイ側にてdb2haicuを用いてクラスタードメインを構成する

    はじめに 以下のようにHADR構成のデータベースが既にある場合、プライマリーのデータベースサーバとスタンバイのデータベースサーバでクラスタードメインを作成する流れについて記載しました。 尚、今回はクラスタリングツールにTSAを利用しています。 環境情報 IBM Tivoli System Automation for Multiplatforms 4 DB2 v11.5 RHEL 7 事前準備 TSAのインストールを行った上で # ./installSAM prereqSAM: All prerequisites for the ITSAMP installation are met on o…

  • 【Db2】HADR構成のDBでクライアントリルートの動きを確認する

    はじめに 以下のようにHADR構成のデータベースがある場合、クライアント側が接続先を変更せずともTAKEOVER時にスタンバイ側に切り替わるクライアント・リルート機能をを確認しました。 環境情報 DB2 v11.5 RHEL 7 サーバ側での事前確認 プライマリー側のデータベースにて"Alternate server hostname"と"Alternate server port number"を指定することでスタンバイ側の情報をクライアント側に伝達できるようにしておきます。 $ db2 "UPDATE ALTERNATE SERVER FOR DATABASE SAMPLE USING >…

  • 【Db2】リモートにあるデータベースサーバに接続するためにカタログを作成する

    はじめに 以下のように遠隔にデータベースがある場合、クライアント側でCATALOGと呼ばれる情報を用意して接続を行います。本記事ではそれらの流れについて記載しました。 尚、クライアント側でdb2コマンドは押下できる状態かつサーバ側ではインスタンス/DBが作成済の状態とします。 環境情報 DB2 v11.5 RHEL 7 サーバ側での事前確認 インスタンスが待ち受けているポート番号は、インスタンスにログイン後に以下のコマンドで $ db2 get dbm cfgSVCENAMEに記載の値で確認できます。 TCP/IP Service name (SVCENAME) = db2c_db2inst1…

  • 【Db2】HADRの正副構成を手動で切り替える

    はじめに プライマリー機とスタンバイ機の間でHADR(High Availability Disaster Recovery)機能を利用しているIBM Db2環境で、プライマリー側の更新がスタンバイ側に取り込まれていることを実機で確認しました。 環境情報 DB2 v11.5 RHEL 7 事前準備 SAMPLEデータベースにてHADR構成を組み、プライマリー側/スタンバイ側それぞれでHADR_STATEが"PEER"となっていることを確認。 $ db2pd -db sample -hadr Database Member 0 -- Database SAMPLE -- Active -- ..…

  • 【Kubernetes】calico/kube-controllersのLivenessであるcheck-statusの動き

    はじめに Calicoのkube-controllersのLiveness/Readinessを見ると、内部的に以下コマンドで生死監視が行われています。 exec [/usr/bin/check-status -l] delay=10s timeout=10s period=10s #success=1 #failure=6本記事にて実機を用いて内部的に何が確認されているのかを調査しました。 環境情報 calico/kube-controllers:v3/usr/bin/check-status --version v3.21.4 check-statusはjsonファイルを確認している コン…

  • 【Db2】START HADR AS STANDBYを実施するもUnable to start HADR. Reason code = "1"となる

    事象 HADR構成をスタンバイ側で実施しようとするも表題のエラーとなる。 $ db2 "START HADR ON DB SAMPLE AS STANDBY" SQL1768N Unable to start HADR. Reason code = "1". 環境情報 DB2 v11.5 RHEL 7 原因/解決策 公式ドキュメントにて START HADR AS STANDBY コマンドを発行したが、データベースの状態が、ロールフォワード・ペンディングでもロールフォワード進行中でもないため。 と記載あり。再度プライマリー側のデータをリストア&ロールフォワード・ペンディング状態のまま実施すると…

  • 【Db2】sb2setコマンドでDB2SYSTEMを変更する

    やりたいこと デフォルトで設定されている変数であるDB2SYSTEMを変更したい。 尚、同値はインスタンスユーザにスイッチした上で以下コマンドで確認できる。 $ db2set -all [i] DB2COMM=TCPIP [i] DB2AUTOSTART=NO [g] DB2SYSTEM=testserver 環境情報 DB2 v11.5 RHEL 7 やり方 特権ユーザ(root)にスイッチした上で環境変数にてインスタンス名を定義した上で # export DB2INSTANCE=db2inst1以下のように変更後の値を入力すると # /home/db2inst1/sqllib/adm/db…

  • 【Db2】No start database manager command was issued というエラー

    事象 データベースに接続しに行くも表題のエラーとなる。 $ db2 connect to SAMPLE SQL1032N No start database manager command was issued. SQLSTATE=57019 環境情報 DB2 v11.5 CentOS Linux 7 (Core) 原因/解決策 db2startで起動するメインプロセス(db2sysc)が存在しない。よって該当のプロセスを起動すると $ db2start ... 0 0 SQL1063N DB2START processing was successful. SQL1063N DB2START…

  • 【Kubernetes】NotReadyのNodeで動いているPodはServiceから切り離される

    確認したいこと 以下の記事のようにWorkerNode~API Serverの通信が途絶えたりkubelet障害が発生した場合に Pod上はどのような挙動をするのか。2台のNodeを用意し、それぞれに1つずつPodをDeployした状態でService経由のアクセスを可能にしてあることとする。 環境情報 Kubernetes 1.24 確認結果 二台のNodeが存在する環境で1台のNodeのみを「NotReady」ステータスとすると $ kubectl get node NAME STATUS ROLES AGE VERSION 10.X.X.A NotReady ... 10.X.X.B R…

  • 【Vyatta】インターフェースに割り当てられているIPv6のアドレスを無効化する

    やりたいこと 各インターフェースに定義されているinet6を無効化したい。 尚、同IPアドレスは以下で確認できる。 $ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 s…

  • 【JSON】jqコマンドで階層を問わずに指定した項目/アイテムを表示する

    やりたいこと 以下のような構造のJSONがあるとして { "issue": { "id": XX, "project": { "id": 8, "name": "Test" }, "tracker": { "id": 10, "name": "Task" }, ... nameの値だけを取り出す。ただし、nameの場所がどの入れ子の深さにあるかは指定しない。 環境情報 $ jq --version jq-1.6 やり方 以下のように指定することで $ cat test.json jq ".. .name? select(.!=null)"全てのアイテムにてnameという名前のフィールドを再…

  • 【Vyatta】VRRP構成でリモートサーバにSyslog転送を行う際の注意点

    はじめに VRRPによる冗長構成が有効な場合に Syslog転送を行うと、送信元のIPアドレスに気をつける必要がある点を実機で確認しました。 環境情報 Debian 4.19.150-0vyatta1 Vyatta側の設定 Vyattaでは以下構文でSyslog転送の設定ができるので # set system syslog host <address> facility <keyword> level <keyword>ファシリティは all とした上で対象を警告以上とするように設定をしました。 # set system syslog host 10.X.X.X facility all le…

  • 【Wireshark】パケット内の任意の項目を表示列に追加する

    やりたいこと パケットの中にある任意の値をWireshark上の列として表示させる。例えばTCP(Transmission Control Protocol)パケットの中にて以下のように格納されているウィンドウサイズの値を Window: 29200 [Calculated window size: 29200] 列に組み入れるケースを想定する。 環境情報 Wireshark 3.2.2 やり方 ツリービューに表示されるパケットの詳細にて該当箇所を選択した上で右クリックを押し「列として適用」を行う。GUI上尚、デフォルトではNo. , Time , Source , Desitination,…

  • 【Vyatta】config-syncに新たなルールを追加してconfig-sync errorを防ぐ

    やりたいこと 例えばファイアウォールのためにIPアドレスのグループを定義する以下の定義を # set resources group address-group group-name { address address description desc }config-sync機能で同期をかけたい。尚、同期設定は完了していることとする。 環境情報 Debian 4.19.150-0vyatta1 やり方 Config-syncを有効にした状態で新たなルールを有効化すると # set system config-sync sync-map SYNC rule 4 action include…

  • 【Vyatta】config-syncで片方のRouterに定義を同期して反映する

    はじめに VyattaではNETCONF Protocolという機構を利用してConfigをネットワーク越しに設定することができますが、冗長構成のVyattaではset system config-syncを用いることで片側でのcommit時に構成定義の同期が可能となります。本記事ではVRRP構成のVyattaを利用し、実際に確認しました。 環境情報 Debian 4.19.150-0vyatta1 1系側での設定 対向のIPアドレスを以下のように入れておき set system config-sync remote-router xx password '********' set syst…

  • 【Vyatta】片系のみVRRPのpreemptが有効化されている時の挙動

    確認したいこと VRRPが有効化なVyattaにて片系のみ # set interfaces bonding test0 vrrp vrrp-group 1 preempt trueとしている状態でMaster/Backupの切り替えを行うとどうなるのか。 環境情報 Debian 4.19.150-0vyatta1 確認結果 優先度が高い系でpreemptが有効化されている場合は対向側の有効化状況に拘わらずにMasterとなる。箇条書きにすると以下。 優先度が高いAでpreemptがtrueの場合 優先度が低いBのpreemptの状態に拘わらず、A側がBackupに入る挙動に入ってもA側がMa…

  • 【Vyatta】冗長構成としてのVRRPを有効化する流れ

    やりたいこと VyattaにてVRRPを有効化したい。 環境情報 Debian 4.19.150-0vyatta1 やり方 以下のように定義を入れた状態で set interfaces bonding test0 vrrp vrrp-group 1 disable set interfaces bonding test0 vrrp vrrp-group 1 preempt false set interfaces bonding test0 vrrp vrrp-group 1 priority XXX set interfaces bonding test0 vrrp vrrp-group 1…

arrow_drop_down

ブログリーダー」を活用して、社外SEくんさんをフォローしませんか?

ハンドル名
社外SEくんさん
ブログタイトル
社外SE技術日記(OUTPUT)
フォロー
社外SE技術日記(OUTPUT)

にほんブログ村 カテゴリー一覧

商用