CentOSインストール構成zabbixクライアント


centosでは依存パッケージは見つかりませんでしたが、zabbixをコンパイルするには、gccとmakeを使用してコンパイルする必要があります.インストールされていない場合は、先に実行する必要があります.yum install gcc make
zabbixをダウンロードし、解凍後のディレクトリに入り、インストールを実行します.
#./configure --enable-agent
 
zabbixユーザーの追加
#useradd -s/sbin/nologin -d/dev/null zabbix
プロファイルのコピー
#mkdir/etc/zabbix
#cp misc/conf/zabbix_agentd.conf/etc/zabbix
 
変更/etc/zabbix/zabbix_agentd.confの2つのパラメータ、その他はデフォルトを使用します
Server:zabbixサーバーのIPアドレスに変更
Hostname:自機のマシン名に変更
 
zabbixクライアントの起動
#zabbix_agentd
ポートが正常に起動したかどうかを確認
#netstat -an | grep 10050
 
サーバ側での接続のテスト
#zabbix_get -s 192.168.1.12 -k "agent.version"
1.8.5を返します.クライアントが正常に起動したことを示します.
 
zabbixの自己起動の構成
#cp misc/init.d/redhat/8.0/zabbix_agentd/etc/rc.d/init.d
変更/etc/rc.d/init.d/zabbix_Agentd、デフォルトzabbix_Agentdディレクトリはzabbix/binの下にあります.ここでは、次のように変更する必要があります.
progdir="/usr/local/sbin/"
完全なスクリプトは次のとおりです.
   
   
   
   
  1. #!/bin/bash  
  2. #  
  3. # chkconfig: - 55 45  
  4. # description: zabbix_agentd  
  5. # probe: false  
  6.  
  7. # Source function library.  
  8. . /etc/rc.d/init.d/functions  
  9.  
  10. # Source networking configuration.  
  11. . /etc/sysconfig/network  
  12.  
  13. # Check that networking is up. If you are running without a network, comment this out.  
  14. [ "${NETWORKING}" = "no" ] && exit 0  
  15.  
  16. RETVAL=0 
  17. progdir="/usr/local/sbin/" 
  18. prog="zabbix_agentd" 
  19.  
  20. start() {  
  21.         # Start daemons.  
  22.         if [ -n "`/sbin/pidof $prog`" ]; then  
  23.                 echo -n "$prog: already running"  
  24.                 failure $"$prog start"  
  25.                 echo  
  26.                 return 1  
  27.         fi  
  28.         echo -n $"Starting $prog: "  
  29.         # we can't seem to use daemon here - emulate its functionality  
  30.         su -c $progdir$prog - $USER  
  31.         RETVAL=$?  
  32.         usleep 100000  
  33.         if [ -z "`/sbin/pidof $progdir$prog`" ]; then  
  34.                 # The child processes have died after fork()ing, e.g.  
  35.                 # because of a broken config file  
  36.                 RETVAL=1 
  37.         fi  
  38.         [ $RETVAL -ne 0 ] && failure $"$prog startup"  
  39.         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog && success $"$prog startup"  
  40.         echo  
  41.         return $RETVAL  
  42. }  
  43. stop() {  
  44.         RETVAL=0 
  45.         pid=  
  46.         # Stop daemons.  
  47.         echo -n $"Stopping $prog: "  
  48.         pid=`/sbin/pidof -s $prog`  
  49.         if [ -n "$pid" ]; then  
  50.          kill -TERM $pid  
  51.         else  
  52.          failure $"$prog stop"  
  53.          echo  
  54.          return 1  
  55.         fi  
  56.         RETVAL=$?  
  57.         [ $RETVAL -ne 0 ] && failure $"$prog stop"  
  58.         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog && success $"$prog stop"  
  59.         echo  
  60.         return $RETVAL  
  61. }  
  62. restart() {  
  63.         stop  
  64. # wait for forked daemons to die  
  65.         usleep 1000000  
  66.         start  
  67. }  
  68.  
  69. # See how we were called.  
  70. case "$1" in  
  71.         start)  
  72.                 start  
  73.                 ;;  
  74.         stop)  
  75.                 stop  
  76.                 ;;  
  77.         restart)  
  78.                 restart  
  79.                 ;;  
  80.         condrestart)  
  81.                 [ -f /var/lock/subsys/$prog ] && restart  
  82.                 ;;  
  83.         *)  
  84.                 echo $"Usage: $0 {start|stop|restart|condrestart}"  
  85.                 exit 1  
  86. esac  
  87.  
  88. exit $?  

 
テスト:
#service zabbix_agentd restart
 
自己起動への参加
#chkconfig --add zabbix_agentd
#chkconfig zabbix_agentd on
 
 
 
 
 
 
chkconfig使用説明(http://blog.csdn.net/youyu_buzai/article/details/3956845):
 
機能説明:システムの各種サービスをチェック、設定します.
構文:chkconfig[--add][--del][--list][システムサービス]またはchkconfig[--level][システムサービス][on/off/reset]
補足:これはredhat社がgplルールに従って開発したプログラムで、オペレーティングシステムが各実行レベル(runlevel)で、様々なdaemonを含むシステムサービスを実行するかどうかを問い合わせることができます.
linux osは、操作環境を以下の7つのレベルに分けます.
0:起動(このレベルに切り替えないでください)1:シングルユーザモードの文字インタフェース2:マルチユーザモードの文字インタフェース2:ネットワークアーカイブシステム(NFS)機能を持たない3:マルチユーザモードの文字インタフェースネットワークアーカイブシステム(NFS)機能を持つ4:一部のリリース版のlinuxこのレベルを使用してx windows system 5:一部のリリース版のlinuxこのレベルを使用してx windows system 6:再起動
パラメータ:--add指定したシステムサービスを追加--del指定したシステムサービスを削除--level指定したシステムサービスがどの実行レベルでオンまたはオフになるか--listはchkconfig命令管理から現在使用可能なすべてのシステムサービスとレベル番号on/off/resetが指定した実行登録をリストします.システムサービスのオン/オフ/リセット
chkconfigコマンドは、主にシステムサービスの実行レベル情報を更新(起動または停止)し、クエリーするために使用されます.chkconfigは、すぐにサービスを自動的に禁止またはアクティブにするのではなく、シンボル接続を簡単に変更しただけであることを覚えておいてください.
構文:
    chkconfig --list [name]     chkconfig --add name     chkconfig --del name     chkconfig [--level levels] name     chkconfig [--level levels] name
chkconfigがパラメータなしで実行された場合、使用法が表示されます.サービス名を付けると、このサービスが現在の実行レベルで開始されているかどうかを確認します.もしそうであればtrueを返します.そうでなければfalseを返します.サービス名の後ろにon,offまたはresetが指定されている場合、chkconfiは指定されたサービスの起動情報を変更します.onとoffはそれぞれサービスが起動され停止されることを指し、resetは問題のある初期化スクリプトが何を指定してもサービスの起動情報をリセットすることを指す.onスイッチとoffスイッチは、デフォルトでは運転レベル3,4,5にのみ有効ですが、resetはすべての運転レベルに有効です.
--levelオプションでは、現在の実行レベルではなく、表示する実行レベルを指定できます.
なお、実行レベルごとに起動スクリプトまたは停止スクリプトは1つしかありません.実行レベルを切り替えると、initは起動したサービスを再起動したり、停止したサービスを再停止したりしません.
chkconfig--list:すべての実行レベルのシステムサービスの実行状態情報(onまたはoff)が表示されます.nameが指定されている場合、指定されたサービスが異なる実行レベルにある状態のみが表示されます.
chkconfig--add name:新しいサービスを追加します.chkconfigは、各運転レベルに起動(S)または殺害(K)エントリがあることを保証する.欠落している場合は、デフォルトのinitスクリプトから自動的に作成されます.
chkconfig--del name:サービスを削除し、/etc/rc[0-6]から関連記号を接続します.d削除する.
chkconfig[--level levels]name:指定した実行レベルでサービスが起動されるか、停止するか、リセットされるかを設定します.たとえば、3、4、5の実行レベルでnfsサービスを停止するには、次のコマンドを実行します.
    chkconfig --level 345 nfs off
実行レベルファイル:
chkconfigによって管理されるサービスごとに対応するinitが必要である.d下のスクリプトに2行以上のコメントを追加します.最初の行は、chkconfigのデフォルト起動の実行レベルと起動と停止の優先度を示します.サービスがデフォルトで実行レベルで開始されない場合は、-実行レベルの代わりに使用します.2行目は、サービスについて説明します.例えばrandom.initは3行:#chkconfig:2345 20 80#description:Saves and restores system entropy pool for/#higher quality random number generationを含む.
Linuxシステムの運行レベルの概念を紹介します:Linuxの中で多種の運行レベルがあって、よくあるのはマルチユーザーの2,3,4,5で、多くの人は5がX-Windowsを運行するレベルであることを知っていて、0はシャットダウンしました.実行レベルの変更はinitコマンドで切り替えることができます.たとえば、システムを単一ユーザ状態に維持する場合は、init 1を使用して切り替えることができます.Linuxの運転レベルの切り替え中、システムは自動的に対応する運転レベルのディレクトリ/etc/rc[0-6]を探す.dの下のKとSの先頭のファイルは,後の数字順にこれらのスクリプトを実行する.これらのスクリプトのメンテナンスは、Linuxがchkconfigコマンドを提供し、異なる実行レベルのシステムサービスを更新およびクエリーします.
例:
1.様々な実行レベルにおける各サービスの状況を表示する:$chkconfig--list
2.システムサービスvsftpdの各実行レベルでの起動状況をリストする:$chkconfig--list vsftpd
3.レベル3,5の実行時に、vsftpdシステムサービスを終了する:$chkconfig--level 35 vsftpd off
4.レベル2,3,5を実行すると、vsftpdシステムサービス:$chkconfig--level 235 vsftpd onをオンにします.
5.不要なサービスをオフにする->プリンタがない場合:chkconfig--level 235 cups offローカルエリアネットワークがない場合:chkconfig--level 235 smb offリモートユーザーログインが必要ない場合:chkconfig--level 235 sshd offタイミングタスクが必要ない場合:chkconfig--level 235 crond off新しいハードウェアを追加する必要がない場合:chkconfig--level 235 kudzuoff