ZabbixでホストPCのメモリ使用率が90%を超えているアラートが飛びまくってウザい。ホスト側で90%メモリ超えてるのって割とあると思ってるので変更したい。
メモリ使用率の閾値は{$MEMORY.UTIL.MAX}というマクロ変数に入っているらしく、これの変更方法は👇ここ
【入門】Zabbix エージェントを Linux へインストール/セットアップ | SEの道標 (nesuke.com)
テンプレートの中の「マクロ」の項目でいじれる

ZabbixでホストPCのメモリ使用率が90%を超えているアラートが飛びまくってウザい。ホスト側で90%メモリ超えてるのって割とあると思ってるので変更したい。
メモリ使用率の閾値は{$MEMORY.UTIL.MAX}というマクロ変数に入っているらしく、これの変更方法は👇ここ
【入門】Zabbix エージェントを Linux へインストール/セットアップ | SEの道標 (nesuke.com)
テンプレートの中の「マクロ」の項目でいじれる

👇の記事の2番、SQLサーバのDBのバックアップ
前回のWebサーバのコンテンツバックアップではWindows側でファイルを持ってきていた(Windowsがgetする方式)。
前回記事:バックアップの設定 FTP&cron&タスクスケジューラ – DESPINA.WORK
今回はLinux側からWindowsのFTPサーバへputする方式。理由はSQLサーバにFTPサーバとか入れてないから。(前回はWebサーバだったので管理用にvsftpd入れてた)
1.MySQLのバックアップを吐き出す
ファイル名:sqlbk.sh
mysqldump -u ユーザ名 -p'パスワード' データベース名1 > データベース1.bak
mysqldump -u ユーザ名 -p'パスワード' データベース名2 > データベース2.bak
mysqldump -u ユーザ名 -p'パスワード' データベース名3 > データベース3.bak
※パスワードに記号がある場合はシングルクォーテーションで囲む必要がある。詰まった。あとこのやり方はパスワードがCLIに流れるので脆弱。
2.FTPサーバ(IIS)側の設定
適当にポチポチして設定する👇
参考サイト:開発・検証用のFTPサーバ(IIS)を構築 – NDW (nextdoorwith.info)
3.FTPクライアント側(Ubuntu)
ファイル名:ftp1.sh
ftp -n < /home/useraaa/ftp2
ファイル名:ftp2
open xx.xx.xx.xx
user ユーザ名 パス
prompt
passive
bin
lcd /home/useraaa/
mput *.bak
quit
※自分のubuntuではアクティブモードが初期となっていて、ログインはできるのに正常に転送できなかったのでpassiveモードをオン。ここでも詰まった。
3.cron
テキトウに2行設定する。
コマンド: crontab -e
20 4 * * * sh /home/useraaa/sqlbk.sh
22 4 * * * sh /home/useraaa/ftp1.sh
crontab -l
service cron start
service cron status
WindowsのIIS&FTPサーバ、Linux(FTPクライアント)の組み合わせはめんどくさそうと思ってたし、案の定めんどくさかった。WindowsのFWが分かりにく過ぎ。あとFTPのAcitive/Passiveモードどっちやねんってのもあるし、権限周りも。うまくいかないときに見直す箇所が多すぎる気がする。普通にパス通ってないとか凡ミスもありまくり妙に時間かかった。
あとmysqlのバックアップは書もがなんかめんどくさかった。記号入りの複雑なパスワードにしてたからうまいこといかなくて詰まってしまった・・・
👇これで書いた中のwordpressのディレクトリごとバックアップの設定した。
webサーバ側で定期的に圧縮ファイルを作って、それをWindows10ファイルサーバで定期的にgetする方式
前提:zipとFTPサーバをインストール、設定しておく
apt install zip
apt install vsftpd
1.Linux側:cronで対象のディレクトリをzip化する
ファイル名:zipassyuku.sh
zip -r 圧縮後のファイル名 圧縮したいディレクトリ
cronを作成する
#cron編集
crontab -e
##--内容ここから--##
# m h dom mon dow command
##分 時 日 月 曜日 実行コマンド
#毎日16時に実行
00 16 * * * sh /var/www/html/zipassyuku.sh
##--内容ここまで--##
#確認
crontab -l
sudo service cron start
2.Windows側
ファイル名:ftp.bat
@echo off
ftp -ins:C:\ftp_script_1.txt > C:\log.txt
※「-i 対話モードオフ」、「-n 自動ログインオフ」「-s: 引数もらう」
ファイル名:ftp_script_1.txt
open xx.xx.xx.xx
user ユーザ名xxx パスワードxxx
bin
cd ディレクトリ
get assyuku.zip
quit
今日自鯖をいじってたらzabbixのエージェントが壊れて色々直そうとしている間にVMごと消してしまってwordpress再設定した。
だからバックアップを考えようと思う。それぞれの選択肢はどれかひとつじゃなくて、全て行うことでそれぞれの弱点を補完する感じ。
1.まずはHyper-Vで仮想OSごと同ストレージにエクスポートして、それを共有バックアップストレージにコピーすること。
参考リンク:
仮想マシンをエクスポートおよびインポートする | Microsoft Docs
仮想マシンのエクスポートを自動化する。 | 自鯖 (jisaba.life)
パワーシェルを使ってエクスポートするスクリプトを書いてタスクスケジューラで実行。インポートは手動の予定。
2.WordPressとZabbixはWEBサーバが外部DBと連携する方式になってる。仮にWordPressだけを復元したい場合、DBが同じVMに存在しているからHyper-VのエクスポートだけだとZabbixまで巻き戻ってしまう。だからDBごとにバックアップを取る。
cronで行うと思うけど、吐き出し先の権限とリソースがめんどくさそう。バックアップ先がwindowsだから。
参考URL
3.WordPressはローカルにメディアファイルを抱えてる。これもバックアップとリストア対象だと思う。たぶん。2番ができればすぐできるはずだけど。プラグインはあんまり使いたくない。
これもバックアップ先がwindowsに直投げかも
4.任意のタイミングで手動バックアップ
5.必要フォルダ数
vim /var/www/html/わどぷれす入れてるフォルダ/wp-config.php
##以下を追記
define('WP_HOME','https://www.despina.work/wordpress/');
define('WP_SITEURL','https://www.despina.work/wordpress');
##HTTPS化に際して変になったときはしたのを追記してみたりする
$_SERVER['HTTPS'] = 'on';
wordpressフォルダをhtml直下じゃなくてサブディレクトリに入れてるとバグるらしい。100万回くらいばぐらせた。
ちなみに該当の値はdefineで上書いても残り続けるから、画像のテーブルに入ってる値手動で変えれば良いと思う。(自分は気になったので手できれいにした)

自分の場合このページにある返り値のものではなかった。
もういい加減覚えよう。php.iniはどこにあるのか – Qiita
# php -r "echo phpinfo();" | grep "php.ini"
Configuration File (php.ini) Path => /etc/php/7.4/cli
Loaded Configuration File => /etc/php/7.4/cli/php.ini
👆これ編集しても反映されない
正解はこっち。「apatche2」のフォルダのものを使ってたみたい
ls /etc/php/7.4/apache2
conf.d php.ini
この記事でメモしておいたんだけどこのやり方だと再起動で初期化されちゃうみたい。
Ubuntu Server 20.04.3 LTS初期設定メモ – DESPINA.WORK – WORDPRESS
UbuntuでIPv6を無効にする方法 | TECH+ (mynavi.jp)
###IPv6を無効にする設定(永続)
###/etc/sysctl.confを編集
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
理由は/etc/netplanが起動後に読み込まれて、システム側の設定が宇和が枯れるから。
ちなみに起動後「sudo sysctl -p」すると、ipv6が無効になる。
だからどうすればいいかっていうと「/etc/netplan/*.yaml」ファイルを下記のようにする。
network:
ethernets:
eth0:
dhcp4: false
dhcp6: false
accept-ra: false
link-local: [ ]
addresses: [xxx.xxx.xxx.xxx/xx]
gateway4: xxx.xxx.xxx.xxx
nameservers:
addresses: [xxx.xxx.xxx.xxx]
search: []
version: 2
1.SSLの項目、「ポータル」の画面いじる。

「スプリットトンネリング」っていうのは、VPNクライアント側から見て、VPNの仮想IFといつものゲートウェイを分けて同時に使えるようにする時の設定みたい。設定する場合は「ルーティングアドレス」にVPNサーバ側のローカルネットワークのアドレスを入れてあげるっぽい。
※今回は必要ないのでオフ。VPN側のNWとほかのNWの中間にVPNクライアントが入るので、複雑になる。
2.次は”設定”の箇所

3.FrotiGateのネットワーク設定の要と思うポリシーの設定。

4.適当にユーザとグループ作ってVPNに使ってあげる。

wget https://repo.zabbix.com/zabbix/5.5/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.5-1+ubuntu20.04_all.deb
#
sudo dpkg -i zabbix-release_5.5-1+ubuntu20.04_all.deb
#
sudo apt install zabbix-agent
#
sudo vim /etc/zabbix/zabbix_agentd.conf
#
Server=サーバ側アドレス
ServerActive=エージェントがActive使ってる人はここ
#
sudo systemctl enable zabbix-agent
sudo systemctl restart zabbix-agent
#FW確認
sudo ufw status
あとは、サーバ側でとうろく
・メール送受信(Ubuntu)
→結局Gmail連携で済ませたのでOK
・Zabbix(Ubuntu)
→kubernetesはさすがにめんど
→完了
・Docker(WEB)、Dcoker(メール)
→kubernetes
→いらないかあ一旦
・SQL
→MySQLで統合DB作成済み