■目次
logwatchZabbixNagiosMuninCactiWebminrdiff-backupRAID監視ツール設定(さくらの専用サーバ)
■logwatch
※ログの監視を行う 参考:[さくらのVPS]サーバー監視がとても捗るlogwatchを入れてみた http://www.happyquality.com/2012/02/02/1924.htm 参考:ログ監視ツール logwatch のインストールと設定 〜 CentOS6 http://easyramble.com/install-setup-logwatch.html 参考:logwatch によるログの収集 http://landisk.kororo.jp/diary/29_logwatch.php # yum install logwatch … インストール # /usr/sbin/logwatch --print … 動作確認 # vi /etc/logwatch/conf/logwatch.conf … 設定ファイルを編集
# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf) #解析結果を送信するメールアドレス … メールアドレスを追加(設定しなかった場合、rootのアドレスに送られる) MailTo=refirio@example.com
■Zabbix
※サーバの監視を行う ■Zabbixサーバのインストール(監視する側のサーバ) 参考:EPELリポジトリ導入(EPEL) http://centossrv.com/epel.shtml 参考:統合監視ツール「Zabbix」によるサーバー監視 http://knowledge.sakura.ad.jp/tech/585/ # rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm … EPELリポジトリをインストール # sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo … EPELリポジトリをデフォルト無効化(RPMforgeリポジトリと競合するため) # yum --enablerepo=epel -y update epel-release … epel-releaseをアップデート # yum --enablerepo=epel install zabbix-server zabbix-server-mysql … Zabbixのインストール mysql> CREATE USER zabbix; … MySQLにZabbix用のユーザとデータベースを作成 mysql> CREATE DATABASE zabbix; mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '1234'; mysql> FLUSH PRIVILEGES; # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.22/create/schema/mysql.sql … Zabbix用の初期データを登録(それぞれ時間がかかかるので待つ) # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.22/create/data/data.sql # mysql -u zabbix -p zabbix < /usr/share/doc/zabbix-server-mysql-1.8.22/create/data/images_mysql.sql # vi /etc/zabbix/zabbix_server.conf … Zabbixの設定ファイルを編集
# DBName= DBName=zabbix … 使用するデータベース名 # DBUser= DBUser=zabbix … データベースのユーザー名 # DBPassword= DBPassword=1234 … データベースのパスワード
# service zabbix-server start … Zabbixを起動 # chkconfig zabbix-server on … Zabbix自動起動を設定 # yum --enablerepo=epel install zabbix-web-mysql … Webフロントエンドのインストール # vi /etc/php.ini … Zabbix用にPHPの設定を編集
post_max_size = 32M max_execution_time = 600 max_input_time = 600 memory_limit = 256M upload_max_filesize = 16M
# service httpd restart … httpdを再起動 http://example.com/zabbix/ のようにアクセスすると、Zabbixの管理画面にアクセスできるので http://knowledge.sakura.ad.jp/tech/585/2/ を参考に初期設定を行う ■Zabbixエージェントのインストール(監視される側のサーバ) 参考:linuxにおけるホスト名の確認と変更 http://d.hatena.ne.jp/atree/20090420/1240308590 参考:統合監視ツール「Zabbix」によるサーバー監視 http://knowledge.sakura.ad.jp/tech/585/2/ 参考:ホストの設定 https://www.zabbix.com/documentation/2.2/jp/manual/config/hosts/host 設定しようとしているホスト上でZabbixエージェントが動作している場合、 エージェントの 設定ファイルのパラメータ[Hostname]が、 ここで入力したホスト名と同じ値でなければなりません。 # hostname … サーバのホスト名を確認する方法 refirio.net # yum --enablerepo=epel install zabbix-agent … Zabbixエージェントのインストール # vi /etc/zabbix/zabbix_agentd.conf … Zabbixエージェントの設定ファイルを編集
# Server= Server=203.0.113.0 … 監視元(Zabbixサーバをインストールしたサーバ)のIPアドレス # Hostname= Hostname=refirio.net … 監視対象(Zabbixエージェントをインストールしたサーバ)のホスト名 # ListenIP=0.0.0.0 ListenIP=203.0.113.0 … 監視対象(Zabbixエージェントをインストールしたサーバ)のIPアドレスだが、設定しなくても動く
# vi /etc/sysconfig/iptables … ファイヤーウォールを設定(10050ポートを開ける / iptablesを使用している場合の設定)
#Zabbixを許可 -A MY-FIREWALL -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
# service iptables restart … ファイヤーウォールを再起動 # service zabbix-agent start … Zabbixエージェント起動 # chkconfig zabbix-agent on … Zabbixの自動起動を設定 インストールが完了したら、Zabbixの管理画面で監視対象ホストを登録する ■監視設定 ※「設定 → ホスト → ホストの作成」から、監視したい対象を登録できる ※似たような監視を行う場合、「設定 → ホスト」から設定をエクスポートし、 設定を編集して「設定 → ホスト → ホストのインポート」からインポートするといい ホストの設定 名前:refirio.net グループ:Linux servers, Zabbix servers IPアドレス:203.0.113.0 リンクしているテンプレート:Template_Linux 参考:統合監視ツール「Zabbix」によるサーバー監視 http://knowledge.sakura.ad.jp/tech/585/3/ ■監視設定例 ※「設定 → ホスト → グラフ」から、監視したい内容を登録できる ※「設定 → スクリーン」から、一括で監視したいグラフを登録できる Load Average ノーマル Processor load 濃い赤 Processor load5 赤 Processor load15 薄い赤 CPU Utilization 積算グラフ CPU system time 赤 CPU iowait time 黒 CPU user time 黄 CPU idle time 緑 Memory 積算グラフ Cached memory 赤 Buffers memory 黄 Free memory 緑 Disk Space 積算グラフ Used disk space on / 赤 Free disk space on / 緑 Traffic ノーマル Outgoing traffic on interface eth0 青 Incoming traffic on interface eth0 赤 ■グラフを作成せずに既存のグラフで監視 概要 → セルをクリック → そこからグラフを確認できる ■グラフのフォント文字化け対策 ※文字化けが直った代わりに、グラフに時間が表示されなくなったので未解決 https://blog.isao.co.jp/zabbix_graph/ こちらは試していないので試す # yum search ipafont … フォントを検索 # yum install ipa-pgothic-fonts … ゴシック可変幅フォントをインストール # ls /usr/share/fonts/ipa-pgothic/ … インストールされたフォントを確認 ipagp.ttf # vi /usr/share/zabbix/include/defines.inc.php … Zabbixの設定ファイルを編集
//define('ZBX_FONTPATH', '/usr/share/fonts/dejavu'); // where to search for font (GD > 2.0.18) define('ZBX_FONTPATH', '/usr/share/fonts/ipa-pgothic'); // where to search for font (GD > 2.0.18) //define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name define('ZBX_GRAPH_FONT_NAME', 'ipagp'); // font file name
… グラフ用のフォントを変更 (Zabbix2の場合) # cd /usr/share/zabbix/fonts/ … Zabbix用のフォントディレクトリへ移動 # ln -s /usr/share/fonts/ipa-pgothic/ipagp.ttf ipagp.ttf … インストールしたフォントへシンボリックリンクを張る # vi /usr/share/zabbix/include/defines.inc.php … Zabbixの設定ファイルを編集
//define('ZBX_GRAPH_FONT_NAME', 'graphfont'); // font file name define('ZBX_GRAPH_FONT_NAME', 'ipagp'); // font file name … グラフ用のフォントを変更
参考:Zabbixグラフの日本語文字化けを直す方法(2.0.5) http://www.checksite.jp/zabbix-japanese-graph/ ■Zabbix API APIを使う場合、 「Zabbix管理画面 → 管理 → ユーザ」 から「APIアクセス」を有効にする PHP 5分でわかる! Zabbix API の使い方(ホスト一覧の取得) | あぱーブログ https://blog.apar.jp/zabbix/3055/ Host [Zabbix Documentation 1.8] https://www.zabbix.com/documentation/1.8/api/host
■Nagios
※サーバの監視を行う ※未検証 統合監視システム構築(Nagios) - CentOSで自宅サーバー構築 https://centossrv.com/nagios.shtml Nagiosの基礎 - ペパボテックブログ https://tech.pepabo.com/2013/11/30/nagios-learning/ Nagiosのインストール(Nginx + CentOS) | abeerforyou.com http://abeerforyou.com/?p=603
■Munin
※サーバの監視を行う ※未検証 【CentOS7】Munin + nginxでサーバ監視 | server-memo.net http://www.server-memo.net/server-setting/munin/munin_nginx.html 「Muninでかんたんサーバー監視」〜初心者でもよくわかる!VPSによるWebサーバー運用講座(3) | さくらのナレッジ https://knowledge.sakura.ad.jp/3669/
■Cacti
※サーバの監視を行う ※未検証 モニタリングツール「Cacti」でのリソース監視 | さくらのナレッジ https://knowledge.sakura.ad.jp/618/ これだけ見れば大丈夫!ーMySQLパフォーマンス監視のツボ(クエリ編) | 株式会社インフィニットループ技術ブログ http://www.infiniteloop.co.jp/blog/2012/03/mysql-tuning-cacti-query/
■Webmin
※サーバの設定をブラウザから行えるようにする ■インストール ※最新版のURLは http://www.webmin.com/download.html で確認できる # yum -y install perl-Net-SSLeay … 依存ライブラリをインストール # wget http://prdownloads.sourceforge.net/webadmin/webmin-1.770-1.noarch.rpm … Webminのダウンロード # rpm -U webmin-1.770-1.noarch.rpm … Webminのインストール # yum -y install perl-DBI … MySQLをWebminから管理したい場合にインストール # vi /etc/webmin/miniserv.conf … Webminの設定ファイルを編集
allow=127.0.0.1 203.0.113.0 203.0.113.1 … 最終行にローカルアドレスと自身のIPアドレス(複数可)を追加
# /etc/init.d/webmin restart … Webminを再起動 # vi /etc/sysconfig/iptables … ファイヤーウォールを設定(10000ポートを開ける / iptablesを使用している場合の設定)
#Webminを許可 -A MY-FIREWALL -m state --state NEW -m tcp -p tcp --dport 10000 -j ACCEPT
# service iptables restart … ファイヤーウォールを再起動 http://example.com:10000/ のようにアクセスすると、Webminの管理画面にアクセスできる ユーザー名は「root」、パスワードはサーバのrootパスワードでログインする 日本語化させる場合、 「Webmin > Webmin Configuration > Language」で 「Display in language」を「Japanese (JA_JP.UTF-8)」に設定する SSLで接続する場合、 「Webmin > Webmin設定 > SSL暗号化」で 「可能であればSSLを使用可能にしますか?」を「はい」に設定する https://example.com:10000/ ポート番号を変更する場合、 「Webmin > Webmin設定 > ポートとアドレス」で 「待機するIPとポート → 全てのアドレス → 具体的なポート」と「ブロードキャストを待ち受けるUDPポート」に 任意のポート番号を設定する ポート番号はプライベートポート番号(49152〜65535)の割り当てが推奨される IPアドレスで制限する場合 「Webmin > Webmin設定 > IP アドレスのアクセス制御」でIPアドレスを指定できる 参考:Webminの導入 http://hs-www.hyogo-dai.ac.jp/~kawano/?Install%20Log%2FCentOS5%2Fwebmin 参考:初めて使うwebminでやっておくべき事(その3) http://www.flipflipflip.com/vps_wp/20140306vps27.html
■rdiff-backup
※Pythonで書かれた逆差分形式のバックアップツール。インストールや設定が比較的容易 外部のサーバへバックアップすることもできる。バックアップ時の通信にはSSHが使われる ■インストール ※この例ではrootアカウントでバックアップを行うものとする バックアップは外部のバックアップ用サーバ( backup.refirio.net )に行うものとする バックアップ用サーバでは、SSHでの管理用ユーザ「admin」とrdiff-backupでのバックアップ用ユーザ「backup」があるものとする 一旦 /root/rdiff-backup/ 内にバックアップを作成し、それをrdiff-backupでバックアップするものとする ※公開フォルダの一つ上の階層にログなどのバックアップを作成し、一つ上の階層を丸ごとバックアップするのも有効? ※バックアップ時のSSHでは使用できるコマンドを制限するのも有効 # yum install rdiff-backup … rdiff-backupをインストール 参考:rdiff-backup でリモートバックアップする(基本的な使い方が書かれている) http://www.usupi.org/sysad/154.html 参考:rdiff-backup をもう少し使いこなす(鍵認証とパスワードの省略について書かれている) http://www.usupi.org/sysad/155.html 参考:rdiff-backupのリモートバックアップで、SSHのコマンドを制限したい http://www2.filewo.net/wordpress/2012/05/30/rdiff-backup%E3%81%AE%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%8... ■ローカルバックアップ動作確認 # mkdir /root/mydata … テスト用ディレクトリを作成 # echo test1 > /root/mydata/test1.txt … テスト用ファイルを作成 # rdiff-backup /root/mydata /root/mydata-backup … rdiff-backupでバックアップを実行 # ls /root/mydata-backup … バックアップの内容を確認 # echo test2 > /root/mydata/test2.txt … 追加でファイルを作成 # mkdir /root/mydata/test … 追加でディレクトリを作成 # rdiff-backup /root/mydata /root/mydata-backup … rdiff-backupでバックアップを実行 # ls /root/mydata-backup … バックアップの内容を確認 # rdiff-backup -l /root/mydata-backup … バックアップの履歴を確認する場合 increments.2018-01-28T05:45:03+09:00.dir Sun Jan 28 05:45:03 2018 increments.2018-01-29T05:45:04+09:00.dir Mon Jan 29 05:45:04 2018 increments.2018-01-30T05:45:03+09:00.dir Tue Jan 30 05:45:03 2018 〜中略〜 increments.2018-03-28T17:20:54+09:00.dir Wed Mar 28 17:20:54 2018 increments.2018-03-28T17:20:58+09:00.dir Wed Mar 28 17:20:58 2018 increments.2018-03-28T17:21:59+09:00.dir Wed Mar 28 17:21:59 2018 # rdiff-backup -r now /root/mydata-backup /root/mydata-restore … 最新のバックアップから復元する場合 # rdiff-backup -r 1D /root/mydata-backup /root/mydata-restore … 1日前のバックアップから復元する場合 # rdiff-backup -r 1D /root/mydata-backup/data.sql /root/mydata-restore/data.sql … 特定のデータのみ復元する場合 # rdiff-backup -r 2018-03-28T17:21:59+09:00 /root/mydata-backup /root/mydata-restore … 特定の日時から復元する場合 ■リモートバックアップ準備 ※PostgreSQLのデータをバックアップする場合、rootからパスワード入力なしでpg_dumpを実行できるようにする ※PostgreSQLにrootを作成し、パスワード入力を省略するためのファイルも作成しておく必要がある # su - postgres … postgresユーザになる -bash-4.1$ createuser webmaster … DBユーザー「root」を新規登録 # vi /root/.pgpass … PostgreSQLパスワードファイルを作成
#ホスト名:ポート番号:データベース名:ユーザー名:パスワード localhost:5432:dbname:username:XXXXX
# chmod 600 /root/.pgpass … rootからのみ読み込めるようにする # pg_dump dbname > /root/pg_dbname.sql … pg_dumpをテスト実行 ■リモートバックアップ通信準備 ☆バックアップ用サーバで作業 # mkdir /home/backup/refirio.net … あらかじめバックアップ用ディレクトリを作成 # chown backup. /home/backup/refirio.net … 権限を設定 # vi /etc/sysconfig/iptables … ファイヤーウォールを設定(バックアップ元サーバからのアクセスを許可する / iptablesを使用している場合の設定) ☆バックアップ元サーバで作業 # ssh backup@backup.refirio.net … 一旦バックアップ先へのSSH接続を確認 # ssh-keygen -t rsa … バックアップ元からバックアップ先にSSH接続するための鍵を作成 Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): … 空Enter(デフォルトの場所に作成) Enter passphrase (empty for no passphrase): … 空Enter(パスワード無しの鍵を作成) Enter same passphrase again: … 空Enter Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 1d:98:e7:f1:6d:04:1c:30:fd:69:c7:b7:3b:6d:e6:40 root@refirio.net The key's randomart image is: +--[ RSA 2048]----+ | o+o. | | o .o. | | o + ..o | | + + o+ +| | S o ..E.o| | o . | | . o| | ++| | +o| +-----------------+ # ll /root/.ssh/ … 鍵(id_rsa と id_rsa.pub)の作成を確認 合計 12 -rw------- 1 root root 1675 4月 8 18:09 2015 id_rsa -rw-r--r-- 1 root root 396 4月 8 18:09 2015 id_rsa.pub -rw-r--r-- 1 root root 826 4月 8 10:55 2015 known_hosts # vi /root/.ssh/id_rsa … 秘密鍵の内容を確認
-----BEGIN RSA PRIVATE KEY----- MIIEoQIBAAKCAQEAyhAl43U62F5m7i3qv/qiXyANsiE8kZeyXyMcDZnpeguwhRxx 〜略〜 FcSQ5vshGerkb6Aogd0lTsT16WVHW2UPRv0Jef7FTWDaP/BV9w== -----END RSA PRIVATE KEY-----
# vi /root/.ssh/id_rsa.pub … 公開鍵の内容を確認(アカウントとドメインが記入されているのを確認)
ssh-rsa AAAA〜略〜gzw== root@refirio.net
☆バックアップ用サーバで作業 # vi /home/backup/.ssh/authorized_keys … 作成した公開鍵の内容を入力(すでに鍵ファイルがあれば、ファイルの最後に追記)
ssh-rsa AAAA〜略〜gzw== root@refirio.net
☆バックアップ元サーバで作業 # ssh -i /root/.ssh/id_rsa backup@backup.refirio.net … 秘密鍵を使って、パスワードなしで、バックアップ先へのSSH接続を確認 ■リモートバックアップ構築 ※シェルスクリプトの内容は、必要に応じて調整する ※シェルスクリプトとして実行する前に、あらかじめ一つ一つのコマンドを叩いてテストする ※一度もバックアップを行っていないと、バックアップの復元はエラーになる # mkdir /root/rdiff-backup … バックアップ用一時ディレクトリを作成 # vi /root/rdiff-backup.sh … バックアップ用スクリプトを作成
#!/bin/sh #システムファイルをバックアップ tar cfz /root/rdiff-backup/log_backup.tar.gz -C /var log tar cfz /root/rdiff-backup/etc_backup.tar.gz -C / etc #MySQLをバックアップ mysqldump -u username -pXXXXX dbname --default-character-set=binary > /root/rdiff-backup/mysql_dbname.sql #PostgreSQLをバックアップ pg_dump dbname > /root/rdiff-backup/pg_dbname.sql #rdiff-backupにある1ヶ月以上前のバックアップを削除 rdiff-backup --remote-schema 'ssh -i /root/.ssh/id_rsa -C %s rdiff-backup --server' --force --remove-older-than 1M backup@backup.refirio.net::refirio.net #rdiff-backupにバックアップを作成 rdiff-backup --remote-schema 'ssh -i /root/.ssh/id_rsa -C %s rdiff-backup --server' /root/rdiff-backup backup@backup.refirio.net::refirio.net #一時的なバックアップファイルを削除 rm -f /root/rdiff-backup/*
■リモートバックアップから復元テスト&シェルスクリプト実行テスト&自動実行 # rdiff-backup -r now --remote-schema 'ssh -i /root/.ssh/id_rsa -C %s rdiff-backup --server' backup@backup.refirio.net::refirio.net /root/rdiff-backup-restore … 最新のバックアップから /root/rdiff-backup-restore に復元テスト # chmod 700 /root/rdiff-backup.sh … バックアップ用スクリプトに権限を与える # /root/rdiff-backup.sh … バックアップ実行テスト # vi /etc/crontab … バックアップ用スクリプトをcronに登録(毎朝5時に実行する場合)
0 5 * * * root /root/rdiff-backup.sh
リモートのバックアップサーバにSSHでログイン後、以下のようにして直接取得する方法もある # rdiff-backup -r now /root/mydata-backup /root/mydata-restore … 最新のバックアップから復元する場合 ■バックアップ用シェルスクリプト例 # vi /root/rdiff-backup.sh
#!/bin/sh #システムファイルをバックアップ tar cfz /var/www/vhosts/main/backup/log_backup.tar.gz -C /var log tar cfz /var/www/vhosts/main/backup/etc_backup.tar.gz -C / etc #MySQLをバックアップ mysqldump -u refirio_db -pPNBgxJWM5N members --default-character-set=binary > /var/www/vhosts/main/backup/mysql_members.sql #PostgreSQLをバックアップ pg_dump members_pos > /var/www/vhosts/main/backup/pg_members_pos.sql #rdiff-backupにある古いバックアップを削除 rdiff-backup --remote-schema 'ssh -i /root/.ssh/id_rsa -C %s rdiff-backup --server' --force --remove-older-than 30D backup@backup.example.com::refirio.net #rdiff-backupにバックアップを作成 rdiff-backup --remote-schema 'ssh -i /root/.ssh/id_rsa -C %s rdiff-backup --server' /var/www/vhosts/main backup@backup.example.com::refirio.net #一時的なバックアップファイルを削除 rm -f /var/www/vhosts/main/backup/*
■RAID監視ツール設定(さくらの専用サーバ)
「専用サーバ エクスプレスシリーズ」を契約している コントロールパネルで「RAIDステータス」が「監視できていません」となっているので設定したい https://help.sakura.ad.jp/hc/ja/articles/206056262 を見ると、標準で監視しているとある https://help.sakura.ad.jp/hc/ja/articles/206110622 これが設定方法みたい さくらでは ・監視を有効にしておけば、コントロールパネルでハードの状態を確認できる ・コントロールパネルで確認し、異常があればさくらに問い合わせる ・そこで初めてさくらが調査を行う という監視方法みたい つまり、監視が有効でも異常を放置しておくとダメらしい ■設定手順 root権限で以下を実行する 「setup complete」と表示されれば成功 # wget http://progeny.sakura.ad.jp/scripts/raid_check/setup_raid_chk.sh # sh setup_raid_chk.sh 実行すると、/etc/crontab に以下の設定が追加されていた
14 3 * * * root sh /opt/sakura/raid_chk.sh 22 1 5 * * root sh /opt/sakura/watch_chk.sh
RAIDにエラーがあると、以下にファイルを作成してそのエラー数を書き込むみたい /opt/sakura/alert_count RAIDがエラーから回復しようとしているとき、以下のファイルを作成するみたい /opt/sakura/rebuilding これらのファイルは、エラーから回復すると削除される 監視サーバのIPアドレスを確認。コントロールパネルからも確認できる(この場合、IPアドレスは「153.120.12.6」) # vi /etc/snmp/snmpd.conf # sec.name source community com2sec sakura 153.120.12.6 public com2sec6 sakura 2401:2500:203:a:153:120:12:6 public 監視サーバからのSNMPアクセスを許可する # vi /etc/sysconfig/iptables #RAID監視を許可 -A MY-FIREWALL -p tcp -m state -m tcp -s 153.120.12.6 --dport 161 --state NEW -j ACCEPT -A MY-FIREWALL -p udp -m state -m udp -s 153.120.12.6 --dport 161 --state NEW -j ACCEPT しばらく待つと、さくらのコントロールパネルで「RAIDステータス」が「正常」と表示された ■SNMPとは 「FWなどでアクセス制限を行う場合は弊社監視サーバからのアクセスを許可していただく必要があります。」 iptablesの設定も必要みたい 特定IPからの、161版ポートへのTCP・UDPアクセスを許可する SNMPは Simple Network Management Protocol の略で、サーバやネットワークの監視を行うためのプロトコル 【さくらの専用サーバ】RAID監視設定について - さくらのサポート情報 https://help.sakura.ad.jp/hc/ja/articles/206056262 SNMPとは | IT用語 | 意味 解説 http://www.webnms.jp/solutions/snmp.html SNMPの利用設定およびアクセス許可設定について|So-netクラウド http://www.so-net.ne.jp/cloud/snmp/ サーバー監視システム構築 Cacti+Net-SNMP+RRDtool|Web系オーライLinux https://ameblo.jp/yuu-sys-guard/entry-11849984390.html ■MegaCliについて 監視スクリプトの内容を監視すると、MegaCliで状態の確認を行っている MegaCliは、RAIDを構成したり確認したりするツールみたい MegaCliのインストール - Qiita https://qiita.com/shotaTsuge/items/b0de32cfc660870b3b0d MegaCLI インストール概要 - Windows - Cisco Support Community https://supportforums.cisco.com/t5/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%BB%E3%83%B3%E3%82%BF%E3%83%BC-%... 最低限のものなら、以下のスクリプトで状態確認ができる(さくらのスクリプトから抜粋)
#!/bin/sh #### raid status check # # return 0: no problem # return 1: RAID error # return 2: Rebuilding status # return 3: Another problem # check_status (){ MegaCli=`which MegaCli 2> /dev/null` if [ -z "${MegaCli}" ]; then return 3 fi ${MegaCli} -LDInfo -Lall -aALL -NoLog > /dev/null 2>&1 if [ "$?" -ne 0 ]; then return 3 fi stat=`${MegaCli} -PDList -aALL -NoLog | awk '/Rebuild/ {print $3}'` if [ "$stat" = "Rebuild" ]; then return 2 fi stat=`${MegaCli} -LDInfo -Lall -aALL -NoLog | grep ^State` if echo "$stat" | grep -q Optimal 2> /dev/null; then return 0 fi return 1 } check_status echo $?
■補足 Zabbixでも監視できるらしい ただしさくらでは # cat /proc/mdstat Personalities : unused devices: <none> となって状態を取得できなかった。環境によるのかも ZabbixでSoftwareRAIDを監視する http://qiita.com/skouno/items/11349771a9c1ac2a1874 Zabbixエージェントで LinuxのソフトウェアRAIDを監視する https://www.walbrix.com/jp/blog/2013-11-zabbix-linux-raid.html