QNAP Ubuntu 22.04 LTS

IP ADDRESS 固定
設定ファイルは /etc/netplan/00-installer-config.yaml

network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: false
addresses:
- 192.168.10.11/16
routes:
- to: default
via: 192.168.10.254
nameservers:
addresses: [192.168.10.254,8.8.8.8]

  • addresses: で自分自身の静的IPアドレスを指定します。
  • nameservers: で接続先DNSサーバの一覧を指定します。
  • routes: でデフォルトゲートウェイを指定します。

sudo netplan apply

Qnapでいったんスナップショットを撮る。

TimeZoneの設定
timedatectl set-timezone Asia/Tokyo

php.ini timezone設定

日本語が扱えるように
apt -y install language-pack-ja-base language-pack-ja
システム文字セットを日本語に
localectl set-locale LANG=ja_JP.UTF-8 LANGUAGE=”ja_JP:ja”
変数更新
source /etc/default/locale

bzip2がない
apt-get install bzip2

NFSマウント
apt-get install rpcbind nfs-common
vi fstab
192.168.10.xxx:/share/folder /mnt/folder nfs ro 0 0

snmpdをインストール
apt-get install snmp snmpd snmptrapd snmp-mibs-downloader libnet-snmp-perl

vi /etc/snmp/snmpd.conf
sysLocation “Qnap Ubuntu 22.04 LTS”
sysContact “mail address”

agentaddress 0.0.0.0,[::]

#rocommunity public default -V systemonly
#rocommunity6 public default -V systemonly
rocommunity public 192.168.10.0/24

# systemctl restart snmpd

zabbixでRTX1200を監視
参考にしたサイト
https://junkbox.wicurio.com/index.php?Zabbix3%E3%81%A7RTX1200%E3%82%92%E7%9B%A3%E8%A6%96%E3%81%99%E3%82%8B

wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
cd /usr/share/snmp/mibs
sudo tar xvf ~/yamaha-private-mib.tar.gz

AirVideoServer
参考にしたページ
http://blog.tnker.com/120
https://ydlprog.ddns.net/ydlprog/doku.php?id=ubuntu:v1604:airvideo%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AE%E8%A8%AD%E5%AE%9A
http://blog.browncat.org/2010/07/ubuntu1004_airvideo_server.html

https://srcw.net/wiki/?AirVideoServer

javaインストール
sudo apt-get install openjdk-8-jre pkg-config yasm libfaac-dev libmp3lame-dev libx264-dev

https://s3.amazonaws.com/AirVideoHD/Download/AirVideoServerHD-2.1.0-alpha1-u1.tar.bz2(古くてクライアントがダメと言ってくる)
http://s3.amazonaws.com/AirVideo/Linux-2.4.6-beta3/AirVideoServerLinux.jar

AirVideoServerHD-2.1.0-alpha1-u1.tar.bz2
tar zxvf AirVideoServerHD-2.1.0-alpha1-u1.tar.bz2
sudo apt-get install vlc
./AirVideoServerHD

QNAP ZABBIX 5.0.4 from VM Marketplace

QNAPのVMマーケットプレイスから、Zabbix 5.0.4をインストールする。
Zabbixは、CENT OS 8(Core)上で構築されている。

コンソールログイン


userID:root
passwd:zabbix

zabbix webログイン


userID:Admin
passwd:zabbix

sshでログインして、yumでシステムをupgradeする。


Failed to set locale, defaulting to C.UTF-8
CentOS-8 - AppStream 60 B/s | 38 B 00:00
Error: Failed to download metadata for repo 'AppStream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

レポジトリを変更する。


sed -i -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror/baseurl=http:\/\/vault/g' /etc/yum.repos.d/CentOS-*repo


yum update

yum updateすると、レポジトリが変わってしまったので、
再度変更する。


sed -i -e 's/^mirrorlist/#mirrorlist/g' -e 's/^#baseurl=http:\/\/mirror/baseurl=http:\/\/vault/g' /etc/yum.repos.d/CentOS-*repo

コンソールでは、使いにくいので、sshではいる。
dhcpでip addressを割り当てられているので、


ip a

でip address を調べる。

固定ip addressを割り当てる。


vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
#BOOTPROTO=dhcp
BOOTPROTO=static
NM_CONTROLLED="no"
#PERSISTENT_DHCLIENT=1
ONBOOT="yes"
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME="eth0"
IPADDR=192.168.10.21
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=192.168.10.254
DNS2=8.8.8.8

systemctrl

timezoneの設定
timedatectl set-timezone Asia/Tokyo

ZABBIX日本語とlocale設定で、必要と思われるものと、他に入っていないものをインストール


timedatectl set-timezone Asia/Tokyo
localectl set-locale LANG=ja_JP.UTF-8
yum install bzip2 zabbix-web-japanese.noarch net-snmp-utils.x86_64 tar wget NetworkManager

zabbixでyamaha rtx1200を監視する。

参考にしたサイト
https://junkbox.wicurio.com/index.php?Zabbix3%E3%81%A7RTX1200%E3%82%92%E7%9B%A3%E8%A6%96%E3%81%99%E3%82%8B

wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
cd /usr/share/snmp/mibs
sudo tar xvf ~/yamaha-private-mib.tar.gz
mibsを認識しているか見てみる。


snmpwalk -v1 -c public 192.168.10.254 .1.3.6.1.4.1.1182.2.1.4
SNMPv2-SMI::enterprises.1182.2.1.4.0 = Gauge32: 25

テンプレートをダウンロードしてインポートする。
wget https://sukejob.com/contents/pc/zbx_export_templates_RTX1200.xml


ホスト(RTX 1200)を登録
ホスト名:RTX 1200
表示名:RTX 1200
グループ:Templates/Network Devices
インターフェース
タイプ:snmp
IPアドレス:RTX 1200のIP ADDRESS
DNS名:
接続方法:IP
ポート:161

templates:Temp_RTX1200

こんな感じだろうか。

しばらくすると、グラフが描画される。

こんな感じか。

userを追加して、
root passwordを変更
sshは、rootでログインできるのは、気持ち悪いので、/etc/ssh/sshd_configを変更
sshは鍵認証にして終了

Docker+Redmineにkanban Pluginを導入する

社内でプロジェクト管理に使うツールを物色しています。

Trelloあたりで管理していましたが、思った通り管理できませんので、Redmineあたりを試験導入してみます。

試験導入の前に、QNAP上でREDMINEをいれてみましたが、Trelloより状況が見渡せると感じました。

すこしTrelloも触っていたので、かんばんシステムが欲しいところです。

https://github.com/happy-se-life/kanban

を導入してみます。

さて、Docker上のコンテナにはどうやってアクセスしたら良いのだろう

[~] # docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0c52effcf336 sameersbn/redmine:3.4.6 "/sbin/entrypoint.sh…" 3 days ago Up 3 days 443/tcp, 0.0.0.0:10083->80/tcp redmine_redmine_1
58101793bec7 sameersbn/postgresql:9.6-2 "/sbin/entrypoint.sh" 3 days ago Up 3 days 5432/tcp redmine_postgresql_1
[~] #

でアクセスしたいコンテナのNAMESを調べて、

[~] # docker exec -it redmine_redmine_1 bash

でshellに入ります。
あとは、installに書かれているとおり実行すればOKでした。


1.Move to plugins folder.
git clone https://github.com/happy-se-life/kanban.git
2.Edit models/constants.rb for your environment.

3.Restart redmine.
4.Enable role permission to each users groups
5.Enable modules for each project.

aptが入っていたので、ついでにvimを入れておこう。

QNAP UPS + VMware ESXi

先の記事でQNAPにUPSを接続し、QNAPのNUTでクライアントに商用電源の状態を送り、クライアントマシンをshutdownするまでの設定を行ったが、あと1台VMWare ESXiが稼働している。
このマシンにもshutdownの信号を受信できるよう少し調べてみたが、ssh経由でshutdownを行う感じで出来そうだ。

具体的には、QNAPのNUT SERVERからVMwareESXi上に展開したWindowsマシンでNUT CLIENTを建てて、商用電源の喪失信号を受けると、ShutdownScriptを走らせる。

upsmon.conf内のSHUTDOWNCMDを変更
OSのシャットダウンを行わず、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行すると良いそうだ。

#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff’”

下記参考ページの構成と私の構成が異なっており、そのまま対応できない。
しかし、非常に参考になる。
参考ページのGuestOSはUbuntuを利用されているが、私の環境ではWindowsなので、WinNUTを使いGuestWindowsホストのupsmon.confにシャッドダウンコマンドにsshを足して設定すれば良さそうだ。
sshの設定は、参考ページと同じで良さそうだ。

upsmon.conf内のSHUTDOWNCMDを変更することでゲストOSのシャットダウンを行うのではなく、ESXiにゲストの停止(/bin/shutdown.sh)とESXi自体の停止(poweroff)をSSHで実行する。
#SHUTDOWNCMD “/sbin/shutdown -h +0”
SHUTDOWNCMD “/usr/bin/ssh root@ESXiのIP ‘/bin/shutdown.sh;/bin/poweroff'”

なお、これを動作させるためにはESXi上で以下の設定をしておく必要がある。
+ESXiへのSSHログインができるように設定しておく。~
→vSphere Clientからホストの[構成]-[セキュリティプロファイル]で[サービス]のプロパティを開きSSHを選んでオプションボタンを押す。「ホストに連携して開始および停止」を選んで開始ボタンを押した後、OKボタンを押す。
+nutを入れたサーバからのパスワードなしでコマンドを実行するために、SSHキーを登録する。~
→ESXiサーバの/etc/ssh/keys-root/authorized_keys にパブリックキーを登録する。
+ESXi 上でゲストOSの自動起動・停止を設定しておく。~
→vSphere Clientからホストの[構成]-ソフトウェア項目の[仮想マシン起動/シャットダウン]から自動起動設定を選ぶ。

VMwareESXiがGuestOSが何台か稼働中なので、間をみて設定しておくことにする。
参考)

VMware ESXiのUPS連携

QNAP UPS + Windows WinNUT

QNAPにはUPSのために、NUT(Network UPS Tools)がインストールされているようだ。
WEB GUIから設定できるので楽に稼働状態まで持って行ける。
Network UPS Toolsというくらいなので、クライアントへ渡す事も可能だ。

QNAP同士なら、全くCUIに頼らなくても設定できる。

QNAP同士の設定後、Client側で、きちんとUPSを認識してくれた。

QNAPをNUT SERVER、WindowをNUT CLIENTにしてWindowsマシンもShutdownさせる。

WinNUTをインストール
EDITを押し、下記設定を入力

# MONITOR myups@bigserver 1 monmaster blah master
# MONITOR su700@server.example.com 1 upsmon secretpass slave

MONITOR qnapups@192.168.xxx.xxx 1 admin 123456 slave

Install As Service Windowsのサービスとして起動
Use Timed Shutdown バッテリーに切り替わった時にWindowsをshutdown
Shutdown Method バッテリーに切り替わってから何秒後にシャットダウンするかの秒数
Normal(通常),Forced(強制),Force If Hung(止まった場合強制),Hibernate(休止)から選択

WinNUT Ups MonitorがServiceに追加されており、状態が開始、スタートアップが自動に設定されていればOK

WinNUT起動ログ

Level     INFO	09/19/2018 11:40:09	Detected OS as Windows 7
Level   NOTICE	09/19/2018 11:40:09	Network UPS Tools upsmon 2.0.0.4
Level     INFO	09/19/2018 11:40:09	UPS: qnapups@192.168.xxx.xxx (slave) (power value 1)
Level     INFO	09/19/2018 11:40:09	Config Load: MINSUPPLIES set to 1
Level     INFO	09/19/2018 11:40:09	Config Load: NOTIFYCMD set to c:\Program Files\WinNUT\alertPopup.exe
Level     INFO	09/19/2018 11:40:09	Config Load: POLLFREQ set to 5
Level     INFO	09/19/2018 11:40:09	Config Load: POLLFREQALERT set to 5
Level     INFO	09/19/2018 11:40:09	Config Load: HOSTSYNC set to 15
Level     INFO	09/19/2018 11:40:09	Config Load: DEADTIME set to 15
Level     INFO	09/19/2018 11:40:09	Config Load: RBWARNTIME set to 43200
Level     INFO	09/19/2018 11:40:09	Config Load: NOCOMMWARNTIME set to 300
Level     INFO	09/19/2018 11:40:09	Config Load: FINALDELAY set to 5
Level    ALERT	09/19/2018 11:40:09	WinNUTUpsMon Service is starting to monitor UPS

テレビサーバのT3500、T3500TV、T3600にインストール設定完了

QNAPのNUTと通信出来るかを確認するため、QNAP CLIENTから情報を取得してみる。

upsc qnapups@192.168.xxx.xxx
battery.charge: 100
battery.charge.low: 10
battery.charge.warning: 50
battery.runtime: 1680
battery.runtime.low: 120
battery.type: PbAc
battery.voltage: 26.8
battery.voltage.nominal: 24.0
device.mfr: American Power Conversion 
device.model: Smart-UPS 750
device.serial: AS1317214978  
device.type: ups
driver.name: usbhid-ups
driver.parameter.pollfreq: 30
driver.parameter.pollinterval: 1
driver.parameter.port: /dev/ttyS1
driver.version: 2.6.5
driver.version.data: APC HID 0.95
driver.version.internal: 0.37
ups.beeper.status: enabled
ups.delay.shutdown: 20
ups.firmware: UPS 08.3 / ID=18
ups.mfr: American Power Conversion 
ups.mfr.date: 2013/04/27
ups.model: Smart-UPS 750
ups.productid: 0003
ups.serial: AS1317214978  
ups.status: OL
ups.timer.reboot: -1
ups.timer.shutdown: -1
ups.vendorid: 051d

このように情報が取得出来る。
ところで、Windows版のupscは何処にあるんだ?

動作確認のため、ACケーブルを抜いてみる。きちんと仕事をしてくれているようだ。

Level   NOTICE	09/19/2018 12:32:58	UPS qnapups@192.168.xxx.xxx on battery
Level   NOTICE	09/19/2018 12:33:09	UPS qnapups@192.168.xxx.xxx on line power

なぜか、popupが立ち上がってこないなぁ・・・
しかたないので、line通知に変更

windows版curl.exeを配置してから、sndline.batを作成

:line settings
	set url="https://notify-api.line.me/api/notify"
	set curl="E:\bin\curl.exe"
	set token="Line Token ID"
	set lineMSG="message=[ %COMPUTERNAME% ] UPS IS ON BATTERY!!!"
echo %lineMSG%
:Line送信処理
	%curl% %url% -H "Authorization: Bearer %token%" -d %lineMSG%

batを書いても通知が来ないなぁ・・・
Install先が悪いのかもしれないなぁ・・・
installディレクトリを変更してみるか。

参考)