ライブラリ等を簡単に入れられない環境などで、zabbix-agentを動かすためにstatic-link版のバイナリを作成できる。
./configure --enable-static --enable-agent --prefix=/usr/local/zabbix
「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。
ライブラリ等を簡単に入れられない環境などで、zabbix-agentを動かすためにstatic-link版のバイナリを作成できる。
./configure --enable-static --enable-agent --prefix=/usr/local/zabbix
デフォルトのyumレポジトリにないからといって、ソースでインストールしたりとか、パッケージ作ったりとかしてる人が多かった。
意外と知らない人が多くてびっくりしたので、yumでかなり多くのパッケージをインストールできるレポジトリの追加方法を書いておく。
使い方はレポジトリを登録後、下記コマンド。
# yum –enablerepo=rpmfoge install syslog-ng
レポジトリ登録方法は以下。
オープンソースとしてのログビューワーってあんまりいいものが内が、ようやくまともなsyslogビューワーが出てきたので早速いれてみた。
複数のサーバーからsyslogサーバーにsyslog-ngを用いて集中管理し、それらをビューワーで見るという使い方。
URLに変数などを仕込むことで、任意の期間の任意のホストのログだけを見るってこともできるので、障害時などのアラートとしてURLを送るなどの使い方もできる。
logzillaのインストールと設定系の日本語のドキュメントは全くないので、ここに書いておく。
syslog-ngがインストールされている前提での手順。
説明するまでもない、次世代の統合監視を担うオープンソースの代表格であるZabbix。ちょっと調査をする必要があったので、色々APIを試したりしていたときに発見した現象。
同時にZabbixAPIを叩きに行ったさいに、apacheとMySQLが高負荷状態に。その状態でWEBブラウザから他のクライアントがログインを試みてもタイムアウトになる。なんだーなんだーと思って調査してみたら、ログイン時にログを残す時のログID取得処理でバグがあった。
調査の内容は以下。
例えば、APIのクライアントから同時にZabbixAPIを叩きにいくと(zabbix-host-status-test.plは自分自身の監視を有効化したり無効化したりするスクリプト)
./zabbix-host-status-test.pl -m on & ./zabbix-host-status-test.pl -m on &
すると、API側のapache+mysqlがループに入り高負荷になる。
■ realpath_for_fs() [Download]
・シンボリックリンクを含んだ絶対パスを安全にrealpathに変換
しばしば、シンボリックリンクを含んだ絶対パスをシンボリックリンクを含まない絶対パス(realpath)としてみたい場合がある。
特に、apacheモジュールを実装する上で、apacheはシンボリックリンクをrealpathに解析した上で、Directiveを見てくれないため、realpathでDirectiveを書いていても、シンボリックリンク経由でアクセスがあった場合は、Direvtiveのパスは無視される。
パスのBaseネームがシンボリックリンクであれば、symlinksコマンド等で調べることができるが、絶対パスの途中にシンボリックリンクが含まれている場合はそう簡単には行かない。