Nagios 4.x

サーバー運用がかなり厳しいので寄付をしてくれる人がいたらこちら
メインPCもボロボロになってきたので、ついにほしいものリスト公開

とりあえず作成

最近はもうめんどくなってきたからこの鯖もそろそろ終焉の時かなと

Nagiosももう過去の遺物と化してるのかねぇ。

某所でnagios-plugins-allを持っていくみたいな記載がありますが、
このパッケージだけダウンロードして入れようとしても
依存関係で全部持ってこないと入りません。

というかこのパッケージはyum/dnf用の物なので単体では意味をなさないということですね。はい

最近はNagiosを触ることがめっきりなくなったので、最新バージョン出てもすぐに対応できないことがあるので
早く欲しいという人はここのコメントなり書いておくと気づきやすいかもしれません

4.3.2のパッチがとりあえず完成したので、公開でござる
ソースにパッチあててコンパイル完了までは確認してあります
http://ftp.momo-i.org/pub/security/nagios/patches/nagios-jp-4.3.2.patch.gzからどうぞ
rpmの作成までは確認してるので、とりあえず動くとは思うのです
http://ftp.momo-i.org/pub/rpms/ から適当に持っていくか、
mom-i-reposのrpmインストールしてyumでやるかはご自由にどうぞ。
yumの場合はRHEL(CentOS)6/7及びFedora24/25/26のみ対応してます
ご意見がある方はコメントに適当に投げておいてくださいな
ソースの管理をgit+redmineでやるようにしました。ここでのコメントのやり取りを
こちらからチケットで管理しましょうか。
4.3の日本語情報皆無なのでそろそろ情報掲載しますか
設定系はチケット管理のWiki使ってやりますかね。

日本語化以外の本家との差分は次の通りです

  • グラフの日本語化(GD関係と設定回り) 4.1系からマップ系がGD使わないのに変わってるらしい(旧版もまだあるにはある)のでそのうちなくなるかも
  • pluginとして日本語化メール送信機能をphpファイルで実装(rpmのみnagios-plugins-notifyで提供)
  • css内のfont-familyを修正してメイリオとMS Pゴシックを追加
  • OS起動時に自動で開始されない問題の修正(daemon-initへDefault-StartとDefault-Stopを追加)
  • RHEL7/Fedora系パッケージのみsystemd対応
  • 本家の更新が来たら日本語化パッチもそのバージョンがあるかチェックする(ネット接続環境のみ有効)4.2.0からなくなりました。そのうちどっかのクラウドにでも見に行くようにしますかね

設定やらなんやらは他サイトにいっぱい情報あると思うので、そのうちね。
Nagiosqlも更新ないし、Nagios4.x対応版として勝手にフォークしちゃうかな。

↑の日本語メール送信のためのスクリプトはこんな感じ

#!/usr/bin/php
<?php
 
require_once 'Swift/swift_required.php';
 
/**
使い方
 
/usr/lib64/nagios/plugins/notify.php $CONTACTEMAIL$ "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$ ($HOSTNAME$)/$SERVICEDESC$ is $SERVICESTATE$ **" "***** Nagios *****\n\nType   : $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost   : $HOSTALIAS$ ($HOSTNAME$)\nAddress: $HOSTADDRESS$\nState  : $SERVICESTATE$\nDate   : $SHORTDATETIME$\nInfo   : $SERVICEOUTPUT$\nCOUNT  : $NOTIFICATIONNUMBER$\nURL    : http://localhost/nagios/\n\n" $CONTACTEMAIL$
*/
 
$to      = $argv[1];
$subj    = $argv[2];
$body    = $argv[3];
$from    = $argv[4];
$headers = "";
 
$body = preg_replace('@\\\n@', "\n", $body);
 
Swift::init(function () {
        Swift_DependencyContainer::getInstance()
        ->register('mime.qpheaderencoder')
        ->asAliasOf('mime.base64headerencoder');
        Swift_Preferences::getInstance()->setCharset('iso-2022-jp');
});
 
$message = Swift_Message::newInstance()
        ->setSubject($subj)
        ->setFrom($from)
        ->setTo($to)
        ->setBody($body);
 
$headers = $message->getHeaders();
$headers->addTextHeader('X-Nagios-Checker', '1.0');
 
$mailer = Swift_MailTransport::newInstance();
$mailer->send($message);

Swift Mailerを使ってるので、必要であればダウンロードして適宜展開しておいてください。

yum/dnfでインストールしてる人はnagios-plugins-notifyをインストールすると幸せになれるかもしれません?

パッチのみダウンロードしてsystemd使ってる方は以下を使うと幸せになれるかもしれません

/etc/systemd/system/nagios.service

[Unit]
Description=Nagios network monitor
After=network.target
 
[Service]
Type=forking
PIDFile=/var/run/nagios/nagios.pid
ExecStartPre=/usr/sbin/nagios -v /etc/nagios/nagios.cfg
ExecStartPre=/usr/libexec/nagios/ramdisk start
ExecStart=/usr/sbin/nagios -d /etc/nagios/nagios.cfg
ExecReload=/bin/kill -HUP $MAINPID
ExecStopPost=/usr/libexec/nagios/ramdisk stop
 
[Install]
WantedBy=multi-user.target

/usr/libexec/nagios/ramdisk

#!/bin/sh
 
if test -f /etc/sysconfig/nagios; then
    . /etc/sysconfig/nagios
fi
 
start() {
        # Automate addition of RAMDISK based on environment variables
        USE_RAMDISK=${USE_RAMDISK:-0}
        if test "$USE_RAMDISK" -ne 0 && test "$RAMDISK_SIZE"X != "X"; then
                ramdisk=`mount |grep "${RAMDISK_DIR} type tmpfs"`
                if [ "$ramdisk"X == "X" ]; then
                        mkdir -p -m 0755 ${RAMDISK_DIR}
                        mount -t tmpfs -o size=${RAMDISK_SIZE}m tmpfs ${RAMDISK_DIR}
                        mkdir -p -m 0755 ${RAMDISK_DIR}/{cmd,checkresults,rw}
                        chown -R nagios:nagios ${RAMDISK_DIR}
                fi
        fi
}
 
stop() {
        USE_RAMDISK=${USE_RAMDISK:-0}
        if test "$USE_RAMDISK" -ne 0 && test "$RAMDISK_SIZE"X != "X"; then
                ramdisk=`mount |grep "${RAMDISK_DIR} type tmpfs"`
                if [ "$ramdisk"X != "X" ]; then
                        umount -f ${RAMDISK_DIR}
                fi
        fi
}
 
case "$1" in
        start)
                start
        ;;
        stop)
                stop
        ;;
        *)
                echo $"Usage: $0 {start|stop}"
                exit 1
        ;;
esac
 
exit 0

/etc/tmpfiles.d/nagios.conf

D /var/run/nagios 0755 nagios nagios -

コメント

こんにちは。Nagios 3.Xの頃からお世話になってます。
いつの間にか4.0.8まで出ていたようでアップデートしてみたのですが、ホーム画面がまっさらでした。
調べてみたらpatch.inc.php内でPHP5.4からサポートされた配列の短縮構文が使われているのが原因のようです。
未だにPHP5.1.6を使っていますが、Nagios自体は問題なく動作するようなので、できれば下位互換性のあるarray()構文でパッチを配布していただけるとうれしいです。
https://gist.github.com/anonymous/2d860bd1c06244578c68

へっぽこ翻訳の日本語パッチご利用いただき有り難うございます。 arrayへ修正したものに差し替えてありますので、2014/8/22 17:00以降のダウンロードからは問題なく動くようになってると思います。

修正版ありがとうございました。
もう1点、気付いていたのにパッチに含めるのを忘れていました…
気が向いたときにでも修正していただけるとうれしいです。
https://gist.github.com/anonymous/30a44a3528dcdee56df5

ダウンタイムのスケジュール追加などで日本語コメントを入力して登録するとイベントログ画面が途中で途切れる問題が見つかりました。
cgi/cgiutils.c内のhtml_encodeでUTF-8対応しているところに問題がある(yが初期化されていない等)ようです。

gitログを眺めてみたら以下のあたりで既にマルチバイト文字に対応しているようなので、追加の処理は不要な気がしましたがいかがでしょうか?
 https://github.com/NagiosEnterprises/nagioscore/commit/995598e8497fc84ab...
とりあえず以下のようにパッチから該当箇所をすべて削除したら問題なく動作しているようでした。
 https://gist.github.com/anonymous/2ea23e4f8857d088b38f

ご指摘ありがとうございます! 3.0.1をベースにとりあえず日本語化ということしかしていないので 大変ありがたいです。 また不具合などあればご指摘いただければ可能な限り迅速に修正したいと思います。

さらにいくつか対応漏らしき箇所を見つけたのでご報告します。
現在公開されている日本語化パッチを当てた後の追加パッチです。
 https://gist.github.com/anonymous/559ddaf5c1d237cd20f8
side.phpの内容は08/28に報告していたものですが、取り込まれていないようでしたのでご確認くださいm(_ _)m

いつもご報告ありがとうございます! 最近日本語化パッチ作ってもインストールまでしか動かしてないので漏れが有ってもなかなか対応ができずに申し訳ないです。

Nagios-JPプロジェクトは3系で更新停止してしまっていますし、こちらのサーバーで公開していただけているだけで十分ありがたいです(^-^)
ちなみにGitHubでnagioscoreをフォークし、日本語化対応ブランチを作ってパッチを当てたり動作確認したりしていましたが、そのブランチをGitHubで公開しても問題ないでしょうか?
…と言っても今後もメンテし続ける自信はないので、基本的には個人的に使うだけだと思いますが…(^^;

そもそもこのパッチも勝手に本家(?)の日本語化をやってるだけなので大丈夫だと思いますよ。

単純な日本語化だけでなく、こちらのサーバーにパッチのアップデートをチェックしにくるコードも含まれているようだったので、私のGitHubアカウントで公開するのもまずいかな~と思いまして…。
git+redmineで管理することになったようなので、しばらくはそちらの様子を見させていただくことにします(^-^)

Nagiosの日本語化をありがたく使わせて頂いております。

momo-i-repos-0.2-8.el7.noarch.rpm の baseurl=https ではなく httpでしょうか。

細かいところで申し訳ございません

といっても自前のCA証明書なので、問題があればhttpになおしてsslcacertの行を消してもらえればhttpで接続もできるようになってるので、お好みで変更してください。

こちらでいいのかわからないですが、いつも利用させていただいております。
4.2.2対応版の更新ありがとうございます!
ここで日本語化が提供いただける間は、nagiosと共に過ごそうと思います(笑

Ver4.2.2のパッチですが、4.2.2で修正された「クイック検索」実行時の結果が表示されない問題に対応されていない気がします。
「status.c」がちょっと違うのかもしれません。
お時間あるときに、ご確認いただければと思います。

確認したところ1971行目付近のパッチが抜けていたので修正しました。 ただし、動作は未確認です。

Ubuntuでちょっと特殊な使い方かもしれませんが、ちゃんと検索されることを確認いたしました。
お忙しい中、素早いご対応ありがとうございます。
重ねて、最新版のご提供いつもありがとうございます!

いつも素早いご提供ありがとうございます。ありがたく利用させていただきます。

コメントを追加

Plain text

  • HTMLタグは利用できません。
  • ウェブページアドレスとメールアドレスは、自動的にハイパーリンクに変換されます。
  • 行と段落は自動的に折り返されます。
CAPTCHA
また変更しました
Fill in the blank.