ZABBIXを稼動させるようになってからしばらく経つが、どうもサーバに負荷がかかりすぎているようで、ほぼ100%のCPU負荷をキープしている。
いくつかのグラフが途切れ途切れになっている。
どうもエージェントの送ってくるデータを取りこぼしているらしい。
topコマンドで稼働中の状態を確認すると、ZABBIXのサーバデーモン自体は大した負荷ではないが、PostgreSQLのCPU占有率がかなり高く、そいつらだけで90%を軽く超えているようだ。
MySQLの方が軽いのでそっちを使うように変更して試したいが、configureが通ってもmakeが通らない状況が続いている。
ん~、まじめにCとかC++(正確にはmakeとかautomakeとかリンカとか?)に取り組んでおけばよかった(-_-;
さて、どうしたものか…。
2009年4月21日火曜日
2009年4月20日月曜日
あるユーザーが起動しているプロセスのPIDを全て得るには…
あるユーザーが起動しているプロセスのPIDを全て得るには…って前も書いた気がするが、もっと簡単なコマンド発見(-_-;
で、これを使ってプロセスを終了させる方法は…って、pkillコマンドを使えばそれも不要(-_-;
考えることは同じってことで≧(´▽`)≦アハハハ
Solaris10とSolaris9で確認(・ω・)b
pgrep -U <ユーザー名>
で、これを使ってプロセスを終了させる方法は…って、pkillコマンドを使えばそれも不要(-_-;
pkill -U <ユーザー名>
考えることは同じってことで≧(´▽`)≦アハハハ
Solaris10とSolaris9で確認(・ω・)b
2009年4月9日木曜日
ZABBIX 1.6.4 インストール
zabbix 1.6.4をインストールしてみた。
環境は'Solaris 10 10/08 x86版 + Sun Web Stack 1.4(install amp)' (・ω・)b
環境は'Solaris 10 10/08 x86版 + Sun Web Stack 1.4(install amp)' (・ω・)b
- アーカイブを展開
ダウンロードしてきたアーカイブを展開する。gzip -dc zabbix-1.6.4.tar.gz | tar xvf -
- configure
configureでMakefileを作成./configure --enable-agent --enable-server --with-net-snmp -- with-pgsql
- コンパイル
gmake
- インストール
gmake install
- PostgreSQLへのデータ登録
PostgreSQLの管理者アカウントにsuして、createdb zabbix
としてDBMSにDBを作ってテーブル作ってデータを流し込む。
cat <展開したディレクトリ>/create/schema/postgresql.sql | psql zabbix
cat <展開したディレクトリ>/create/data/data.sql | psql zabbix
cat <展開したディレクトリ>/create/data/images_pgsql.sql | psql zabbix
本来であれば、PostgreSQLのユーザー'zabbix'も作って、このDBへのアクセス権も制限して…ってやるのであろうが、とりあえず省略ヾ(--;)ぉぃぉぃ - ZABBIXサーバの起動
/etc/zabbix/zabbix_server.confをいじってから/usr/local/sbin/zabbix_server
- ZABBIXエージェントデーモンの起動
/etc/zabbix/zabbix_agentd.confをいじってから/usr/local/sbin/zabbix_agentd
- 自動起動の設定
本当はここで/etc/init.dに起動スクリプトを作成して/etc/rc3.dあたりにリンクを張って…ってやるのであろうが、とりあえずパスヾ(--;)ぉぃぉぃ - インターフェイスの公開
ZABBIXのインターフェイスはPHPで書かれたWebアプリケーションなので、展開したディレクトリ内のfrontends/phpの中身をごっそりApache2.2が公開するディレクトリにコピー。 - インターフェイスの設定
コピーしたディレクトリにブラウザを使ってアクセスすると、いろいろ親切に教えてくれるので、それに従って適当に調整する。
2009年4月6日月曜日
GLPIインストール
GLPI version 0.71.5をインストールしてみた。
環境は'Solaris 10 10/08 x86版 + Sun Web Stack 1.4(install amp)' (・ω・)b
こっちはあっさり動作した(*^-^)
今のバージョンは日本語表示にも対応しているし、日本語の入力も問題ない。
が、PDFで出力する機能を使うと文字化けする。
たぶん、1バイトフォントしか指定されていないからだと思う。
あと、CSVで出力する機能もあるが、こっちも直接Excelで開いてしまうと文字化けするが、一旦保存して、UTF-8として開けば問題ない。
あとは運用だな。
環境は'Solaris 10 10/08 x86版 + Sun Web Stack 1.4(install amp)' (・ω・)b
- アーカイブを展開
ダウンロードしてきたアーカイブを展開する。gzip -dc glpi-0.71.5.tar.gz | tar xvf -
- MySQL設定
MySQLに新規のデータベース'glpi'を追加し、ユーザー'glpi'に権限を与える。 - 公開
展開したPHPのソースをApacheで公開できるディレクトリに丸ごとコピー。
続いてコピーしたディレクトリの中にあるconfigとfilesの二つのディレクトリにApache起動ユーザーからの書き込み権限を与える。 - GLPI設定
ブラウザでコピーしたディレクトリにアクセスし、表示される情報に従って進める。
こっちはあっさり動作した(*^-^)
今のバージョンは日本語表示にも対応しているし、日本語の入力も問題ない。
が、PDFで出力する機能を使うと文字化けする。
たぶん、1バイトフォントしか指定されていないからだと思う。
あと、CSVで出力する機能もあるが、こっちも直接Excelで開いてしまうと文字化けするが、一旦保存して、UTF-8として開けば問題ない。
あとは運用だな。
2009年4月3日金曜日
ZABBIX 1.4.6 インストール
zabbix 1.4.6をインストールしてみた。
正確にはインストールしようとしてみた(^^;)
環境は'Solaris 10 10/08 x86版 + Sun Web Stack 1.4(install amp)' (・ω・)b
が、コンパイルでこけた( ̄▽ ̄;)
どうも複数のバージョンのMySQLがいて、configureでどれを参照するか指定しているのに、別のバージョンのヘッダファイルを参照するようになっていることが原因らしい。
強引にMakefileのCFLAGSに-Iでlibmysqlclient.soのありかを指定してコンパイルしても、lddで確認すると、別バージョンを参照するようになっている。
…自分の今の知識では、参照先を変更する方法がわからないので、とりあえず放置ヾ(--;)ぉぃぉぃ
正確にはインストールしようとしてみた(^^;)
環境は'Solaris 10 10/08 x86版 + Sun Web Stack 1.4(install amp)' (・ω・)b
- アーカイブを展開
ダウンロードしてきたアーカイブを展開する。gzip -dc zabbix-1.4.6.tar.gz | tar xvf -
- configure
configureでMakefileを作成./configure --enable-agent --enable-server --with-net-snmp\
-- with-mysql=/opt/webstack/mysql/lib/mysql/libmysqlclient.so - コンパイル
gmake
以上。
が、コンパイルでこけた( ̄▽ ̄;)
どうも複数のバージョンのMySQLがいて、configureでどれを参照するか指定しているのに、別のバージョンのヘッダファイルを参照するようになっていることが原因らしい。
強引にMakefileのCFLAGSに-Iでlibmysqlclient.soのありかを指定してコンパイルしても、lddで確認すると、別バージョンを参照するようになっている。
…自分の今の知識では、参照先を変更する方法がわからないので、とりあえず放置ヾ(--;)ぉぃぉぃ
2009年3月7日土曜日
SolarisをDVDからネットワーク経由でインストールするには
Solaris10をDVD-ROMからインストールしたいが、インストール先のホストがDVDを読めない(ドライブがない、あるいはCD-ROMしか読めない)場合、手に入れたSolaris10のインストールDVDを使って、リモートで行う。
LANケーブルを抜けないサーバだが、さて、どうしたものか(-_-;
- DVD-ROMをリモートホストでマウント
DVDドライブを提供するサーバで、DVDをマウントする。mount -F nsfs /dev/dsk/cXtXdXsX /cdrom
(デバイス名とマウントポイントは適宜変更)とし、マウントする。 - サーバにSolarisをインストールするノードのホスト名とIPアドレスを登録
/etc/hostsに記述する。 - サーバにSolarisをインストールするノードのホスト名とMACアドレスを登録
/etc/ethersに記述する。 - サーバ側のプログラムをいくつか起動
と言っても、スクリプトで自動でやってくれる。cd
ここで、ホスト名にはインストール対象のホスト名を、プラットフォームグループには、そのホストで実行した`uname -m`を入れる。/Solaris_10/Tools
./add_install_client <ホスト名> <プラットフォームグループ>
エラーが出なければ、大丈夫だと思う。 - クライアントを起動する
このとき、サーバと同一セグメントに接続しておくこと。
OSが起動し始めたら、一旦ブレーク信号やStop+Aで止める。
その後、{ok}プロンプトでboot net
とする。 - Solarisをインストール
うまくいけば、インストール対象のホストがネットワーク経由で起動し、Solarisのインストーラが起動するので、続けて作業する。 - DVD-ROMの取り出し
インストールが終わったら、サーバで./rm_install_client <ホスト名>
とする。
cd /
eject /cdrom
LANケーブルを抜けないサーバだが、さて、どうしたものか(-_-;
2008年11月4日火曜日
Solaris9にファイル名に'@'を含むファイルをFTPで転送するには
Solaris9のFTPDは、標準設定では、英数、'.'、'_'、'-'しかファイル名として受け付けない。
また、'@'はファイルシステム的には使えるが、bashではタブ補完のときにバックスラッシュでエスケープされるので、推奨されないのだろう。
だが、訳あって通さないといけなくなったので、その設定を行う。
というわけで、/etc/ftpd/ftpaccessを編集する。
path-filterの行の第4項
ここで、変なところに挿入すると違う意味になる場合があるので注意。
ftpdはinetdから起動しているので、再起動の必要はなし。
また、'@'はファイルシステム的には使えるが、bashではタブ補完のときにバックスラッシュでエスケープされるので、推奨されないのだろう。
だが、訳あって通さないといけなくなったので、その設定を行う。
というわけで、/etc/ftpd/ftpaccessを編集する。
path-filterの行の第4項
^[[:alnum:]._-]*$を
^[[:alnum:].@_-]*$に変更する。
ここで、変なところに挿入すると違う意味になる場合があるので注意。
ftpdはinetdから起動しているので、再起動の必要はなし。
UNIXで古いファイルを検索するには
findを使用。
例えば/home/hoge内の10日以上経過したファイルを検索するには、
これを付けないと、指定した日数だけ経過したファイルを検索するので、それより古いファイルが対象外になってしまう。
また、対象ディレクトリ内にあるサブディレクトリ内も検索対象になるので注意。
これを踏まえて、検索したファイルの詳細情報を表示するには、
で、恐らく
以上、(rm以外は)Solaris9で確認。
find <検索対象ディレクトリ> -mtime +<経過日数>とすればよい。
例えば/home/hoge内の10日以上経過したファイルを検索するには、
find /home/hoge -mtime +10上記の記述の中で'+'の記号は必須。
これを付けないと、指定した日数だけ経過したファイルを検索するので、それより古いファイルが対象外になってしまう。
また、対象ディレクトリ内にあるサブディレクトリ内も検索対象になるので注意。
これを踏まえて、検索したファイルの詳細情報を表示するには、
ls -l `find <検索対象ディレクトリ> -mtime +<経過日数>`とする。
で、恐らく
rm -rf `find <検索対象ディレクトリ> -mtime +<経過日数>`とすれば対象ファイルを削除できるが、面倒なので未検証(^^;)
以上、(rm以外は)Solaris9で確認。
2008年10月2日木曜日
あるユーザーが起動しているプロセスのPIDを全て得るには
あるユーザーが起動しているプロセスのPIDを全て得るには、
とすればよい。
ついでに、
で、得たPID全てに終了シグナルを送る。
以上、Solaris 9で確認。
ps -ef | grep ユーザー名 | grep -v grep | awk '{print $2}'
とすればよい。
ついでに、
for pid in `ps -ef | grep ユーザー名 | grep -v grep | awk '{print $2}'` ; do kill $pid ; done
で、得たPID全てに終了シグナルを送る。
以上、Solaris 9で確認。
登録:
投稿 (Atom)
