投稿

9月, 2025の投稿を表示しています

HPKI(保健医療福祉分野の公開鍵基盤)

診療情報管理士の勉強をしているときの覚書。 HPKI(保健医療福祉分野の公開鍵基盤)とは? Healthcare Public Key Infrastructure. マイナンバーカード(JPKIカード)の医療版。 通常のPKI(SSL/TLS証明書など)がドメイン名の所有者を証明するのに対し、HPKIは「その人が本当に医師免許を持っているか」「その組織が本当に病院として認可されているか」という資格情報を電子的に証明する点が最大の特徴。 国の主導で整備された。 HPKIの仕組み ルート認証局 (Root CA): 厚生労働省が運営。 下位認証局 (Sub-CA / LRA): 日本医師会、日本薬剤師会などの職能団体が運営。 HPKI証明書には国家資格情報などのHPKI固有の拡張領域がある。 秘密鍵は専用のHPKIカード(ICカード)内のチップに格納(PCに保存しない)。 電子署名する際はICカードリーダーにHPKIカードを挿入しPINコードを入力する。 署名計算はチップ内で行われ、結果だけがPCに返される。 (PCがマルウェアに感染しても秘密鍵が漏洩することはない) 仕組み的には専用のHPKIカードではなく、スマホでも対応可。 (現在検討されているらしい) マイナンバーカード(JPKIカード)とHPKIカード マイナンバーカード(公的個人認証サービス:Japasnese Public Key Infrastructure)の拡張領域に国家資格情報を格納することは技術的に可能。 なぜわざわざHPKIカードと分けた理由は下記(Gemini 2.5 Proの回答)。 管轄が違う。マイナンバーカードは総務省、HPKIカードは厚生労働省。 一緒にするとマイナンバー法を改正する必要がある。 電子処方箋や電子カルテは人命に係わるので紛失したときのリスク回避。 (エストニアでは医師が国民IDカードで電子処方箋にも署名できるらしい) マイナンバーカードは地方公共団体情報システム機構(J-LIS)がルート認証局になっているので、医師免許の即時停止の連携がしづらい。 マイナンバーカードのデジタル署名とHPKIカードのデジタル署名は技術的には同じ。 運転免許証がマイナンバーカードと統合できたように国家資格情報も統合しようと思えば技術的には出来る。 まずはスピード重視で分けておいて、将来的に...

保健医療情報学

診療情報管理士の勉強をしているときの覚書。 保健医療情報学とは? 保健医療+医療情報。 医療のあらゆる場面でデータを上手に活用する方法を考え、実践する学問分野。 保健医療情報学は病院内の電子カルテなどの情報システムや臨床研究のためのデータ分析の領域から発展してきた。 診療情報: 診療の過程で発生する個々の患者の情報。診療情報は医療情報の一部。 医療情報: 感染症情報、新薬情報、医療事故の報道など保険医療に関する情報全般。 保健医療情報学で最も重視されるのは、「医療の質」「医療安全」「業務効率」。 この文脈に落とし込むことが保健医療情報学では重要。 つまり「病院経営や広報マーケティングが大事」と言っても伝わらない。 それがどのように「医療の質」「医療安全」「業務効率」へ繋がるのかを説明する必要がある。 電子保存の三原則 真正性(しんせいせい): そのデータが本物であり、誰にも改ざんされていないことを保証すること。 見読性(けんどくせい): 必要な時に、誰でもはっきりと読める状態で見られることを保証すること。 保存性(ほぞんせい): 法律で定められた期間中(診療録は5年間)、データが消えたり壊れたりせず、安全に保管されていることを保証すること。 e-文書法 e-文書法は、「紙が中心だったビジネス社会」と「デジタル化が進む現実」との間のギャップを埋めるために生まれた法律。 2005年4月1日:施行 2015年/2016年改正: 金額の上限が撤廃され、スマートフォンのカメラでの撮影も認められる 2022年の大改正(電子帳簿保存法): 税務署への事前承認制度が廃止

医療安全・医療の質

診療情報管理士の勉強をしているときの覚書。 ハインリッヒの法則 ハインリッヒの法則とは、1件の重大な事故の背後には、29件の軽微な事故があり、さらにその背後には300件のヒヤリ・ハット(傷害のない事故)が存在する。 ハインリッヒの法則が医療安全で重視される理由は、「重大な事故は偶然起きるのではなく、数多くのヒヤリ・ハットや軽微な事故の積み重ねの先にある」という教訓を与えてくれるから。 用語 リスク: 損失を被る可能性 ぺリル: 損害を直接引き起こす事象そのもの。例)事故、転倒、手術ミス 保険業界で使われ医療現場でほぼ使われない(わざわざ転倒をぺリルと言い換えない)。 医療現場では「インシデント」と呼ぶ。 ハザード: リスクを生じさせる原因となるモノ・コト(危険因子)。 例)病室の床が濡れているのは転倒リスクに繋がるハザードである。 フェイルセーフ (Fail-safe) 機械はいつか必ず壊れる、という前提に立ち、故障や誤作動が発生しても、事故や大きな損害につながらないように、被害を最小限に食い止めることを目的とする。 Fail(故障) しても Safe(安全) 具体例 石油ストーブ:地震で倒れると、自動的に火が消える。 踏切の遮断機:停電などで故障すると、自重で遮断機が下りた状態になる。 信号機:電球が切れたり故障したりすると、赤信号が点滅する(または消灯せず点滅になる)。 フールプルーフ (Fool-proof) 利用者が誤った使い方(うっかりミス)をしても、危険な事態にならないように、あるいはそもそも間違った操作ができないように設計する考え方。 Fool(うっかり者) の操作を Proof(防ぐ) 具体例 電子レンジ:ドアを閉めないと作動ボタンを押しても動かない。 洗濯機:脱水中にフタを開けると、自動で回転が止まる。 自動車(AT車):ブレーキを踏まないとエンジンがかからない。パーキング(P)に入れないとキーが抜けない。 USBケーブルやコンセント:向きや形が違うと差し込めないようになっている。 病院機能評価 病院機能評価は国から独立した中立な第三者機関が審査し、高い医療を提供できているかチェックする仕組み。 日本医師会が主導。 参考:  日本医療機能評価機構 - Wikipedia 米国の医療施設認定合同機構を参考に1997年から審...

FreeBSD14 + PostfixにOpenARCをインストール

メール送信するときにレピュテーション(評価)が良くなるようにARC対応したときの覚書。 Gemini 2.5 Proと対話。 環境: FreeBSD 14.3-RELEASE-p2 ARC (Authenticated Received Chain)とは? ARCは、メール転送によって破壊されるSPFとDKIMの認証結果を、転送経路上で維持・伝達するための仕組み。 ARCは、 SPFとDKIMが正しく設定され機能していることが大前提 。 SPF (Sender Policy Framework) の問題: 転送サーバーを介するとSPF認証が失敗する。 DKIM (DomainKeys Identified Mail) の問題: メーリングリストなどでメールの内容をサーバーが改変すると署名検証は失敗する。 メール送信サーバーが最初のARCを付与する重要性 ARCの価値は、「認証の連鎖」にあるため、最初に認証されないと連鎖にならない。 経路で改変されても、最初の送信サーバーの署名が残っていることで、その改変の信頼が担保される。 受信サーバーはARCのチェーンを全て遡ってDNS問い合わせと暗号学的検証を行い、チェーン全体の完全性を確認する。 経路途中の転送サーバーが、何も改変せずただ転送するだけであれば、ARC著名をしなくてもARC認証の連鎖は崩れない。 (ARCは件名、本文、Fromヘッダなどを元に署名するため、次の受信サーバーでARC検証は成功する) OpenARCをインストール pkg経由でインストール。 # pkg install openarc バージョンの確認。 # openarc -V openarc: OpenARC Filter v1.0.0         Compiled with OpenSSL 3.0.16 11 Feb 2025         SMFI_VERSION 0x1000001         libmilter version 1.0.1         libopenarc 1.0.0: 何も表示されないのでrc.dを確認する。 # less ...

CentOS Steam 9 + PostfixのOpenARC設定

前にOpenARCインストールしたけど、情報が少なくDNS設定が出来てなかったのでGemini先生に聞きながら対応したときの覚書。 前の記事:  CentOS Steam 9にOpenARCをインストール 環境: CentOS Stream 9, Postfix 3.5.25 Gemini 2.5 Proと対話。 Postfixのバージョンを確認するコマンド。 -d オプションは、Postfixに組み込まれているデフォルト値を表示。 # postconf -d mail_version 空いているポートを確認するコマンド。 # ss -ltpn オプションの意味 -l: LISTEN状態 -t: TCP  -p: プロセス名も表示 -n:  数値表示 OpenARCのバージョンを確認。 # openarc -V openarc: OpenARC Filter v1.0.0         Compiled with OpenSSL 3.5.1 1 Jul 2025         SMFI_VERSION 0x1000001         libmilter version 1.0.1         libopenarc 1.0.0: 秘密鍵の生成 前はOpenDKIMの秘密鍵を流用していたので、OpenARCだけの秘密鍵を生成する。 OpenARC用の鍵を保管するディレクトリを作成。 # mkdir -p /etc/openarc/keys/hoge.jp # cd /etc/openarc/keys/hoge.jp 新しい鍵を生成。 セレクタ名は[サービス]-[ホスト名]-[年月]にする。例)arc-server02-202509 # opendkim-genkey -b 2048 -s arc-server02-202509 -d hoge.jp 権限変更。 # chown -R openarc:openarc /etc/openarc/keys DNSのTXTレコードを追加する。 # cat...

SPF, DKIM, DMARC以外のメールサーバーのレピュテーション(評価)

メールを送信するサーバーが迷惑メールのブラックリストに登録されないようにレピュテーション(評価)について調査しているときの覚書。 Gemini 2.5 Proと対話。 環境: FreeBSD 14.3-RELEASE-p2, Postfix 3.10.3 SPF, DKIM, DMARC以外のレプリケーション要素 SPF, DKIM, DMARCは設定済みなので、それ以外でメールを不特定多数に送るときに行っておくべき設定。 参考:  メール送信者のガイドライン - Google Workspace 管理者 ヘルプ 【重要】rDNS(逆引きDNS / PTRレコード)の設定 【重要】PostfixのTLS設定 Google Postmaster Toolsでレプリケーション監視 ARC (Authenticated Received Chain) 対応 送信時はSPFとDKIMを設定しておけばARCがなくても評価が下がることはないと思う。 メールを送ってスパム判定をしてくれる無料サービス。 参考:  Newsletters spam test by mail-tester.com 表示されたアドレスへメール送信して「Then check your score」をクリックする。 rDNS(逆引きDNS / PTRレコード)の設定 メール受信サーバーは、送信元のIPアドレスの逆引き→正引きをしてスパム判定に利用する。 参考:  正引きで確認された逆引きDNSエントリ - Wikipedia メールを送信してきたサーバーのIPアドレスを逆引き PTRレコードに設定されたホスト名を取得 そのホスト名から正引き 最初に接続してきた元のIPアドレスと一致するかどうかを確認 PTRレコードはIPアドレスの管理権限があるサーバーホスティング会社の管理画面で設定できる。 しかしながら、ホスティング会社によっては逆引きDNS(PTRレコード)設定が出来ない所がある。 Conoha VPSは可能。 参考:  IPアドレス|ConoHa VPSサポート さくらVPSは可能。 参考:  DNS逆引きレコードの設定 — さくらの VPS マニュアル WebARENA Indigoは不可。 参考:  IndigoのIPアドレスについて、DN...

FreeBSD14上のPostfixのTLS暗号化を設定してメール送信

サーバーから通信経路を暗号化した方が、評価(レピュテーション)が良くなるということで対応したときの覚書。 Gemini 2.5 Pro 環境: FreeBSD 14.3-RELEASE-p2, Postfix 3.10.3 Postfixのバージョンを確認するコマンド。 -d オプションは、Postfixに組み込まれているデフォルト値を表示。 # postconf -d mail_version mail_version = 3.10.3 Postfix設定の設定変更 メール送信するだけならば、SMTP通信で接続する先のTLS証明書を使うので、TLS証明書を取得する必要はない。 smtp_tls_CApathは信頼できる認証局(CA)が記載されているパス。 FreeBSD14ではTLS通信がデフォルトで無効になっている。 ちなみにCentOS Stream 9のPostfixはデフォルトで有効。 main.cfの変更 # less /usr/local/etc/postfix/main.cf smtp_tls_CApath = /etc/ssl/certs # # STARTTLS 設定 (送信: smtp) # # "may" は「相手サーバーがTLSに対応していれば使う」という日和見暗号化です。 smtp_tls_security_level = may # ログにTLSのネゴシエーション情報を記録するレベル。 smtp_tls_loglevel = 1 テストして再読み込み。 # postfix check # service postfix reload 別コンソールでmaillogを監視する。 # tail -f /var/log/maillog Gmailへ送信してみる。 # mail user@gmail.com maillogに次のようなログが出力されていればTLS通信している。 postfix/smtp[28470]: Trusted TLS connection established to gmail-smtp-in.l.google.com[2404:...::1a]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/25...

SpamhausのCSSブロックリストに登録されたので解除申請する

maillogに下記ログが出力されてメール送信に失敗したので対応したときの覚書。 Sep 11 07:01:20 hoge01 postfix/smtp[14386]: 070C98E372: to=<info@hoge.jp>, relay=hoge-jp.mail.protection.outlook.com[2a01::...::1]:25, delay=3679, delays=3678/0.01/0.33/0.88, dsn=5.7.1, status=bounced (host hoge-jp.mail.protection.outlook.com[2a01:...::1] said: 550 5.7.1 Service unavailable, Client host [2400:...:135] blocked using Spamhaus. To request removal from this list see https://www.spamhaus.org/query/ip/2400:...:135 AS(1440) [OS1PEPF0000D215.JPNP286.PROD.OUTLOOK.COM 2025-09-10T22:01:20.224Z 08DDF035F67B7600] (in reply to RCPT TO command)) 環境: FreeBSD 14.3-RELEASE-p2 上記メールログの意味 メールを送信しているサーバーの IPv6アドレス 2400:...:135 が、迷惑メールの送信元として有名なブラックリスト(RBL)である「Spamhaus」に登録された。 Spamhausからのブロック解除を申請するには「https://www.spamhaus.org/query/ip/2400:...:135」を参照。 Spamhausとは? Microsoft 365 のメールサーバー(Exchangeサーバー)が参照しているブラックリストサービス。 参考:  Strengthening trust and safety across the internet | Spamhaus 参考:  Spamhausの解除申請をするには? ブラックリスト掲載を防ぐベストプラクティス...

病院の経営管理、医療管理、保険制度

診療情報管理士の勉強をしているときの覚書。 病院会計準則 病院経営の透明性を確保し、健全な運営を支えるための「病院専用」の会計ルール。 本業の収益を「医業収益」と呼ぶ。     一般企業の「売上高」にあたるもので、入院診療収益や外来診療収益といった活動ごとに分けて報告。 補助金の使い道を明確にする。 国から受け取った補助金を特別に管理するルールがあり、 税金が正しく医療のために使われているか分かるよう になっている。 病院特有の財産を示す 高額な「医療用器械備品」や「医薬品」など、病院ならではの資産を管理するための科目が定められている。 BCP(Business Continuity Plan): 事業継続計画 患者の命を守り、最低限の医療機能を維持し、できるだけ早く通常の状態に戻すための具体的な行動計画。 2024年度(令和6年度)の診療報酬改定によって段階的に義務化。 一部の施設基準の中に「災害への備えとしてBCPを策定し、研修・訓練を定期的に実施していること」といった趣旨の要件が盛り込まれた。 BCM(Business Continuity Management): 事業継続マネジメント BCP + その計画を機能させるための継続的な取り組み。 BCMは、よく「PDCAサイクル」で説明される。 計画だけでなく継続的な経営活動の一環としてBCPとセットで説明される。 地域連携パス 地域連携パスとは、一人の患者さんの治療を、地域の複数の医療機関(病院、診療所、リハビリ施設など)が協力して、切れ目なくスムーズに行うための「共通の治療計画書・スケジュール表」のこと。 地域連携パスは、「いつ、どこで、どのような治療やケアを受けるか」という一連の流れを時系列で示した計画書。 地域連携パスは、退院支援計画を標準化・具体化したツール。 キューバの医療 キューバは「国民全員に平等な医療を無料で提供する」ことを最優先する社会主義国家のモデル。 医療は国民の権利であり、国が無料で提供するべきという考え方。 医師は国に雇われており、給料も国から支払われる(国家公務員)。 給料は他の職業と比べてあまり高くない。 キューバ医療の財源はすべて国の予算。 キューバは世界中に医師を派遣しており、その派遣先国から得られる報酬も重要な外貨収入源となり、国内の医療制度を支...

有効期限が切れたドメインの管理権限

ドメインの管理について調べたときの覚書。 1. ドメイン期限が過ぎた場合にいつまでドメイン管理者となっているか? 期限切れになったドメインには復活期限と凍結期間がある。 復活期限はドメインの種類によって異なる。 属性型JPドメイン(.or.jp)の場合、有効期限翌月19日以降復活が不可となる。 JPRSレジストラにおけるドメインの管理権限はこの復活期限が過ぎたら管理権限が失われる。 お名前.comやvalue domainなどのドメインレジストラで、復活(復旧)すると別料金になる場合が多い。 2.他社がドメイン取得ができるのはいつからか? 凍結期間が過ぎたら、他社が取得可能。 凍結期間はドメインの種類によって異なる。 .comは2ヶ月、co.jpは6ヶ月。 参考:  有効期限が切れた(失効した)ドメインは復活できますか - よくあるご質問 - さくらのサポート情報 何かの事情でドメイン移管できない場合は、凍結期間が過ぎるまで待つ必要がある。 (現在のドメイン管理者と連絡が取れない場合は、ドメインレジストラのサポートに連絡すれば、強制的にドメイン移管することは可能) ▼ 関連記事 お名前.comからor.jp(属性型ドメイン)のドメイン移管

CentOS Stream 9でNginxをソースからビルドしてdnf版からダウンタイムなしで切り替える

本番環境でNginxをソースからビルドしたときの覚書。 Gemini 2.5 Proと対話。 環境: CentOS Stream 9 1. 事前準備 dnf版Nginxのビルドオプションを確認。 改行して見やすくする。 # nginx -V 2>&1 | sed 's/ --/\n--/g' nginx version: nginx/1.20.1 built by gcc 11.5.0 20240719 (Red Hat 11.5.0-7) (GCC) built with OpenSSL 3.5.0 8 Apr 2025 (running with OpenSSL 3.5.1 1 Jul 2025) TLS SNI support enabled configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-http_addition_module --with-htt...

CentOS Stream 10でNginxをソースからビルド

FreeBSDに合わせてLinuxもGeoIPモジュールとVTSモジュールを使いたいとNginxをソールからビルドしたときの覚書。 Gemini 2.5 Proと対話。 環境: CentOS Stream 10(開発環境) 1. GeoIPを無料で使えるウェブサーバー NginxからフォークしたAngieはGeoIP2をdnf経由でインストールできるらしい。 参考:  Welcome! — Angie Software LiteSpeedもGeoIPを使えるらしい。 参考:  LiteSpeed Web Server - Apache Alternative - LiteSpeed Technologies lighttpd(ライティ)はdnfで検索すると「lighttpd-mod_maxminddb」がEPELリポジトリにあるので使えそう。 NginxはGeoIP2をdnf経由でインストールするには有料版のNginx Plusを購入する必要がある。 ソースからビルドすればGeoIP2を無料で使える。 2. Nginxのソースをダウンロードしてビルド dnfでインストールしたNginxのビルドオプションを確認。 改行して見やすくする。 # nginx -V 2>&1 | sed 's/ --/\n--/g' nginx version: nginx/1.26.3 built with OpenSSL 3.2.2 4 Jun 2024 (running with OpenSSL 3.5.1 1 Jul 2025) TLS SNI support enabled configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_...

PhpStormで再フォーマット時に配列の日本語キーと値の並びがズレる

PHPStormでCtrl + Alt + L押して再フォーマットしたときに配列のキーと値の並びがズレるので対応したときの覚書。 環境: Windows 11 Pro 24H2, PhpStorm 2025.2.1, UDEVGothic v2.1.0 ズレる原因 半角文字と全角文字の幅の比率が 1:2 になっていないフォントを使っているため。 「JetBrains Mono」は日本語に対応していない。 参考:  JetBrains Mono: A free and open source typeface for developers | JetBrains: Developer Tools for Professionals and Teams 対応方法: UDEV Gothicをインストール UDEV Gothic は、JetBrains Monoの日本語対応版。 参考:  Jetbrains IDEで等幅フォントを使っても文字がずれる時 参考:  yuru7/udev-gothic: UDEV Gothic は、ユニバーサルデザインフォントのBIZ UDゴシックと、 開発者向けフォントの JetBrains Mono を合成した、プログラミング向けフォントです。 インストールするフォント UDEVGothic-Regular.ttf UDEVGothic-Italic UDEVGothic-Bold UDEVGothic-BoldItalic ダウンロードしたフォントを右クリックして 「すべてのユーザーに対してインストール」 を選択しないとPhpStormのフォント選択に出てこない。 Ctrl + Alt + Lで配列のキーと値のペアを揃える設定 ファイル (File)  設定 (Settings) エディター (Editor) コードスタイル (Code Style) PHP 折り返しと波括弧 配列イニシャライザー キーと値のペアをそろえる ▼ 関連記事 Windows11をクリーンインストール(2022年12月) xyzzyからPhpStormに乗り換え。設定メモ

FreeBSD14 + Nginx + PHP8.3 + WordPress 6.8.2で起きた原因不明のPHPエラー

突然PHPエラーでサイトが表示されなくなって調査しているときの覚書。 Gemini 2.5 Proと対話 環境: FreeBSD 14.3-RELEASE-p2, nginx 1.28.0, PHP 8.3.23, WordPress 6.8.2 エラー内容 2025/09/03 07:20:27 [error] 18603#100288: *143368 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 4295229440 bytes) in /home/httpd/hoge/wordpress/wp-includes/theme.php on line 325" while reading response header from upstream, client: 1.2.3.4, server: kaisei-hp.co.jp, request: "GET / HTTP/2.0", upstream: "fastcgi://unix:/var/run/php-fpm.sock:", host: "hoge.jp" エラーの意味 PHPがスクリプトを実行するために許可されたメモリ上限(memory_limit)を使い果たしてしまった。 許可されたメモリ (Allowed memory size): 268,435,456バイト = 256MB 確保しようとしたメモリ (tried to allocate): 4,295,229,440バイト = 約4.29GB wp-includes/theme.phpの325行目。 return apply_filters( 'template', get_option( 'template' ) ); 取り急ぎphp-fpmを再起動。 # service php_fpm restart これでサイトは表示されるようになった。 1. エラー周辺のシステムリソース情報 このサーバーはCollectdをインストールしてある...

FreeBSD14 + collectd + RRDtoolをportsからビルドしてインストール

OpenTelemetryの環境を構築するのはまだ時期尚早と判断してcollectdをインストールしたときの覚書。 参考:  OpenTelemetry(OTel)とはアプリケーションの動作を観測・計測するための標準規格 Gemini 2.5 Proと対話。 環境: FreeBSD 14.3-RELEASE-p2 1. collectdとRRDtoolとは? collectdは、システムやアプリケーションのパフォーマンス状況を定期的かつ継続的に収集するための、オープンソースのサービス。 参考:  FreeBSDのsystatとcollectdでリソース情報を取得 RRDtoolは、Round Robin Database toolの略称。 RRD (Round Robin Database) は、サイズが変動しないデータベース。 容量を気にせず保存できるため、監視ツールのバックエンドとして長年利用されてきた実績がある。 参考:  RRDツール - Wikipedia RRDファイルは 作成された瞬間にファイルサイズが固定 される。 collectdは、RRDファイルがすでに存在する場合、その構造を変更しない。 つまりRRDの保存容量を変更する場合は、既存を削除する必要があるらしい。 2. collectdをビルド(RRDtoolオプション付き) 公式リポジトリにあるcollectd5のビルドオプションを確認。 # pkg search -f collectd5 pkgでインストールされるのはRRDtoolオプションが付いてない。 rrdtoolsは公式リポジトリからインストールしておく。 # pkg search rrdtool portsに移動して最新に更新。 # cd /usr/ports/ # git pull collectdがどこにあるか見つける。 # find ./ -type d -name "collectd*" ./net-mgmt/collectd5 移動してビルド。 # cd net-mgmt/collectd5/ # make config # make Gemini先生によるビルドオプションの説明一覧。 一般オプション CGI: Webグラフ表示(CGI)機能。r...

CentOS Stream 9 + Nginx + VTSモジュールをインストール

CentOS Stream 9上のNginxにVTSモジュールをインストールしたときの覚書。 環境: CentOS Stream 9, Nginx 1.20.1 1. VTSモジュールをインストール 今のNginxのビルドオプションを確認(改行して見やすく)。 # nginx -V 2>&1 | sed 's/ --/\n--/g' nginx version: nginx/1.20.1 built by gcc 11.5.0 20240719 (Red Hat 11.5.0-5) (GCC) built with OpenSSL 3.5.0 8 Apr 2025 (running with OpenSSL 3.5.1 1 Jul 2025) TLS SNI support enabled configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules ... CentOS Streamではdnf経由でvtsモジュールをインストール。 # dnf search vts # dnf install nginx-mod-vts modules-pathに配置されたか確認。 # ls /usr/lib64/nginx/modules ngx_http_vhost_traffic_status_module.so 2.Nginxの設定 ダイナミックモジュールは自動で読み込むように設定してあった。 # less /etc/nginx/nginx.conf # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; # less /usr/share/nginx/modules/mod-vhost-traffic-status.conf load_module "/usr/lib64/nginx/modules/ngx_http_vhost_traffic_status_module.so"; VTSの共...