hkane8の技術ブログ

主にIT技術系で調査したこと等を備忘として記載します

【技術やってみた】Zabbix 4.0 DB(MySQL)を、新規構築したZabbix6.0から利用できるか

概要

Zabbix 4.0で利用していたDB(MySQL8.0)を、別に構築したZabbix6.0サーバから参照した時に、利用できるのかを検証してみた。

結果

検証した結果では、別構築したZabbix6.0サーバのホスト名とIPアドレスを、Zabbix4.0で動作していたサーバと同じホスト名、IPアドレスにすればZabbix6.0の管理画面は起動できた。ただし、Zabbix4.0の管理画面は利用できなくなった。

環境

Mac OS Monterey 12.4

・UTM v4.4.4

・UTM上の以下仮想マシン3台で検証。

 

実行内容

  1. 「orecentos7」にアクセスして、Zabbix 4.0 の管理画面を表示
  2. Zabbix4.0で利用していたDB「oredb」を「orecentos8a」でも利用する設定にして、「orecentos8a」でZabbix6.0を起動してみた。
  3. Zabbixサーバのログファイルを確認。DBに格納された情報がZabbixバージョン4なので、アップグレードが自動で開始した。

  4. update処理が進む

  5. DB処理の権限が不足しているエラーメッセージが出力されてた

  6. DB処理の権限を付与するために、oredbのMySQLに接続して以下を実行。
    SET GLOBAL log_bin_trust_function_creators = 1;
  7.  ZabbixのDB更新が実行開始された。

  8. 更新は進む

  9.  エラーメッセージ。Zabbixサーバは、orecentos7、192.168.64.2で登録されているためと思われる。

  10. この時点で、Zabbix4.0の管理画面も見れない状態になった。DB情報がZabbix6.0になっているエラーメッセージが表示された。

  11. 「orecentos7」は停止して、「orecentos8a」のホスト名を「orecentos7」、IPアドレスを「192.168.64.2」に変更して、OS再起動。Zabbixは自動起動されて、無事エラーなしで起動できた。

  12. Zabbix6.0の管理画面も表示できた。

  13. 「oredb」のMySQLに接続し、権限付与したDB定義を忘れずに元に戻した。
    SET GLOBAL log_bin_trust_function_creators = 0;

 

以上です。

【技術やってみた】Mac M1でUTMを使ってCentOS7を構築してみた

概要

一個前の記事で、UTMをインストールしてみたので、UTMを使ってCentOS7を構築できるかをやってみた時のメモ。

 

環境

Mac OS Monterey 12.4

・UTM v4.4.4

 

実行内容

所要時間は、およそ30分前後 。
 ※CentOSインストールの待ち時間がいちばん長い

 

  1. UTMの画面で、「新規仮想マシンを作成」をクリックする。

  2. 開始画面で「エミュレート」を選択する。

  3. オペレーティングシステム」で「Linux」をクリックする。

  4. Linux」画面で「起動ISOイメージ」の「選択」ボタンを押して、別で用意した CentOS7のISOファイルを選択して、「続ける」をクリック。

  5. アーキテクチャはダウンロードしたISOファイルに合わせて選択する。その他パラメタも適当に指定して、「続ける」をクリック。

  6. ストレージのサイズを入力して、「続ける」をクリック。

  7. 共有ディレクトリの画面。「続ける」をクリック。

  8. 指定した概要が表示されるので、問題なければ、「保存」をクリック。

  9. 仮想マシンができた。▷を押して起動してみる。

  10. インストールを行う。

  11. ディスプレイの出力がアクティブじゃないメッセージが表示されたけど、待ってみる。

  12. しばらく待つと、インストール処理が進んでいった。

  13. さらに進む

  14. CentOSのインストール画面が表示された。

  15. 日本語を選択して、「続行」をクリック。

  16. インストール概要の画面。「インストール先」をクリック。 

  17. インストール先を選択して、左上の「完了」をクリック。

  18. インストール先が選択済みになって、「インストールの開始」ボタンが有効化された。ただし、このままだと、ネットワーク接続ができないため「ネットワークとホスト名」をクリック。

  19. 右上のネットワーク設定がオフになっているので、オンに変更する。
    また、ホスト名を適当に入力して「適用」ボタンをクリック。
    問題なければ、左上の「完了」をクリック。

  20. 「 ネットワークとホスト名」に、接続されたメッセージが表示される。
    「インストールの開始」ボタンをクリック。

  21. 「ユーザーの設定」画面が表示される。インストールは並行して実行されている。
    「ROOTパスワード」をクリック。

  22. rootユーザーのパスワードを入力する。確認欄にも同じパスワードを入力して、「完了」をクリック。

  23. 「ROOTパスワードは設定されています」に表示が変わった。「ユーザーの作成」もやってみる。

  24. 試しに適当なユーザーを作成して、左上の「完了」をクリック。

  25. しばらく待って、インストールの進捗が「完了しました!」になるので、「再起動」をクリック。

  26. 起動するまでの間に、UTMの設定画面にて、CD/DVDからISOファイルを削除して、(空)にする。
    間に合わなかった場合は、再度10.のインストール画面になるので強制停止してCD/DVDを削除してから仮想マシンを起動する。

  27. 以下の画面が表示されたら起動成功。21.から24.で作成したユーザーでログインして無事完了。

 

(補足)

利用した「CentOS-7-x86_64-DVD-2009.iso」からのインストールでは
ifconfigが含まれていないので、yumでnet-toolsをインストールして、IPアドレスを確認した。

 

以上です。

【技術やってみた】Mac M1で仮想マシンを構築するためにUTMをインストールした

概要

Mac M1でCentOS仮想マシン(VM)を構築したかったので、UTMをインストールしてみた。

 

環境

Mac OS Monterey 12.4

・UTM v4.4.4 (2023.11.25時点)

 

実行内容

  1. GitHubで公開されているUTMのページへアクセスする。
  2. Mac用UTMインストールに必要なファイルのダウンロードをするために、画面をスクロールしてMacのリンクをクリックする。
  3. 「Download from GitHub」をクリックし、UTM .dmgファイルをダウンロードする。以下はダウンロードしたファイルの画面。
  4. ダウンロードしたファイルをUTM.dmgファイルをダブルクリックすると下記画面が表示される。UTMのアイコンをドラッグし、Applicationsのアイコンにドロップする。
  5. Applicationsフォルダを開き、DTMファイルをダブルクリック。
     
  6. 以下の画面が表示されたら、問題ないことを確認して「開く」をクリック。
  7. UTMの画面が表示された。

 

これでUTMが使える状態になった。

以上です。

 

【技術やってみた】WindowsにAWS CloudWatch Agentをコマンドラインでインストールしてみた

内容

コマンドでAWSのCloudWatch Agentのインストールを実行してみた

 

環境

Windows 11 Pro Insider Preview

PowerShell

 

1.インストーラのダウンロード

Invoke-WebRequest -Uri "https://amazoncloudwatch-agent.s3.amazonaws.com/windows/amd64/latest/amazon-cloudwatch-agent.msi" -OutFile amazon-cloudwatch-agent.msi

 

■実行例

実行中の画面例

■確認

dir ファイル名で、ダウンロードされたファイルがあることを確認

 

2.インストール

■実行

msiexec /i amazon-cloudwatch-agent.msi /qn

qnオプションでサイレントインストール

 

■参考

docs.aws.amazon.com

 

learn.microsoft.com

 

以上です。

【技術やってみた】PowerShellで設定変更(ホスト名、RDP接続ポート、Windowsファイアウォール、タイムゾーン)

内容

WindowsGUIを使用しないで、PowerShellで以下を実行する方法を調査してやってみた

  1. OSホスト名変更
  2. RDP接続ポート変更
  3. RDP接続ポート変更に伴うファイアウォール変更
  4. タイムゾーン変更

 

環境

Windows 11 Pro Insider Preview

PowerShell

 

1.ホスト名変更

■実行  ChangePCに変更する例

Rename-Computer -NewName "ChangePC" -Restart

■確認(OS再起動後)

hostname

■実行例

変更はRestartオプションなしで実行した例。OS再起動後に変更される旨のメッセージが表示される。Restartオプションつけて実行すると、そのままOS再起動される。

■参考

learn.microsoft.com

 

2. RDP接続のポート番号変更

■設定 RDP接続ポート番号を7777に変更する例

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value 7777

■確認

Get-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber"

■実行例

■参考

learn.microsoft.com

 

3. ファイアウォール設定変更と無効化

■設定(無効化)

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False

■確認(無効化)

Get-NetFirewallProfile

■実行例(無効化)

■ポート許可追加設定(TCP,UDP)

New-NetFirewallRule -DisplayName “Allow Inbound RDP TCP7777” -Direction Inbound –Protocol TCP –LocalPort 7777 -Action Allow

New-NetFirewallRule -DisplayName “Allow Inbound RDP UDP7777” -Direction Inbound –Protocol UDP –LocalPort 7777 -Action Allow

■確認(許可ポート追加)

Get-NetFirewallRule -DisplayName “Allow Inbound RDP TCP7777” | Get-NetFirewallPortFilter

Get-NetFirewallRule -DisplayName “Allow Inbound RDP UDP7777” | Get-NetFirewallPortFilter

■実行例(許可ポート追加)

■参考

learn.microsoft.com

 

4. タイムゾーン変更

日本標準時間に設定

Set-TimeZone -id "Tokyo Standard Time"

■確認

Get-TimeZone

■実行例

■参考

learn.microsoft.com

 

以上です。

【技術やってみた】自己参照URLの整理

内容

前回やってみた自己参照URL

について、Apacheの前段に配置したロードバランサーSSL終端する場合について、動作確認してみた。

 

環境

Windows 11 Pro Insider Preview

Apache httpd 2.4.54

 

以下を1台のPCで確認。

ロードバランサー想定のApache httpd定義

 Listen:444

    ProxyPass:  / http://localhost:81/

 

Apache httpd定義

 Listen:81

 DocumentRoot : D:¥Apache24¥htdocs

    フォルダ構成:

  D:¥Apache24¥htdocs (フォルダ)

          ¥test    (フォルダ)

              ¥index.html  (ファイル)

 

検証

Apache httpd定義

    ServerName :  http://hkane8.local:444

    UseCanonicalName: On

 検証結果

  • https://localhost:444/testにアクセスした時、応答としてHTTPステータスコード301を返され、応答ヘッダーのLocationの通り末尾に/をつけたURLにリダイレクトされたが、Locationには、ServerNameで指定したhttpでアクセスされエラーとなった。

検証2

 Apache httpd定義

    ServerName :  https://hkane8.local:444

    UseCanonicalName: On

 検証結果

確認結果の整理

  • 正常に表示できた検証2の流れを整理してみた。前段のロードバランサーなどでSSL終端している場合は、Apacheにて、ServerNameにhttpsを指定することで自己参照URLをhttpsとできることが確認できた。

以上です。

【技術やってみた】URLの/有無と自己参照URL関連のApache定義(ServerNameとUseCanonicalName)の動作を確認してみた

内容

ブラウザからURLにアクセスする際、パスの末尾にスラッシュありとなしでリダイレクトの発生有無が異なる場合がある。また、Apache httpdの定義により、自己参照URLも変わってくるため、実際にブラウザ(Edge)の開発者ツールを利用して動作検証して確認してみた。

 

環境

Windows 11 Pro Insider Preview

Apache httpd 2.4.54

 

Apache httpd定義

 Listen:81

 DocumentRoot : D:¥Apache24¥htdocs

 

フォルダ構成

 D:¥Apache24¥htdocs (フォルダ)

         ¥test    (フォルダ)

             ¥index.html  (ファイル)

 

検証1

Apache httpd定義

    # ServerName :  (定義なし)

    # UseCanonicalName:(定義なし)

 検証結果

検証2

 Apache httpd定義

    ServerName :  hkane8.local:80 (hkane8.localは、hostsにローカルPCのIPを定義)

    UseCanonicalName: On

 検証結果

検証3

 Apache httpd定義

    ServerName :  https://hkane8.local:443(hkane8.localは、hostsにローカルPCのIPを定義)

    UseCanonicalName: On

 検証結果

 

確認結果の整理

  • URLのパス末尾の/がなくフォルダを指定している場合、301リダイレクトの通信が発生する。
  • UseCanonicalNameをOnにしてServerNameにプロトコルドメイン名、ポート番号を記載すれば、自己参照URLの値を設定できる。

 

以上です。