RTX12x0 Zabbix Template
LLDのDiscovery Rule使って
Admin Status Onになっている、 LAN / Tunnel / PP 全てを拾ってくるテンプレート作成
取り敢えずこれ適用しとけば、Tunnel / PP 追加しても自動で Item作成して、グラフまで作成してくれると
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増加させるのも簡単かと
<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/"
も消えた\( ̄∇ ̄)/
(まあ、理由考えれば当然なんだろうけど)
ZabbixのHTTPを httpd -> Nginxに変更する
一通り CentOS7 + MySQL 5.7 + Zabbix 3.4 + PHP 7.x で構築できたので
今更な Apache(httpd)じゃなくて、他のサーバーでも使っている Nginx に変更
1. Zabbix Server と httpd の停止
# systemctl stop zabbix-server # systemctl stop httpd
2. Nginxのインストール
Nginxのサイトにしたがい https://nginx.org/en/linux_packages.html#mainline
mainlineのレポジトリを追加
# cat > /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/ gpgcheck=0 enabled=1 <ここで Ctrl+D で出力終了> # chmod 644 /etc/yum.repos.d/nginx.repo # # yum install nginx
nginxを起動してWelcomページが表示されるか確認
# systemctl start nginx
3. PHPのモジュールをインストール
既に入っているものもあるが、次回構築時に判るようにするために
# yum install php-mbstring php-pdo php-xml php-zip php-fpm php-mysqlnd
4. PHP-fpmの設定変更
apach向けになっているので、Nginxに変更
# vi /etc/php-fpm.d/www.conf user = nginx group = nginx
# chown -R nginx:nginx /var/lib/php/session/
PHP-fpmの起動
# systemctl start php-fpm
5. Nginxの設定変更
/etc/nginx/conf.d 以下のdefault.conf をコピーして修正する
default.conf については、conf.bak などにリネームしておかないと /zabbix/ では失敗する
http://www.hogehoge.com/ で表示させる場合と
httpd の時と同様に http://www.hogehoge.com/zabbix/ で表示させる方法があるのだが
どちらが良いのかイマイチわからない
取り敢えず今回は後者の config
# cp -p /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/zabbix.conf # vi /etc/nginx/conf.d/zabbix.conf location / { root /usr/share/nginx/html; index index.html index.htm; } location /zabbix { alias /usr/share/zabbix; index index.php; if (!-e $request_filename) { rewrite ^/zabbix(.+)$ /zabbix/index.php?q=$1 last; break; } } location ~ ^/zabbix/.+\.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^/zabbix(.+\.php)(.*)$; fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name; include fastcgi_params; }
パーミッションを変更
# chown nginx:nginx /etc/zabbix/web # chown nginx:nginx /etc/zabbix/web/zabbix.conf.php
6. Nginx再起動とZabbix Server起動
# systemctl reload nginx # systemctl start zabbix-server
7. 自動起動設定
# systemctl disable httpd # systemctl enable nginx # systemctl enable php-fpm
8. http://www.hogehoge.com/ で起動する nginx conf
こちらで運用する場合もあるので記述
# vi /etc/nginx/conf.d/zabbix.conf location / { root /usr/share/zabbix; index index.php; } location ~ \.php$ { root /usr/share/zabbix; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
こっちのほうがお手軽なので、これでもいいかなあと