chevron_left

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

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

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

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

2019/07/13

arrow_drop_down
  • 【MongoDB】MongoTimeoutError: Server selection timed out となるエラー

    事象 node.jsアプリケーションにてMongoDBに接続に行く処理にて以下のようなタイムアウトエラーになる、 MongoTimeoutError: Server selection timed out after 10000 ms ... name: 'MongoTimeoutError' 環境情報 NodeJS Version: 12.16.1 - x64 MongoDB Version: 4.2.6 原因/解決策 接続に10000ms(10s)以上かかっている可能性がある。 よってMongoDB用の環境変数であるMONGO_OPTIONSにて以下のようタイムアウト値を変更する。 MON…

  • 【Rocket.Chat】adminユーザを再作成する手順

    はじめに RocketChatでは管理者権限を持つユーザは設定画面からアプリ全体の設定を編集できます。 そんなadmin権限を持つユーザのログインパスワードが分からなくなった際にMongoDBからadmin権限を持つユーザを削除&再度admin権限を持つユーザを作成する手順を紹介します。パスワードを忘れた場合も事前に登録したメールアドレスにてパスワード再設定ができたり、パスワードリセットがAPI経由で行える模様なので本手順はクリーンなものではないですが参考にしてみてください。 環境情報 Rocket.Chat Version: 3.2.2 MongoDB Version: 4.2.6 Mong…

  • 【Rocket.Chat】カスタム絵文字を登録する

    はじめに Rocketchat(ロケットチャット)ではSlack同様に絵文字スタンプがあり、画像ファイルが手元にあればカスタム絵文字として登録可能です。 本記事では実際にカスタム絵文字を使う流れについて紹介します。 環境情報 Rocket.Chat Version: 3.2.2 カスタム絵文字の管理 ROOT_URLをlocalhostにしている場合は以下から同設定が可能です。 http://localhost:3000/admin/emoji-customプラスマークをクリックすれば以下のようにGUI上で画像を選択します。カスタム絵文字の追加今回は「ダウト」という画像を以下のように追加しまし…

  • 【MongoDB】個人的によく使う照会系コマンド群

    MongoDBで定期的に打ちたくなるコマンドをメモしておきます。 DB一覧 コレクション一覧 ドキュメント全件取得 コレクション一覧とドキュメント数を表示 ドキュメントの表示件数の制限を変更 レプリカセットの状態 DB一覧 show dbs コレクション一覧 show collections事前にuse db_nameが必要。 ドキュメント全件取得 db.<collection_name>.find()事前にuse db_nameが必要。 コレクション一覧とドキュメント数を表示 db.getCollectionNames().forEach(function(v){print(v , db.g…

  • 【Rocket.Chat】LDAP等の設定情報の保管場所

    はじめに 以下記事ではメッセージの保管場所について紹介しましたが 本記事ではブラウザ上にて以下のように「管理」から設定できる項目がデータベースのどこに保管されるかについて調査した際のメモです。管理にて設定を編集できる結論から言えば「rocketchat」データベースの「rocketchat_settings」コレクションです。 環境情報 Rocket.Chat Version: 3.2.2 MongoDBのコレクション一覧 初回ログオン直後のMongoDBのコレクションとドキュメント数の一覧は以下でした。 rs0:PRIMARY> db.getCollectionNames().forEach…

  • 【チャットツール】dockerコマンドでRocketchatを利用する

    はじめに 以下記事で紹介したチャットツールですが 今回はdockerコマンドでRocketchatを利用する手順について紹介します。端末はWindows 10でDocker Desktopを利用してコンテナ実行環境を用意しています。 利用イメージ情報 $ docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE rocketchat/rocket.chat latest decacd254a01 3 days ago 1.68GB mongo latest 3f3daf863757 2 weeks ago 388MB MongoDBコンテナを起動…

  • 【Docker&MongoDB】getaddrinfo ENOTFOUND GetAddrInfoReqWrap.onlookuにて接続エラー

    事象 Roket.chatコンテナをMongoDBコンテナに接続しようとするも以下メッセージでエラーになる。 /app/bundle/programs/server/node_modules/fibers/future.js:313 throw(ex); ^ Error: getaddrinfo ENOTFOUND mongo at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26) { name: 'MongoNetworkError', errorLabels: [ 'TransientTransactionError' ]…

  • 【Docker】コンテナイメージをアイランド環境に持ち込み起動する

    はじめに インターネットに接続していない環境、いわゆるアイランド環境にてコンテナイメージを展開する方法を説明します。流れとしてはインターネットに接続している環境にてイメージをpullし、そのイメージをtarに固めて持ち込んで利用します。 環境情報 Debian 9 (コンテナイメージをpullする環境) Windows 10(アイランド環境を想定した環境) コンテナイメージを取得する(Debian側) redisのイメージをアイランド環境に持ち込むとします。例えばdocker-compose用のファイルに以下のように記載されていれば redis: image: redis:5.0.7初期起動時…

  • 【MongoDB】バックアップとリストアの流れ

    はじめに MongoDBにて以下記事で作成したデータベース名「test」コレクション名「user」のデータをバックアップし、データを削除した後にリストアして復旧する手順を紹介します。 環境情報 Debian GNU/Linux 9 MongoDB shell version: 3.2.11 事前確認 バックアップを行うためにはmongodbプロセスが動いている必要があります。 # ps aux grep mongo mongodb .. /usr/bin/mongod --unixSocketPrefix=/run/mongodb --config /etc/mongodb.confデータ…

  • 【MongoDB】コマンドから非対話形式で利用する

    はじめに NoSQLの筆頭として以下記事でも軽く触れたMongoDBですが タイトルの通りコマンドから直接DBを操作することも可能なのでテキストに追記する感覚でDBに格納&検索ができます。本記事ではデータをコマンドから操作する方法を前提知識を補足しながら記載しています。 コマンド実行環境 Debian GNU/Linux 9 MongoDB shell version: 3.2.11 MongoDBのインストール apt-getにてインストール可能です。 # apt-cache show mongodb Package: mongodb ... Description-en: object/d…

  • 【Kubernetes】永続化ボリュームPersistentVolumeClaimを利用する

    はじめに コンテナは基本的にステートレスで削除してしまえば再度作成しても中で作成したファイルは消えています。が、Dockerでは例えば以下のように一部ファイルを外出しすることで永続的に利用できます。 Kubernetesにも永続ストレージという概念にてPersistentVolumeClaimという設定にてデータを維持することが可能になります。 本記事ではその使い方をハンズオン形式で紹介します。 環境情報 DocerDesktop Windows10 kubectl 1.15 使用するYAML Pod&Service&Volumeで3つのファイルです。 $ cat nginx-pod.yaml…

  • 【Kubernetes】NodePortとLoadBalancerの違い

    はじめに 以下記事にてKubernetesのサービスで利用するClusterIPとNodePortの違いについて説明しました。 その違いは K8sクラスタに所属していないマシンからポッド内に通信できるか否か です。一方で上記の特徴を持つNodePortと同じくLoadBalancerでも同様のことが可能です。本記事ではNodePortとLoadBalancerの違いを説明します。 LoadBalancerとは? kubectl get serviceでそれぞれを見れば分かりやすいです。 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE hoge-clus…

  • 【Kubernetes】nginxのPodへのcurlがEmpty reply from serverとなる事象

    事象 Kubernetesにて立ち上げ済のnignxのPod&サービスを利用してcurlコマンドで接続を行うも以下エラーになる。 $ curl localhost curl: (52) Empty reply from server接続ポート(80)に誤りはなく > kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ... nginx LoadBalancer 10.101.233.150 localhost 80:31029/TCP ..別ポートに接続すると別のエラーになるためServiceは問題なく立ち上がって…

  • 【Bash】文字列内の括弧で挟まれた箇所を削除する

    やりたいこと 以下の文字列をbashを利用して ABC(DEF)G(H)以下としたい。 ABCG 環境情報 $ bash --version GNU bash, バージョン 4.4.12(3)-release (x86_64-unknown-cygwin) やり方 Linux系OSにて以下コマンドを実行すれば指定した括弧で囲まれた文字列が省いた文字列が表示されます。 $ echo "ABC(DEF)G(H)" sed 's/([^)]*)//g' ABCGただし二重括弧には対応していません。 $ echo "ABC(D(E)F)G(H)" sed 's/([^)]*)//g' ABCF…

  • 【Windows】カーソルは動くが画面が固まって動かない事象

    事象 ブラウザ操作中に画面が固まる。以下、具体的な状況です。 カーソルは動くが画面のアイコンに載せても反応しない キーボードのコマンドが通らない(Windowsキー+Rキー等) 画面が更新されない(右下の時刻が変わらない) ファンクションキーによるボリューム調整は可能(画面にも出てくる) 画面を閉じてスリープ&スリープ解除でも事象解消はしない 環境情報 Windows 10 事象が起きた時の試行錯誤 結論から言いますが、再起動しました。再起動後は問題なく利用できました。 その前に試行錯誤した中で有効に効いたのは「外部ディスプレイの接続」です。外部ディスプレイを接続してもメイン画面が固まったまま…

  • 【Heapster】Error in scraping containers from kubelet failed to get all container stats from...というエラー

    事象 Podのリソース(CPU/Memory)を確認すべくHeapsterをデプロイするも以下エラーで正常に利用ができない。 > kubectl logs -n kube-system heapster-d75f6848c-xbtf7 ... E0505 XX 1 manager.go:101] Error in scraping containers from kubelet:192.168.65.3:10255: failed to get all container stats from Kubelet URL "http://192.168.65.3:10255/stats/conta…

  • 【Kubernetes】Heapsterでkubectl top pods/nodeを利用する

    はじめに Kubernetesではポッドの状況を確認するためのHeapsterやmetrics-serverが導入されていない場合にkubectl topコマンドが利用できません。 本記事ではDocker Desktop環境にてHeapsterを導入し、kubectl top podsを利用できるようにするまでの流れについて記載します。 環境情報 Windows 10 Enterprise Docker Desktop 2.2.0 Heapster version v1.5.4 topコマンドが効かない状況では以下のようにエラーが返ってきました。 > kubectl top pods W050…

  • 【Kubernetes】カナリアリリースでデプロイを行う

    はじめに カナリアリリース/カナリーリリース(Canary Release)とはサービスを一部ユーザーのみが利用できるようにリリースし、問題がないことを確認しながら段階的に全体に向けて展開していくデプロイ手法を指します。本記事では2種類のnginxのバージョンをカナリーデプロイメントにて共存させる流れをハンズオン形式で実践します。 事前準備 以下デプロイメントとサービスのyamlファイルがあるとします。 $ cat nginx-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deploymen…

  • 【所感】宇宙兄弟37巻

    ★宇宙兄弟★ 本記事では、漫画「宇宙兄弟 37巻」の感想や印象をツラツラと書いています。 前巻 ネタバレを含んでいるので閲覧はご注意ください。オールカラー版1巻付き 宇宙兄弟(37)特装版posted with ヨメレバ小山 宙哉 講談社 2020年02月21日 楽天ブックスAmazonKindle 以下、前巻末尾に記載があったあらすじです。 ムッタとフィリップが待ちわびた帰還船・ソユーズが、ついに月上空まで到達した。 だが、繋がった希望を打ち砕くかのように、着陸船・ルナランダーに予想外のトラブルが発生する。 果たしてムッタは、「必ず帰る」というシャロンとの約束を果たすことができるのか。 そし…

  • 【Kubernetes】Recreateを指定するデプロイ方法

    やりたいこと Kubernetesにおいて以下のようなロールアウト機能を用いたデプロイではなく 全てのポッドを一気に変更したい。 環境情報 Windows 10 Enterprise Docker Desktop 2.2.0 やり方 deploymentのyamlファイルに以下の文言を追記する。 strategy: type: Recreate 以下、解説です。 解説 冒頭の参考記事にあるように指定をせずにkubectl apply -f deployment.yamlを行うとローリングアップデート(RollingUpdate)と呼ばれる順々に新しいポッドが増えていきます。一方で旧Podを全て…

  • 【Windows】ペイントで画像を正方形に調整する方法

    はじめに とある画像をWebサービスに登録しようとした際に Incorrect image aspect ratio. Select a square image and try again. としてエラーとなりました。 要は縦と横のサイズが異なっているので調整してください、とのこと。このように正方形にトリミングする手法は多々ありますが、今回はWindowsパソコンに標準で搭載されているペイントを利用して縦と横のサイズを正確に合わせる方法について説明します。 環境情報 Windows 10 Enterprise ペイント Version 1909 縦と横の比率を揃える手順 以下の3ステップです…

  • 【Java】文字列内の括弧で挟まれた箇所を削除する

    やりたいこと 以下の文字列を ABC(DEF)G(H)以下としたい。 ABCG 環境情報 $ java --version openjdk 11.0.6 2020-01-14 やり方 以下を実行すればinputtestという変数に指定した括弧で囲まれた文字列が省いた文字列が格納されています。 String inputtest = "ABC(DEF)G(H)"; int s = inputtest.indexOf("("); int e = inputtest.indexOf(")")+1; while(s>=0 && e >0) { String outputtest = inputtest.…

  • 【Youtube】"お使いのアカウントではこの設定は変更できません"と出てチャンネル名変更ができない時の対応法

    事象 ユーチューブのブランドアカウントに設定しているチャンネル名をYoutubeアプリに表示されるアイコンを押下して変更しようとするも お使いのアカウントではこの設定は変更できません と出て文字入力ができない。 執筆時期 2020年 対応方法 チャンネル名を変更したいアカウントでログインし以下リンクの「アカウント」設定から変更する。 本URLも記載しておきます。 https://www.youtube.com/account以下、補足です。 補足 Googleの名前は短時間で何度も変更するとロックがかかり一定期間変更ができなくなりますが、そうではない場合に名前を変更しようとするとタイトルのメッ…

  • 【GCP】VMインスタンスの一覧&詳細を確認するコマンド

    はじめに GoogleCloudPlatformの外部IPアドレスと内部IPアドレスの紐づけについて調べていた際に便利だったコマンドを紹介します。 ちなみに結論としてはネットワークインターフェースで1:1のNATをしている模様です。 環境情報 $ gcloud --version Google Cloud SDK 289.0.0 VMインスタンスの一覧を確認する 以下のコマンドで作成済のVMインスタンスの一覧が確認できます。 起動中のVMにはExternalIPということで外部IPアドレスが割り振られていて $ gcloud compute instances list NAME ZONE M…

  • 【Kubernetes入門】クラスターと名前空間の違い

    はじめに Kubernete(以降K8s)では「クラスター」「名前空間(ネームスペース)」が似たような意味で利用されるのでこんがらがります。本記事ではそれらの違いを適宜コマンドを押下しながら分かりやすく説明しました。 コマンド実行環境 Windows 10 Enterprise Docker Desktop 2.2.0 Clusterとは? K8sクラスターとはコンテナ群の一単位で、我々はアプリケーションの展開先に具体的なサーバを指定するのではなくクラスターを指定することでデプロイします。K8sではマスターノードがクラスターを管理するので、マスターノード(apiserver)がクラスターと同義…

  • 【ApplePencil紛失対策】Bluetoothデバイスを探すアプリ紹介

    はじめに アップル製品はiCloudにてデバイスを探す機能(iPhoneを探す)がありますが、アップルペンシルは非対応です。 よって紛失時に困ってしまいがちですが、タイトルの通りでApplePencilを無くした時に探せるアプリを発見したので紹介します。 動作確認バージョン iPad Pro (11インチ) : 13.4 Apple Pencil(第二世代) Wunderfind : 1.7.3 Wunderfindをインストールする App Storeにて「Wunderfind」と入力すると以下のようなキャッチコピーのアプリが見つかります。 Wunderfind : 紛失したデバイスを見つけ…

  • 【TwilioAPI】機械音声メッセージをcurlコマンドにて送る

    はじめに TwilioとはSMSやプッシュ通知、電話確認を自動的に行うAPIを提供しているサービスでトライアルアカウントであれば無料でテストすることが可能です。 本記事ではTwilioAPIをcurlコマンドで叩いて手持ちのスマートフォンに電話をかけて音声メッセージを送るまでの手順を記載しました。 環境情報 curl 7.52.1 (x86_64-pc-linux-gnu) Twilio api_version : 2010-04-01 アカウント登録&電話番号取得・登録 以下記事を参照ください。 curlコマンドで電話をかける 以下が公式ドキュメントに記載のあるサンプルコードです。 $ EX…

  • 【TwilioAPI】Twilio could not find a Channel with the specified From addressというエラー

    事象 以下記事のようにTwilioを利用しようとするも 以下メッセージにてエラーが返ってくる。 {"code": 63007, "message": "Twilio could not find a Channel with the specified From address", "more_info": "https://www.twilio.com/docs/errors/63007", "status": 400} 環境情報 Twilio "api_version": "2010-04-01" 原因 公式のオンラインドキュメントにて以下のように記載がある。 Error: Twilio …

  • 【TwilioAPI】SMSメッセージをcurlコマンドにて送る

    はじめに TwilioとはSMSやプッシュ通知、電話確認を自動的に行うAPIを提供しているサービスでトライアルアカウントであれば無料でテストすることが可能です。 本記事ではTwilioAPIをcurlコマンドで叩いて手持ちのスマートフォンにSMSメッセージを送るまでの手順を記載しました。 環境情報&時期 curl 7.52.1 (x86_64-pc-linux-gnu) 2020年執筆 アカウント登録 まずは冒頭に貼ったサイトにてアカウントを有効化させます。 メールアドレス認証が必要で、以下のような文面のメールが届きました。。 アカウントを有効化するには、メールアドレスを認証してください。メー…

  • 【入門】企業システムのサービスを一般公開する流れ

    はじめに データセンターの中にあるサーバをIPv4の体系にて一般向けに公開しようとすると 外部に公開するアドレス確保 DNS登録追加 サーバ証明書発行 が必要になります。本記事ではそれらについて簡単に説明します。 グローバルIPアドレス&ドメイン名を採番する ドメイン名を指定すれば該当サーバに繋がる必要があるのでドメイン名とそれに紐づくグローバルIPアドレスを用意する必要があります。こちらの紐づけが完了すれば以下記事のように nslookupコマンドを打てば名前解決または逆引きができます。そしてこのグローバルアドレスに対して通信があった場合にDMZ内に置いてあるWebサーバの前段の機器に通信を…

  • 【Kubernetes入門】kubectl config viewで参照しているファイル

    はじめに 以下記事でDockerDesktopをインストールした環境にて Kubernetesクラスタの設定を確認するkubectl config viewについて使い方を簡単に説明します。 環境情報 Windows 10 Enterprise Docker Desktop 2.2.0 Kubernetesのマスターノード 例えばDockerDesktopでは以下のようにクラスター情報の動作状況が確認でき > kubectl cluster-info Kubernetes master is running at https://kubernetes.docker.internal:6443 …

arrow_drop_down

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

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

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

商用