VMware ESXi 6.7.0 Patch適用

10/2付けけでESXi 6.7.0 Patchがリリースされていたので
ESXi670-201810001.zip (Build 10176752)

  • ESXi-6.7.0-20181004001-standard
  • ESXi-6.7.0-20181004001-no-tools

今回の修正はこれだけか
意外と少ないな

VIBs Installed: VMware_bootbank_esx-base_6.7.0-0.23.10176752, VMware_bootbank_vsan_6.7.0-0.23.10176752, VMware_bootbank_vsanhealth_6.7.0-0.23.10176752
VIBs Removed: VMware_bootbank_esx-base_6.7.0-0.20.9484548, VMware_bootbank_vsan_6.7.0-0.20.9484548, VMware_bootbank_vsanhealth_6.7.0-0.20.9484548

PHPのアップデートを実行したら、Zabbixが見られなくなった・・・

環境としては
CentOS 7 + Zabbix Server 3.4 + MySQL 5.7 + PHP 7.3 rc + Nginx 1.15
となかなか、変わった環境

NginxとPHPのアップデーターがあったので
そのままアップデートした所
まず 404 Not Found

Nginx の /etc/nginx/conf.d の下を default.conf を削除してdefault.confを使用していなかったのだが

# ls -la /etc/nginx/conf.d/
total 12
drwxr-xr-x 2 root root   73 Oct  5 04:37 .
drwxr-xr-x 3 root root  177 Oct  5 04:21 ..
-rw-r--r-- 1 root root 1093 Oct  3 00:25 default.conf
-rw-r--r-- 1 root root 1410 Sep 21 04:34 zabbix.conf

アップデートのタイミングで default.conf が追加されていた

取り敢えず default.conf を default.conf_org に mv して回避

したら、今度はPHP-FPMでエラーが発生

[error] 974#974: *1 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught Exception: Cannot start session. in /usr/share/zabbix/include/classes/core/CSession.php:50

どうやら、PHPのUpdateのタイミングで権限が変更になっているっぽいので

# ls -l /var/lib/php/
total 0
drwxrwx--- 2 root apache  6 Sep 25 20:51 opcache
drwxrwx--- 2 root apache 84 Sep 25 20:51 session
drwxrwx--- 2 root apache  6 Sep 25 20:51 wsdlcache

ビンゴ!! Apacheではなく、Nginxを使用しているので root:apache ではなく、 root:nginx に変更
念の為、上記ディレクトリ以下も確認

# ls -lAR /var/lib/php/ | more
/var/lib/php/:
total 0
drwxrwx--- 2 root apache  6 Sep 25 20:51 opcache
drwxrwx--- 2 root apache 84 Sep 25 20:51 session
drwxrwx--- 2 root apache  6 Sep 25 20:51 wsdlcache

/var/lib/php/opcache:
total 0

/var/lib/php/session:
total 0
-rw------- 1 nginx nginx 0 Oct  4 01:07 sess_21gf0hq3fo848eg6vl18tg3tlc
-rw------- 1 nginx nginx 0 Oct  4 01:08 sess_4r9i7nvbncol0ul7n59hdp2m72

/var/lib/php/wsdlcache:
total 0

/var/lib/php 直下だけ変更すれば大丈夫そう

# chown root:nginx /var/lib/php/*
# ls -l /var/lib/php/
total 0
drwxrwx--- 2 root nginx  6 Sep 25 20:51 opcache
drwxrwx--- 2 root nginx 84 Sep 25 20:51 session
drwxrwx--- 2 root nginx  6 Sep 25 20:51 wsdlcache

Nginx と PHP-FPMを再起動

# systemctl restart nginx
# systemctl restart php-fpm

これから Nginx と PHPのUpdateのたびに、設定変更必要なのか・・・

Zabbix 3.x & RTX1200/1210 PP/TUNNEL対応 Template

RTX1200 と RTX1210 で Tunnel I/FのOIDが違うので
その辺も含めて一緒くたにした Zabbix の RTXテンプレートを作成してみた


PP や TUNNEL I/F まで包括したものがなかったので Items だけ登録しているので
使用している機種や環境によって Item をDisableにして貰えれば


あと、Trigger も登録はしていないので、その辺は好きな閾値で設定してください


というか、RTX1210では確認できたけど
RTX1200の TUNNEL I/F の確認が出来てない(リプレースして外したので)
誰か適用して間違ってたら教えて (≧Д≦)y-~~


<前提条件>
RTX1200 / 1210
・タグVLANを使用していない
・LAN1分割機能を使用していない
snmp yriftunneldisplayatmib2 on
YAMAHA Private MIBをZabbixに導入済み

RTX1200
・Rev10.01.32以降

基本は YAMAHAのサイトの インターフェース対応リストから拾ってきてポチポチしただけなので
OIDの番号と名称変更すればI/F増加させるのも簡単かと

RTX12x0 Zabbix Template

<2018/10/14 追記>
LLDを使用した新しいTemplate作成したのでこちらは削除
tkx.hatenablog.jp

RTXの Tunnel I/FをZabbixで監視する

RTX 1200/1210 (RTX12x0) は標準設定では、SNMPで Tunnel I/Fの転送量を監視できないので
設定変更を行い監視できるようにする

ちなみにTunnel I/Fの番号は、先の記事参照

1. RTX12x0の設定変更
# snmp yriftunneldisplayatmib2 on

Zabbix Server で Tunnel I/F番号が見えるようになっているか確認

# snmpwalk -v 1 -c public <RTX12x0のIP> -m /usr/share/snmp/mibs/yamaha-rt-interfaces.mib.txt ifTable

余談だけど、設定変更前にも実行しておくと、どんなI/Fが見えるようになるか判るのでお薦め
2. ZabbixにTunnel I/Fの ifInOctets と ifOutOctets を登録

指定すべき I/Fは機種と環境にもよるので、その辺はヤマハのサイトで確認して欲しい

# snmpwalk -v 1 -c public <RTX12x0のIP> -m /usr/share/snmp/mibs/yamaha-rt-interfaces.mib.txt ifDescr
実行すれば、一応名称でてくる

RTXのI/F番号とsnmp I/F番号の対応表

SNMPのインタフェース番号とRTのインタフェースの関係
FAQ for YAMAHA RT Series / SNMP

これを見ると
RTX 1210 : タグVLAN未使用 : LAN1未分割 の構成だと

Index インタフェース 備考
1~3 LAN1~LAN3  
4 WAN1  
5 BRI1  
6~105 PP01~PP100 snmp yrifppdisplayatmib2 on設定時にMIB2の範囲でも有効
106~208 PP Anonymous snmp yrifppdisplayatmib2 on設定時にMIB2の範囲でも有効
209~308 TUNNEL01~100 snmp yriftunneldisplayatmib2 on設定時にMIB2の範囲でも有効
309 NULL  
310~318 Loopback01~09  
319 BRIDGE1  
320 Mobile1  
100,000,000~199,999,999 スイッチ1~ snmp yrifswitchdisplayatmib2 on設定時にMIB2の範囲でも有効

RTX12x0をZabbixで監視する

1. RTX12x0のsnmpを有効化

RTX12x0にログインして、config を修正

# snmp host <ZabbixサーバのIP> public
# snmp trap host <ZabbixサーバのIP> public
2. RTX Private MIBファイルの配置

Zabbix ServerにRTXのPrivate MIBファイルを配置

ちなみにRTXのMIBファイルはYAMAHAのサイトで配布されている
-> YAMAHA private MIB

# wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
# tar xvzf yamaha-private-mib.tar.gz -C /usr/share/snmp/mibs

MIBファイルを配置したら、Zabbix Serverの再起動
# systemctl restart zabbix-server
# systemctl status zabbix-server
3. snmpwalkで確認

MIBファイルを格納し、Zabbix Serverを再起動した後にPrivate MIBで値を取得できるか確認

# snmpwalk -v 1 -c public <RTX12x0のIP> yrIfPpInUtil

上記だと Unknown Object Identifier と言われてしまったので、MIBファイルを指定
# snmpwalk -v 1 -c public <RTX12x0のIP> yrIfPpInUtil -m /usr/share/snmp/mibs/yamaha-rt-interfaces.mib.txt
4. Zabbixに RTX12x0のテンプレートを適用して修正

元ネタのテンプレートはコチラから

自宅のL2 Switch

Catalyst 2960S (WC-2960S-24TS-L)を買ったはいいけど
やっぱファンの音五月蠅いからお蔵入り・・・

Catalyst 2960Gの時も、結局ファンの音に我慢できずにお蔵入りしたな(遠い目

Ruckus APあるので、PoE Switchで 16Portクラスが欲しいのだけど
16Port PoEになると、高い、ファン付きになるということで
Netgear GS116v2 + GS108PEv3 の組み合わせに戻った・・・

PoE Switch使わずに、ACアダプターかPoE Injector使えば?となるが
どうせコンセント1口使うなら、スイッチでいいやと

GS116v2はこのクラスにしてはbuffer sizeが大きく512KB/Portと
大きなファイル転送でもそれなりのパフォーマンスを発揮してくれるので
(安いスイッチだと 512KB/unitとか普通にあるので)

Nginxの fastcgi_temp Warning対策とPHP-FPMの接続にUNIX Socketを使用する

Nginx と PHP-FPMの接続は http://127.0.0.1:9000/ を使用しているので
UNIX Socketに変更するとスマートになるんではないかなと

/etc/php-fpm.d/www.conf

listen = /var/run/php-fpm/php-fpm.sock

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

に変更して、再起動してソケットファイルの確認

# systemctl restart php-fpm
# ls -la /var/run/php-fpm/
total 4
drwxr-xr-x  2 root  root   80 Sep 21 04:20 .
drwxr-xr-x 25 root  root  720 Sep 21 04:20 ..
-rw-r--r--  1 root  root    5 Sep 21 04:20 php-fpm.pid
srw-rw----  1 nginx nginx   0 Sep 21 04:20 php-fpm.sock

nginx の conf を

fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;

に修正して、reload

# systemctl reload nginx

アクセスしてみて問題なければOK

ちなみに自分専用のWebサイトレベルなので、レスポンスタイムが短縮したなんて事は体感できず(苦笑

ついでにアクセスするたんびに出力されていた

an upstream response is buffered to a temporary file /var/cache/nginx/fastcgi_temp/7/00/0000000007 while reading upstream, client: xxx.xxx.xxxxxx, server: xxx.xxx.jp, request: "GET /index.php HTTP/2.0", upstream: "fastcgi://127.0.0.1:9000", host: "xxx.xxx.jp", referrer: "https://xxx.xxx.jp/"

も消えた\( ̄∇ ̄)/
(まあ、理由考えれば当然なんだろうけど)