2020年4月30日木曜日

Ubuntu 18.04 LTSにPostgreSQL 10とZabbix 4.0 LTSのインストール

自宅のNW機器などを監視したくてESXiの空いているリソースを利用してZabbixを建てることに

OSはUbuntu 18.04 LTS
20.04 LTSが出たばかりだけどひとまずドキュメントが揃っているこちらで

データベースは個人的に使ってみたかっただけなのでPostgreSQLを採用

とりあえずOSは公式からイメージファイルをダウンロードして1CPU 2GBくらいでESXi上にサーバ作成

事前に以下サイトを参照して必要なものをインストールしておく


※参考サイト
server-world Ubuntu_18.04

■Apache
$ sudo apt -y install apache2

■PHP
$ sudo apt -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring

■タイムゾーン変更
$ sudo vim /etc/php/7.2/apache2/php.ini

#以下修正
date.timezone = "Asia/Tokyo"

■DB PostgreSQL
$ sudo apt -y install postgresql


■OSのタイムゾーン変更
$ sudo timedatectl set-timezone Asia/Tokyo



Zabbixのインストール自体は公式が便利なサイトを作っているので参照
OSや利用するソフトウェアとバージョンを選択すると必要なコマンドが下に表示される

Download and install Zabbix

■Zabbixのリポジトリ追加
$ sudo wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
$ sudo dpkg -i zabbix-release_4.0-3+bionic_all.deb
$ sudo apt -y update

■Zabbix Serverとagentのインストール
$ sudo apt -y install zabbix-server-pgsql zabbix-frontend-php php7.2-pgsql zabbix-agent

■Zabbix用DB作成
$ sudo -u postgres createuser --pwprompt zabbix
$ sudo -u postgres createdb -O zabbix zabbix

■初期スキーマとデータのインポート
$ sudo  zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix

■作成したDBへのログインPW設定
$ sudo vim /etc/zabbix/zabbix_server.conf

#以下修正
DBPassword=(任意の値 後で使う)

■Zabbixのタイムゾーン変更 該当箇所コメント解除して追記
$ sudo vim /etc/zabbix/apache.conf

php_value date.timezone Asia/Tokyo

■再読み込みと有効化
$ sudo systemctl restart zabbix-server zabbix-agent apache2

$ sudo systemctl enable zabbix-server zabbix-agent apache2


ここからはWebブラウザで操作
以下作成したサーバIP+ /zabbixでアクセスする
今回は192.168.1.14で作成したので以下
192.168.1.14/zabbix

画面が表示されたら【Next Step】から次へ
zabbix1


インストールされたパッケージのステータス確認なので問題なければ次へ
zabbix2


利用するDB情報
ユーザ名はZabbix、PWは上で作成したものを入力
zabbix3


Host名やポーと設定など
特に不要なら初期値のままで名前は任意に設定
zabbix4


 これで初期設定は終わったので【Finish】で再読み込み
zabbix5


ログイン画面が表示される
初期のユーザ名はadmin
PWはzabbixに設定されている
zabbix6


ログインすると英語表記のままだが、基本的な項目はこれで表示された
zabbix7



日本語化するためにubuntuにsshで繋ぎ直して以下を設定する

$ sudo localedef -f UTF-8 -i ja_JP ja_JP
$ sudo service zabbix-server restart
$ sudo service apache2 reload

再度zabbixにログインして右上の【profile】を開いて【Language】から【Japanese (ja_JP)】を選択して保存する

これで画面表記も日本語化された
後は監視する各エージェントの設定をやっていこう
zabbix8

2020年4月20日月曜日

Ubuntu18.04でのpostgreSQLデータディレクトリ変更

Ubuntu18.04にPostgreSQLを入れてデータディレクトリを変更する際のメモ

■PostgreSQLのインストール
Ubuntu18.04ではPostgreSQLのVer.10がインストールされる
$ sudo apt -y install postgresql



■現状のデータディレクトリ確認
DBにログイン
$ sudo –u postgres psql

・データディレクトリ確認
postgres=# SHOW data_directory;
【/var/lib/postgresql/10/main】と表示されているはず


・ログアウト
\q


■変更先フォルダ作成
今回は【/mnt/usb/pgdata】を新しいデータディレクトリにする
・フォルダ作成とパーミッション変更
 所有者をpostgresにして所有者のみ読み書きできるように
$ sudo mkdir /mnt/usb/pgdata
$ sudo chmod go-rwx /mnt/usb/pgdata
$ sudo chown postgres:postgres /mnt/usb/pgdata


DB初期化
・ユーザpostgresにログイン

$sudo -s -u postgres

・DB初期化
 Ubuntuだとinitdbにパスが通って無いのでとりあえずフルパスで指定
$ /usr/lib/postgresql/10/bin/initdb -D /mnt/usb/pgdata


■設定ファイル書き換え
postgresユーザだと掛けない場合はログアウトして
$ sudo vim /etc/postgresql/10/main/postgresql.conf

・該当箇所を以下の通り書き換え
data_directory = '/var/lib/postgresql/10/main' # use data in another directory
data_directory = '/mnt/usb/pgdata' # use data in another directory


■postgesqlの再起動
$ sudo /etc/init.d/postgresql stop
$ sudo /etc/init.d/postgresql start


■変更後ののデータディレクトリ確認
DBにログイン
$ sudo –u postgres psql

・データディレクトリ確認
postgres=# SHOW data_directory;
【/mnt/usb/pgdata】と表示されているはず

・問題なければログアウト
\q


これでデータディレクトリを任意の位置に変更できる

2020年4月18日土曜日

vmware ESXi6.7(無償版)でUSBメモリをデータストアとして利用

USB3.0対応の128GBのUSBメモリが安かったので購入したついでにESXiのデータストアとして利用することに

そのままUSBメモリを繋いだ場合は仮想マシンOS上でUSBメモリとして認識するんだったかな?
設定前に確認し忘れたのでその辺りはとりあえずスルーしよう



コマンド叩いて設定するようなので、SSHを有効化させる

ESXiのWebインターフェース(以下WebI/F)にログインして【ホスト】>【管理】>【サービス】から【TSM-SSH】を有効化
ESXi


TeraTearmでSSHアクセス
ユーザ名はWebI/Fのログインユーザ名
Authenticvation methodsは【キーボードインタラクティブ認証を使う】にして接続
認証を求められるので上記同様WebI/Fの値を使ってログイン


■仮想OSのパススルーを停止
/etc/init.d/usbarbitrator stop

■再起動時にもusbarbitratorを起動させない
/sbin/chkconfig usbarbitrator off

■認識されているディスクの確認
ls /dev/disks/

今回は以下のデバイスとして認識された
mpx.vmhba36:C0:T0:L0
これは後の設定で利用するのでメモしておく

■ラベル作成
partedUtil mklabel /dev/disks/mpx.vmhba36:C0:T0:L0 GPT

■GTPパーティションの取得
partedUtil getptbl /dev/disks/mpx.vmhba36:C0:T0:L0


■サイズ取得
eval expr $(partedUtil getptbl /dev/disks/mpx.vmhba36:C0:T0:L0 | tail -1 | awk '{print $1 " \\* " $2 " \\* " $3}') - 1

表示された数字は後で利用するのでメモしておく
今回の値は以下
240348464

■パーティション作成
partedUtil setptbl /dev/disks/mpx.vmhba36:C0:T0:L0 gpt "1 2048 24034846  AA31E02A400F11DB9590000C2911D1B8 0"

■vmfs6のパーティション作成
名前はわかりやすいようにUSB-Datastoreとした
vmkfstools -C vmfs6 -S USB-Datastore /dev/disks/mpx.vmhba36:C0:T0:L0:1


これでデータストアとして登録されているはずなのでWebI/Fで確認
問題なく表示されていれば成功
データストア


あとはこれを仮想サーバにマウントしたい場合には、一旦仮想サーバをシャットダウンしてから、仮想マシンの編集で【ハードディスクの追加】から新しく追加したデータストアを選んで容量を指定すればいい

/dev/sdb等で認識されているはずだが、パーティションもないので好きに設定して好きな場所にマウントさせてやれば利用できる

2020年4月13日月曜日

10.1インチのAndroid9タブレット購入

以前から所持していたKindle Fire HDが動作も遅くてそろそろ買い替えを考えていたところ、Amazonで安くなっていたのを見つけたのでTeclastのP10HDを購入
4G対応でSIMが挿せるが今のところ利用する予定は無いけど、テザリングで足りなくなったときにでも契約すればいいか

標準で保護フィルムは貼られているようだったが、ガラスフィルムも別途購入した

ついでにBluetoothのキーボードも調達
P10HDなど


カタログ表記はmicroUSBになっていたが、届いた端末はUSB type Cのモデルだった
OTG対応にはなっているものの、USB type CのLANやHDMIがついているドッキングステーション型のHUBを認識しない
まぁAndroidだと使える機種が限られているようなのでここは想定無い

しかし、USB type C → microUSB変換器を利用して通常のUSB HUBを繋いだりUSBキーボードを接続しても反応なし
PCに繋げても充電されるだけで認識しない
まあ充電できている以上、故障ではなさそうなのでこんな仕様変更がされたということで納得した
USB type C


Bluetoothキーボードはタッチパッド付きで小型なため、やや変則的な配列
Google日本語入力で「日本語109A」を選べば、キートップの赤字表記の日本語配列で利用できるのが地味に嬉しい
AndroidはSSHで繋げた先やターミナル系のアプリでGoogle日本語入力の使い勝手が微妙な時があるがWin(Command)+スペースキーでGboradと切り替えれば問題なく使える場合が多いので何かと便利
タッチパッドはどちらでも良かったものの、10.1インチタブとサイズ的なバランスが良い日本語配列キーボードの中では安価だった
タッチ精度は許容範囲かな。マウス操作を多用する際は別に持っているBluetoothマウスを繋げれば問題ない
Fn+cでコネクション解除だったりfn+escじゃないとホーム画面呼び出すボタンだったりと癖はあるものの、薄くて軽いので慣れの問題かな
キーボード


キーボード付属のタブレットスタンドを利用すれば2 in 1 PC的な使い方ができる
Wi-Fiも11ac対応で各種Androidアプリが利用できるので、サブ機としてはなかなかいい使い勝手
2万以下の機種の中ではそれなりにスペックが高くて、YouTubeの動画再生も1080でカクつくこともない
安いChromebookを買うよりも更に安価にモバイル端末が利用できたのはいいな
2in1

2020年4月12日日曜日

近所の桜散策

外出自粛の影響であまり人の多い観光地には出かけられないので、在宅勤務で空いた朝の時間を利用して近所の桜を撮影していた



朝の時間だと人もほぼおらずゆっくりと見ることができた

来年にはもう少し他の観光地に出掛けられることを願う




2020年4月3日金曜日

Raspberry Pi 3 model B+にRaspbian Buster LiteインストールとSamba構築

Raspberry Pi 3 model B+のOSを入れ替えたのでメモ
ついでに以前のブログ内容が手抜きだったので、自分のメモとしてやり直し

公式サイトからGUI無しのRaspbian Buster Liteをインストール
Raspbian ダウンロードサイト

解凍したイメージファイルをSDカードに書き込み
SDカード内直下に【SSH】ファイルを作成してリモートアクセスの準備
Windows10からだと、右クリック>新規作成(X)>テキストドキュメントを作成して
拡張子無しの【SSH】にリネームすればいい

SDカード刺して起動するが、初期だとDHCPなのでXG Firewall側で一時的にDHCPを有効化してIP払い出せるようにしておく


起動したらいつものアップデートとVimのインストール
$ sudo apt update
$ sudo apt upgrade
$ sudo apt -y install vim


■インターフェース名変更
liteだからなのかデバイス名が【enx+macアドレス】の表記になっていたので、eth0に変更する
$ sudo vim /lib/udev/rules.d/73-usb-net-by-mac.rules
下の方のNAMEの""内を変更
    IMPORT{builtin}="net_id", NAME="$env{ID_NET_NAME_MAC}"
  ↓
    IMPORT{builtin}="net_id", NAME="eth0"

■IPアドレス固定
$ sudo vim /etc/dhcpcd.conf
以下追記
interface eth0
static ip_address=192.168.*.*/28(指定したいIP)
static routers=192.168.*.*(デフォルトゲートウェイIP)
static domain_name_servers=192.168.*.*(DNS IP)

■Wi-Fiの無効化
$ sudo iwconfig wlan0 txpower off

■ネットワークの再起動
$ sudo systemctl restart networking

■IP確認
$ ip a
でeth0に指定したアドレスが表示されていれば問題なし


既存のNTFSフォーマットのUSB-HDDを利用するのでntfs-3gをインストール
$ sudo apt -y install ntfs-3g

念のためデバイス確認
$ sudo fdisk -l

/dev/sda1で認識されてることが確認出来たらマウント場所作成してマウント
GUI環境無いと自動マウントはされない
$ sudo mkdir /mnt/hdd 
$ sudo mount -t ntfs /dev/sda1 /mnt/hdd

起動時に自動マウントさせるためUUIDの確認
$ sudo blkid

【/dev/sda1:】のところのUUIDをメモ

fstabに追記
$ sudo vim /etc/fstab
#最終行に以下記述
UUID= ※メモしたUUID※  /mnt/hdd ntfs
Defaults.nofail 0 0

共有フォルダとして利用するフォルダは【public】、アクセス権付きフォルダは【pi】ですでに作成済みだったのでパーミッション変更
必要であればmkdirでフォルダも作成
$ sudo chmod 777 /mnt/hdd/public
$ sudo groupadd pi
$ sudo chgrp pi /mnt/hdd/pi
$ sudo chmod 770 /mnt/hdd/pi


Sambaのインストール
$ sudo apt -y install samba

Sambaの設定
$ sudo vim /etc/samba/smb.conf

36行目のinterfaces = 127.0.0.0/8 eth0の後ろに接続するIPを記述
今回は端末固定するので/32で
 interfaces = interfaces = 127.0.0.0/8 eth0 192.168.*.*/32 IP指定)

[global]内に追記
unix charset = UTF-8
dos charset = CP932
max protocol = SMB2
#共有フォルダ
[public]
    path = /mnt/hdd/public
 read only = No
    writable = yes
    guest ok = yes
    guest only = yes
    create mode = 0777
    directory mode = 0777
#アクセス権フォルダ
[pi]
    path = /mnt/hdd/pi
    writable = yes
    create mode = 0770
    directory mode = 0770
    guest ok = no

    valid users = pi


■Sambaユーザ登録してパスワードをRaspberrypi上のユーザと同期させる
$ sudo pdbedit -a pi

sambaの再起動
$ sudo systemctl restart smbd


【\raspberrypiのip\フォルダ名】でアクセスできれば問題なし
GUI無し環境だから少しは快適に動くかな?

2020年3月22日日曜日

XG FirewallでのSSLインスペクション有効化

XG FirewallでのSSLインスペクションの有効化をしたものの、アップしてなかったので再度の手順確認も含めて記載


参考は以下公式サイト


XG Firewallにログインして【証明書】>【認証局(CA)】タブのページ内にある【SecurityAppliance_SSL_CA】をダウンロード
CA


ダウンロードした証明書をインポートするが、Google Chromeだと云々描いているものの、コントロールパネルのインターネットオプションと行き着く設定画面は同じだった

Google Chrome Ver.80.0.3987.149では【設定】>プライバシーとセキュリティの【もっと見る】でメニュー表示を増やして>【証明書の管理】を開く
chrome


【証明書】ダイアログが表示されたら【信頼されたルート証明機関】タブの【インポート】をクリック
ブラウザ設定



ファイル選択ダイアログが表示されるので上でダウンロードした証明書を選択する
拡張子がデフォルトの物と違うので【.*】で全ファイル表示した方がわかりやすい
インポート


問題なくインポートされれば一覧にXG Firewallの証明書が表示される
ブラウザ証明書



次にWindows 10のスタートボタン横の【ここに入力して検索】欄に【MMC】と入力して【Microsoft Management Console】を起動する
【ファイル】>【スナップインの追加と削除】を開いて【証明書】を選んで真ん中の【追加】ボタンで右側へ追加する
新しいダイアログが表示されるので【コンピュータアカウント】を選んで次へ
MMc


移管した画面で【完了】を押してスナップインの一覧を閉じると元の画面に証明書の一覧が表示されている
【信頼されたルート証明書】を右クリックして【すべてのタスク>インポート】から上でダウンロードした証明書をインポートする
MMCインポート

無事インポートに成功すればこちらも一覧にXG Firewallの証明書が表示される
MMC証明書


インポートが完了したらXG FirewallでSSLインスペクションを有効にする
【保護】>【ファイアウォール】から該当のインターフェース or VLANからWAN(インターネット)抜けのルールを選んで、【Webマルウェアスキャンとコンテンツスキャン】項目の【HTTPSの暗号化解除/スキャン】にチェックを付けて保存する
FW設定



これでSSLインスペクションが有効化され、httpsのサイト閲覧時も保護が有効になる

一部サイトやダウンロード時に失敗することがあるので、その場合は【保護】>【web】の【例外】タブから【例外リストの追加】で設定する

過去記事