tag:blogger.com,1999:blog-63415123222383287772024-03-19T17:47:28.951+09:00SE奮闘記とあるシステムエンジニアのメモ帳菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comBlogger1744125tag:blogger.com,1999:blog-6341512322238328777.post-77712670539712554082024-03-10T15:28:00.001+09:002024-03-10T15:36:49.608+09:00KUSANAGIでHTTP/3 QUICを試すKUSANAGIはHTTP/3に対応したNginxとQuicに対応させたOpenSSLをバンドルしているということで試してみたときの覚書。参考: KUSANAGI 9 が対応した HTTP/3 とは - KUSANAGI Tech Column環境: ConoHa VPS メモリ8G/CPU6コア、KUSANAGI Version 9.4.12-1.el9Nginxを1.25に切り替え公式ページを参考にしながらkusanagiコマンドを実行する。参考: KUSANAGI 9 バージョンアップ情報 9.3.0-1 - 超高速CMS実行環境 KUSANAGI# kusanagi nginx --use nginx125# kusanagi nginx --update-conf確認# nginx -V# cd /etc/菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-55662275029754072542024-03-09T15:37:00.008+09:002024-03-10T08:55:36.194+09:00KUSANAGIのチューニング設定を調査KUSANAGIを試したときにチューニング設定がとても勉強になるなぁと思って調査したときの覚書。環境: ConoHa VPS メモリ8G/CPU6コア、KUSANAGI Version 9.4.12-1.el9設定項目を1つずつ調査して意味を理解していく。PHPのチューニング設定PHPの設定確認。# cd /etc/opt/kusanagi/# less php.d/php.inipost_max_size = 16M ;POSTメソッドの最大サイズupload_max_filesize = 16M ;アップロードされるファイルの最大サイズdate.timezone = UTC ;タイムゾーン。"Asia/Tokyo"に変更php-fpmの設定を確認。参考: PHP: 設定 - Manual# less php-fpm.d/www.confuser = 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-28973472526205694682024-03-04T07:37:00.000+09:002024-03-04T07:37:07.728+09:00ConoHa VPSのKUSANAGIを試すKUSANAGIを試したときの覚書環境: CentOS Stream 9, KUSANAGI manager 0.5.2, KUSANAGI 9.4.12KUSANAGIとはKUSANAGIはWordPress実行環境。サーバーのスペックに合わせて、PHP, Nginx, MariaDBなどをいい感じに設定してくれて、WordPressの表示を高速化できる。KUSANAGIとは - 超高速CMS実行環境 KUSANAGILinuxのミドルウェアとの疎結合を保ちつつ、Nginx, OpenSSLなど必要な部分だけKUSANAGIのパッケージで提供している。サーバーに詳しい人でも、KUSANAGIのチューニング方法は非常に勉強になる。KUSANAGI環境の確認kusanagiコマンドで設定状況を確認。参考: status - 超高速CMS実行環境 KUSANAGI# 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-64920128386304171032024-03-03T13:45:00.006+09:002024-03-03T13:58:36.802+09:00PHPを8.0から8.2にdnfでアップグレードPHP8.0の公式サポートが終了したのでPHP8.2にアップグレードしたときの覚書。環境: CentOS Stream 8WordPressがサポートしているphpバージョンも確認しておく。参考: PHP Compatibility and WordPress Versions – Make WordPress Core1.PHP8.2をdnfモジュール一覧からアップグレードdnf moduleの中にphp8.2が追加されていた。前の記事を参考に。参考: CentOS Stream 8のPHPを7.4から8.0にアップグレード現在のモジュールを確認# dnf module list phpCentOS Stream 8 - AppStreamName &菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-4377606524357558822024-02-22T15:33:00.001+09:002024-03-10T15:18:56.942+09:00ConoHa VPSを構築して初期設定ConoHa VPSを初めて利用してみたときの覚書。OS: CentOS Stream 9アプリケーション: KUSANAGI manager 0.5.2キーボードレイアウトを変更VPS起動直後は日本語キーボードになっていたので英語配列に変更する。(rootでログイン出来なくて少しハマった)まずは一時的に英語配列に変更# loadkeys us設定ファイルを変更。# /etc/vconsole.confKEYMAP="us"日付確認。locale確認。# date# timedatectl statusIPアドレスを確認。# ip aあとはSSHでリモートログインして設定した方がやりやすい。セキュリティグループを設定セキュリティグループが初期設定の「default」だと外部と通信できない。コントロールパネルのVPSを選択して、セキュリティグループの項目で空けるポートを含んだ菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-59872412073076853592024-02-06T11:26:00.001+09:002024-02-06T11:26:23.667+09:00Gmailにだけメールが届かない「Gmailにだけメールが届かない」と言われて調査したときの覚書。環境さくらのメールボックスSPF設定済みDKIMは未設定原因件名「test」だけのメールを送っていたため。Gmailの迷惑メールフィルタに引っかかると表示されるまで時間が掛かる場合がある。件名を「送信テスト」で本文も「送信テストで送ります。by 〇〇」みたいに日本語の文章で送ると受信トレイに届く。その他Gmailでエラーになった場合、そのエラーコードが書かれた返信メールがこちらのメールサーバーの迷惑メールフィルタやウィルスチェックに引っかかる場合があるので、その設定を変更しておかないと原因の特定が遅れる。【関連記事】さくらのメールボックスのIMAP上限同時接続数は50前後?Gmail上でMicrosoft 365 Exchange(Outlook)のメール送受信設定菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-16620055768829780592024-01-31T15:34:00.001+09:002024-01-31T15:34:09.716+09:00さくらのメールボックスのIMAP上限同時接続数は50前後?さくらのメールボックスを使っているところから「メールが利用できない」と連絡があって調査したときの覚書。メールクライアントが下記エラー。IMAPサーバーへの接続ができませんでした。このサーバーへの同時接続数の限度を超えている可能性があります。サポートセンターに問い合わせてみると下記回答があった。さくらのメールボックスではIMAPの同時接続は設けているが具体的な数値は非公開。同時接続数はサーバー単位での設定アカウント数から推測すると多分50ぐらいが同時接続数の上限。先方にはPOP3で接続するようにと案内した。(Mozilla ThunderbirdがデフォルトでIMAPを利用するのでみんなIMAPになった)POP3で接続しても1週間分(設定で変更可能)のメールはサーバーに残ったままになるので、スマホでも参照できる。もしくはGmailに転送すれば過去メールも検索できて便利かもしれない。【関連菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-52120026229233687832024-01-24T14:45:00.003+09:002024-01-24T14:45:43.736+09:00RESASのAPIを調査医療圏分析をしようとデータを集めているときの覚書。RESAS-API - 地域経済分析システム(RESAS)のAPI提供情報データ出典一覧 - RESAS 地域経済分析システム概要RESAS(読み:リーサス)。国が公開している統計データを統一仕様のAPIで提供。内閣府 地方創生推進室が主導。利用登録が必要。商用利用可能。国の方針から推察すると、数年で利用停止にはならない気がする。データの更新日を見ると結構頑張っていると思う。参考: RESAS-API - APIデータ更新一覧利用規約要約「出典:RESAS(地域経済分析システム)」の表記。Creative Commons License 4.0に従うことでも利用できる。参考: クリエイティブ・コモンズ・ライセンス - Wikipedia今後AIをファインチューニング(新しいデータによる再学習)したりするのに使えそう。【菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-91997739706585273102024-01-22T16:57:00.006+09:002024-01-22T17:05:43.990+09:00Elasticsearchのインデックス一覧を取得Elasticsearchに保存している生データを確認したくて調査しているときの覚書。環境: CentOS Stream 9, Elasticsearch 8.11.3, Kibana 8.11.31. Kibanaのインデックス管理画面Kibanaがインストール済みならばインデックス一覧画面を開いた方が分かりやすい。左メニューを開いて、Management | Stack Management -> Data | Index Management一覧からインデックスを選択して、右上のDiscoverをクリックするとデータ一覧まで表示できるので便利。2. API経由で取得コマンドライン用のcat indices APIを使う。参考: cat indices API | Elasticsearch Guide [8.12] | ElasticKibanaのDev Tools菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-76485189669311584802024-01-17T10:01:00.003+09:002024-01-17T10:01:52.966+09:00Microsoft Clarityで無料ヒートマップ表示Microsoft Clarityを試しているときの覚書。Microsoft Clarityとは?2020年10月開始したMicrosoft提供の無料ヒートマップツール。Microsoft Clarity - Free Heatmaps & Session Recordings主な特徴制限なしで無料ヒートマップでウェブサイト上のユーザーの行動を視覚化マウスの動きとスクロールを記録するレコーディング機能Googleタグマネージャー/Googleアナリティクスと簡単に連携可能(許可するだけ)。特定のIPアドレスを計測から除外可能使ってみた感想リンクだと思われてテキストをクリックされているようなデザインミスが分かった。ブラウザで見たまんまをPDFで保存する機能がほしい。アクセス解析して仮説を立てる参考になる。今後に期待。【関連記事】GA4のga_session_idを菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-80752737607472482042024-01-04T06:59:00.002+09:002024-01-04T06:59:17.313+09:00SSHクライアントとしてのCloud ShellGCPのCloud Shellを試したときに「これ緊急用でスマホやiPadからサーバーを保守するターミナルに使えるんじゃない?」と思ったときの覚書。1.Cloud Shellとは?ブラウザベースのターミナルツール。公式サイト: Cloud Shell | Google CloudGCPを利用していれば無料スマホやiPadでは「Google Cloud」アプリから起動可5GBまでのストレージ容量週50時間の使用制限120日間アクセスしていないと$HOMEが初期化される(初期化する前にメール通知される)参考: 割り当てと上限 | Cloud Shell | Google CloudAzureやAWSにもCloud Shellがある。2.Cloud ShellからLinuxへのSSH接続外部のLinux菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-18928335023964787822024-01-03T07:20:00.000+09:002024-01-03T07:20:55.999+09:00Windows11にcURLをインストールしてPowerShellから使うAjax通信をデバッグ(主に例外処理)するのにcURLを使いたくなりインストールしたときの覚書。環境: Windows 11 Pro 23H2, PowerShell 7.4.0, cURL 8.5.0PowerShellのバージョン確認。PS> $PSVersionTableName Value---- -----PSVersion &菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-39233670184534491472023-12-31T08:25:00.000+09:002023-12-31T08:25:09.309+09:00CentOS Stream 9にPostgreSQL 16をdnf経由でインストールPostgreSQL Serverを開発サーバーにインストールしたときの覚書。環境: CentOS Stream 9, PostgreSQL 16.01. PostgreSQL Serverをインストール公式サイトを参考に。参考: PostgreSQL: Linux downloads (Red Hat family)リポジトリを検索。# dnf search postgresql# dnf info postgresql-serverv13.11だった。モジュールリストにあるか確認。# dnf module list postgresqlCentOS Stream 9 - AppStreamName &菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-65825019675570494672023-12-30T08:01:00.001+09:002023-12-30T08:01:12.619+09:00pgAdmin4を6.19から8.1にアップグレードpgAdmin4を最新にアップグレードしたときの覚書。環境: CentOS Stream 8, Python 3.9.17Pythonのvenvでインストール+サービス化したときの記事はこちら。pgAdmin4をCentOS8にvenvでインストールpgAdmin4をサービス化して自動起動設定一応サービスは止めておく。# systemctl stop pgadmin4pipをアップグレードする。# python -m pip install --upgrade pip仮想環境のPythonをアップグレードする。# python -m venv /opt/software/python-venv/pgadmin4/ --upgradepgAdmin4のvenvに入る。# source /opt/software/python-venv/pgadmin4/bin菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-47416981254987789422023-12-29T09:59:00.000+09:002023-12-29T09:59:04.662+09:00Nginx [warn] protocol options redefined for 0.0.0.0:443NginxのWarningが出たので調査したときの覚書。環境: CentOS Stream 8, nginx 1.24.0下記エラーが表示された。# nginx -tnginx: [warn] protocol options redefined for 0.0.0.0:443 in /etc/nginx/conf.d/01_hoge.conf:72nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successfullistenにhttp2の記述がないとダメらしい。参考: nginx: [warn] protocol options redefined - Server Faultconf菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-6278018227552291142023-12-28T07:38:00.005+09:002024-01-07T11:23:36.306+09:00GA4のga_session_idをJavaScriptで取得GA4のga_session_idをキーに登録データとGA4のデータを紐づけたいと調査しているときの覚書。Googleタグマネージャー経由でGA4を設定している。Nginxのcache設定を使っているのでサーバー(PHP)側のセッションに頼る仕組みにはしたくない。公式サイトを見るとJavaScriptでできそう。Google タグ API リファレンス | Google タグ(gtag.js) | Google for Developersデータレイヤー | タグ マネージャー | Google for Developers実装例dataLayer変数とgtag関数をグローバルの環境に定義して、Googleタグマネージャーを設定する。<script> 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-62881817540117306982023-12-26T08:34:00.002+09:002023-12-26T08:34:19.166+09:00Fleet ServerとElastic Agentのインストール(2回目)前にElastic Agentをインストールして失敗したので、Elasticsearchを再インストールしてもう一度試したときの覚書。環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.31.Fleet Serverをインストール公式サイトを参考に。Install standalone Elastic Agents (advanced users) | Fleet and Elastic Agent Guide [8.11] | ElasticElastic AgentはAPI Keyを利用するようなのでElasticsearchの設定で「xpack.security.authc.api_key.enabled」を有効にしておく。参考: Create a standalone Elastic Agent policy | 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-52308918477447751202023-12-25T12:42:00.000+09:002023-12-25T12:42:59.880+09:00Subversionの不要な履歴を削除して容量を削減年末にやっているバックアップ作業。Subversionの全体容量が大きくなってきたので、不要な履歴 (リビジョン)を削除してバックアップ容量を削減しようとしているときの覚書。環境: CentOS Stream 8, Subversion 1.14.1どのリポジトリが容量を食っているか調べる。# cd /home/svn/repo/# du -hx --max-depth=1容量の大きいリポジトリに移動して、容量が大きい順に並び替えて先頭10件だけ表示。# cd project# du -hxa --max-depth=4 ./db/revs/ | sort -hr | head -n 10TortoiseSVNでどのリビジョンのコミットか調べる。除外するパスを指定してdumpファイル生成。(TortoiseSVNのPath部分をCtrl-Cでコピーできる)#菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-58865843769953524912023-12-24T09:47:00.000+09:002023-12-24T09:47:25.033+09:00Elasticsearch + Kibana 8.11を再インストールElasticsearchを再インストールしたときの覚書。環境: CentOS Stream 9, Elasticsearch 8.11.3, Kibana 8.11.31.Elasticsearchをインストールdnf用RPMレポジトリを公式サイトを参考に追加する。参考: Install Elasticsearch with RPM | Elasticsearch Guide [8.11] | Elasticenabled=1にしておく。# less /etc/yum.repos.d/elastic.repo別コンソールでログを確認しながら作業する。# journalctl -fdnfでインストール。# dnf install elasticsearchsuperuser"elastic"のパスワードがコンソールに表示されるので、shellの環境菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-47807985137110121892023-12-23T08:09:00.000+09:002023-12-23T08:09:44.957+09:00ElasticsearchとKibanaをアンインストールElastic Agentをインストールしようとしてハマったので、一旦ElasticsearchとKibanaをアンインストールしたときの覚書。環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3Elasticsearchを利用しているparsedmarcサービスを止める。# systemctl stop parsedmarcサービス確認# systemctl list-unit-files -t service1.Kibanaをアンインストールdnf経由でアンインストール。# dnf remove kibana公式サイトを参考に残っているファイルを削除する。参考: Install Kibana with RPM | Kibana Guide [8.11] | Elastic# 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-69604619667316821102023-12-22T08:53:00.003+09:002023-12-22T08:53:48.076+09:00ElasticsearchのデータをバックアップするSnapshot機能Elasticsearchをアンインストールする前にデータをエクスポートする方法を調査しているときの覚書。環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.31.ElasticsearchのSnapshot機能を理解する。ElasticsearchのデータをバックアップするにはSnapshotの機能を使う。またコマンドラインで実行できるelasticdumpというツールがある。GitHub - elasticsearch-dump/elasticsearch-dump: Import and export tools for elasticsearch & opensearch今回はSnapshotの機能を使ってみる。大人しく公式サイトのドキュメントを読む。Snapshot and restore | 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-45862357403119159512023-12-21T08:53:00.003+09:002023-12-25T11:16:35.691+09:00Fleet ServerとElastic AgentのインストールElasticsearchをいろいろ試しているときの覚書。Elastic Agent周りが分からなくなったので、もう一度インストールからやってみた。環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.31.Fleet Serverをインストール(RPMで失敗編)手順メモKibanaメニューからManagement | Fleetを表示。"Add Fleet Server"今度はRPMでインストールしてみた。画面に表示されているコマンドを実行。# curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.11.3-x86_64.rpm# rpm -vi elastic-agent-8.11.3-x86_64.菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-62963346535039434412023-12-20T08:21:00.004+09:002023-12-20T08:21:53.171+09:00Elasticsearch + Kibanaでシステムログ表示前回はDMARCレポートを表示できるようにしたのに引き続き、今度はシステムログをElasticsearch + Kibanaでいい感じに表示しようとしているときの覚書。環境: CentOS Steam 9, Elasticsearch 8.11.3, Kibana 8.11.3Elasticsearchのバージョン確認。# /usr/share/elasticsearch/bin/elasticsearch --versionVersion: 8.11.3, Build: rpm/64cf052f3b56b1fd4449f5454cb88aca7e739d9a/2023-12-08T11:33:53.634979452Z, JVM: 21.0.1Kibanaのバージョンはログインして右上のタイヤっぽいアイコンをクリック。 1."System" 菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-70976128581840081772023-12-19T14:26:00.000+09:002023-12-19T14:26:30.479+09:00ElasticsearchのSSLを無効化。Elasticsearchをいろいろ試しているときの覚書。環境: CentOS Stream 9, nginx 1.22.1, Elasticsearch 8.11.3, Kibana 8.11.3他のサーバーにElastic AgentをインストールしてElasticsearchと通信するにあたって、Nginxからリバースプロキシすれば内部での通信はTLSでなくてもいいんじゃない?と思って設定してみた。各サーバーにElasticsearchをインストールしてクラスタ構成にするのは、Elasticsearchが結構なメモリを使うのでやりたくない。まずはKibanaを停止。# systemctl stop kibana別コンソールでログを確認しながら作業する。# journalctl -fElasticsearchの設定変更。# less /etc/菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.comtag:blogger.com,1999:blog-6341512322238328777.post-81080700117938503382023-12-14T10:59:00.000+09:002023-12-14T10:59:46.506+09:00parsedmarc + Elasticsearch + KibanaでDMARCレポートを視覚化前に時間切れで進めてなかったDMARCレポートを再開しているときの覚書。環境: CentOS Stream 9, Python 3.9.18, parsedmarc 8.6.4, Elasticsearch 8.11.2, Kibana 8.11.21. Elasticsearch + Kibanaをインストールparsedmarcより先にElasticsearch + Kibanaの環境を構築した方が分かりやすい。Elasticsearchが初耳なら概要を知っておく。前の記事を参考に。Elasticsearch + KibanaをインストールしてNginxからリバースプロキシ全文検索エンジン「Elasticsearch」とは?特徴と使いどころ2.parsedmarcをサービス化+Elasticsearchとの連携設定ここからが前回の続き。インストールと動作確認のおおよその流れ菅沼 大樹http://www.blogger.com/profile/15144649476759443583noreply@blogger.com